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)(Load Balancing)をクリックします。
  2. ロードバランサーを作成(Create Load Balancer)(Create Load Balancer.)をクリックします。
  3. アプリケーションロードバランサー(Application Load Balancer)(Create)作成(Create)(Application Load Balancer)します。
  4. ステップ1:ロードバランサーを構成する(Step 1: Configure load Balancer)で、以下を指定します。
    フィールド

    セクション

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

    internet-facingを選択します。

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

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

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

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

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

ルーティングを構成する

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

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

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

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

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

  1. AWSコンソールでは、ロードバランサーの外部名の例が、ロードバランサーリストのDNS名(DNS name)列に表示されます。
  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」など、適切なアプリケーションの名前。
    パブリックドメイン(Public Domain) www.[external domain]。例:www.oag-external.com。
    グループ(Groups) 全員(Everyone)
  6. 次へ(Next)をクリックします。属性(Attributes)タブが開きます。
  7. 次へ(Next)をクリックします。ポリシー(Policies)タブが開きます。
  8. 完了([Done)] をクリックします。
  9. 新規ブラウザまたはプライベート閲覧タブを開きます。
  10. アプリケーションに関連付けられているURLを入力します。
  11. Access Gatewayサンプルヘッダーアプリページが表示されます。

関連リソース

ロードバランサーについて

Amazon Web Services(AWS)デプロイのタスク

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