Amazon Web Servicesロードバランサーを設定する

はじめに

以下を確認します:

  • Access Gateway高可用性クラスターは少なくとも1つのワーカ―で事前に構成されている。
  • 管理者ノードを含むすべてのAccess Gatewayクラスターメンバーごとに内部IPアドレスがある。
  • Access Gatewayクラスターで使用しているVPCがわかっている。
  • ロードバランサーの外部ドメインがある。例: oag-external.com。
  • 必要なレコードを作成するためのDNSサービスプロバイダーの資格情報がある。

AWS EC2ロードバランサーを構成するには:

Amazon EC2コンソールに接続する

  1. AWS EC2コンソール(https://console.aws.amazon.com/ec2/)へのブラウザを開きます。
  2. AWSコンソールにサインインします。

基本のロードバランサー設定を構成する

  1. [Load Balancers(負荷分散)]の下の[Load Balancers(ロードバランサー)]をクリックします。
  2. [Create Load Balancer(ロードバランサーを作成)]をクリックします。
  3. Application Load Balancer(アプリケーションロードバランサー)Create(作成)します。
  4. ステップ1:ロードバランサーを構成するで、以下を指定します。
    フィールド

    セクション

    Name(名前)基本構成ロードバランサーのわかりやすい名前(例:AccessGatewayLoadBalancer)。名前に使用できるのはアルファベットだけです。
    スキーム基本構成

    [internet-facing]を選択します。

    IPアドレスタイプ基本構成[IPV4]を選択します。
    ロードバランサープロトコルリスナー[HTTPS]を選択します。2番目のリスナーは追加しません。
    可用性ゾーン可用性ゾーン

    Access Gatewayノードを含むVPCごとに、使用中のすべての可用性ゾーンのチェックボックスを選択します。たとえば、us-west-1とus-west-2にノードを保有している場合、両方のゾーンのチェックボックスを選択します。

  5. [Next(次へ)]をクリックし、セキュリティ設定を構成します

セキュリティ設定を構成する

セキュリティ設定の構成には、ロードバランサーの資格証明書をリクエストすることと、構成することが含まれます。または、既存の証明書を再利用することもできます。
  1. [Configure Security Settings(セキュリティ設定を構成する)]ページの[Request a new certificate from ACM(ACMから新しい証明書をリクエストする)]をクリックします。新しいタブが開くと、[Request a Certificate wizard(証明書ウィザードをリクエストする)]が起動します。

    これは、[Configure Security Settings(セキュリティ設定を構成する)]タブが開いた状ままにしておくと便利です。別のロードバランサーの作成が必要になる場合がありますが、その場合このページに戻るのが難しい場合があります。

  2. 外部ドメインの名前を[Domain Name(ドメイン名)]フィールドに入力します。証明書には、追加の名前とDNS名を追加できます。
  3. [Next(次へ)]をクリックします。
  4. 適切なDNS検証方法(一般的にはDNS検証)を選択し、[Next(次へ)]をクリックします。
  5. 任意。いずれかの必要なタグを追加します。
  6. [Review(レビュー)]をクリックします。
  7. リクエストを確認する場合は、[Previous(前へ)]を使用してエラーを修正し、[Confirm and request(確認およびリクエスト)]をクリックします。検証が行われ、CNAMEの名前/値のペアが生成されます。
  8. 特定のドメイン名のドメイン名セクションを展開し、名前と値フィールドの値をメモします。DNSサービスプロバイダーに接続し、名前と値のペアが含まれるCNAMEレコードを追加します。 AWSによって提供された名前の値には、証明書が生成されたドメインを示す末尾のサフィックスが含まれます。ドメイン名部分がfor example_a15cab. . .8ba8。example.comの場合は、cnameレコードの定義には使われません。
  9. .example.comを使用せずに名前をホスト名フィールドにコピーして貼り付け、そのフィールドをtarget(ターゲット)にコピーします。
  10. CNAMEレコードを保存します。後から使用するためにこのタブを開いたままにします。
  11. AWSコンソールに戻ります。
  12. [Request a certificate(証明書をリクエストする)]タブで、[Continue(続ける)]をクリックします。AWSが証明書を確認します。
  13. AWSによる証明書の検証には数分かかる場合があります。その後、このタブを閉じることができます。
  14. [Configure Security Settings(セキュリティ設定を構成)]タブに戻ります。
  15. [Refresh(更新)]アイコンをクリックし、周知の証明書リストを更新します。
  16. 証明書を選択し、[次へ:Configure Security Groups(セキュリティグループを構成する)]をクリックします。

セキュリティグループを構成する

Access Gatewayクラスターと共に使用するセキュリティグループは、ロードバランサーで必要とされるよりも多い権限を保有します。次のステップでは、HTTPSのみを許可するセキュリティグループを作成する方法をデモします:
  1. [Assign a security group(セキュリティグループを割り当てる)]フィールドで、[Create a new security group(新しいセキュリティグループを作成する)]を選択します。
  2. グループの名前(例:AccessGatewayLB-SecurityGroup)を入力します。
  3. デフォルトではルールが1つ追加されます。ポート443を経由するHTTPを指定する場合はこのルールを修正します。その他のフィールドはすべてデフォルト値のままにします。
  4. [Next(次へ): Configure Routing(ルーティングを構成する)]をクリックします。

ルーティングを構成する

ルーティングは、ロードバランサー設定とヘルスチェック設定のターゲットを指定します。
  1. ターゲットグループで、以下を指定します:
    フィールド
    ターゲットグループ新規ターゲットグループ
    Name(名前)任意の適切な名前(例:AccessGatewayLB-TargetGroup)
    プロトコルHTTPS
    Port(ポート)443
  2. [Advanced(詳細設定)]セクションを展開します。
  3. 成功コードを400に指定します。

    [ヘルスチェック]セクションに戻って、さらに堅固なヘルスチェックを指定する必要があります。

  4. [次へ: Register targets(ターゲットを登録する)]をクリックします。

ターゲットを登録し、ロードバランサーを作成する

ターゲットは、ロードバランサーがやりとりするAccess Gatewayノードを示します。
  1. [Instances(インスタンス)]ペインで、Access Gatewayクラスターのメンバーを表す各ラインを選択します。これには、管理者ノードを含めることができ、すべてのワーカーノードを含める必要があります。
  2. [Add to registered(登録済みに追加する)]をクリックします。選択済みのインスタンスはすべて登録済みと表示されている必要があります。
  3. [Review(レビュー)]をクリックします。必要な変更を行う設定を調査します。
  4. [Create(作成)]をクリックし、ロードバランサーを作成します。これが終了するまでに数分かかります。

DNSサービスプロバイダーでロードバランサーを登録する

ロードバランサーをDNSに関連付けるステップは、DNSプロバイダーによって異なります。

  1. AWSコンソールでは、ロードバランサーの外部名の例が、ロードバランサーリストのDNS名列に表示されます。
  2. DNSサービスプロバイダーに接続し、AWSのロードバランサー名を外部名にマッピングするCNAMEレコードを追加します。

    例:CNAME host: www.[your external name], target: aws...com

  3. AWSコンソールに戻ります。

スティッキーセッションを有効にする

ロードバランサーはスティッキーセッションを指定する必要があります。

  1. 必要に応じて、ナビゲーションペインで、[Load Balancing(負荷分散)]に進み、[Load Balancers(ロードバランサー)]をクリックします。定義されたすべてのロードバランサーのリストが表示されます。
  2. 新規作成されたロードバランサーを選択します。
  3. [Description(説明)]タブで、[Edit stickiness(持続性を編集する)]をクリックします。持続性を編集するページが表示されます。
  4. [Enable load balancer generated cookie stickiness(ロードバランサーによって生成されたクッキーの持続性を有効にする)]を選択します。
  5. Expiration Period(有効期限)に、有効期限(秒)を入力します。このフィールドは、Access Gatewayのセッションタイムアウトフィールドと一致している必要があります。
  6. [Save(保存)]をクリックします。

テスト

ロードバランサーのテストには、ヘッダーベースのアプリケーションを使用してください。www.[external domain].comのアプリケーションがまだ存在しない場合、このセクションを完了します。

  1. Access Gateway 管理者 UI コンソールに戻るかサインインします。
  2. [Applications(アプリケーション)]タブを選択します。
  3. [Add(追加)]をクリックします。
  4. [Sample Header(サンプルヘッダー)]を選択します。
  5. [Essentials(基本情報)]タブで以下を指定します:
    フィールド
    Name(名前)「Load Balancer Header Test」など、適切なアプリケーションの名前。
    パブリックドメインwww.[external domain]。例:www.oag-external.com。
    グループ全員
  6. [Next(次へ)]をクリックします。[Attributes(属性)]タブが開きます。
  7. [Next(次へ)]をクリックします。[Policies(ポリシー)]タブが開きます。
  8. [Done(完了)] をクリックします。
  9. 新規ブラウザまたはプライベート閲覧タブを開きます。
  10. アプリケーションに関連付けられるURLを入力します。
  11. Access Gatewayサンプルヘッダーアプリページが表示されます。

関連リソース

ロードバランサー

Amazon Web Servicesデプロイメントタスク

AWSロードバランサーのヘルスモニタリングを向上させる