Amazon Web Servicesロードバランサーを構成する
項目
開始する前に
以下を確認します:
- Access Gateway高可用性クラスターが1つ以上のワーカ―で事前構成されている。
- 管理者ノードを含むすべてのAccess Gatewayクラスターメンバーの内部IP アドレスがある。
- Access GatewayクラスターによってVPCが使用されている。
- ロードバランサーの外部ドメインがある。例えば、oag-external.comなど。
- 必要なAレコードを作成するDNSサービスプロバイダーの資格情報を持っている。
AWS EC2ロードバランサーを構成するには
Amazon EC2コンソールに接続する
- ブラウザーを開き、https://console.aws.amazon.com/ec2/のAWS E2コンソールに進みます。
- AWSコンソールにサインインします。
基本的なロードバランサー設定を構成する
- 左ペインで、Load Balancing(ロードバランシング)までスクロールして展開します。
- [Load Balancers(ロードバランサー)]をクリックします。
- [Create Load Balancer(ロードバランサーの作成)]をクリックします。
- [Application Load Balancer(アプリケーション ロードバランサー)]で、 [Create(作成)]をクリックします。
- Step 1: Configure load Balancer(手順1:ロードバランサーの構成)で、以下を指定します:
フィールド セクション
値 Name(名前) 基本の構成
「AccessGatewayLoadBalancer」などの適切な名前。名前はスペースなしのアルファベットのみを使用できます。 Scheme(スキーム)
基本の構成
internet-facingが選択されていることを確認します。
IP address type(IPアドレスのタイプ)
基本の構成
IPV4が選択されていることを確認します。
Load Balancer Protocol(ロードバランサーのプロトコル) リスナー
HTTPSを選択します。第2リスナーを追加しないこと。 Availability Zones(利用可能なゾーン) 利用可能なゾーン
Access Gatewayノードを含むVPC に対し、使用中のAvailability Zone(利用可能なゾーン)すべてのチェックボックスを選択します。例えば、ノードがus-west-1とus-west-2の両方にある場合、両方のエントリを選択します。 - [Next: Configure Security Settings(次の手順:セキュリティ設定を構成する)]をクリックします。
セキュリティ設定を構成する
セキュリティ設定にはロードバランサーの証明書のリクエストと構成が含まれます。
既存の証明書を再使用することもできます。
- [Configure Security Settings(セキュリティ設定)]ページで、[Request a new certificate from ACM(ACMから新しい証明書を要求する)]をクリックします。新しいタブが開き、[Request a Certificate(証明書のリクエスト)]ウィザードが開始します。
注意
[Configure Security Settings(セキュリティ設定を構成する)]タブは開いたままにしておきます。この画面に戻るのは難しいため、場合によっては新規ロードバランサーを作成する必要があります。
- [Domain Name(ドメイン名)]フィールドに外部ドメインの名前を入力します。また、他の名前やDNS 名を証明書に追加することもできます。
- [Next(次へ)]をクリックします。
- 適切なDNS 検証方式(通常はDNS Validation)を選択し、[Next(次へ)]をクリックします。
- 必要に応じてタグを追加するか、[Review(確認)]をクリックします。
- リクエストを確認し、[Previous(前へ)]を使用してエラーを修正し、[Confirm and request(確定および要求)]をクリックします。 検証が実施され、 CNAME の名前/値のペアが生成されます。
- 所定のドメイン名に対してドメイン名のセクションを展開し、名前と値のフィールド値をメモします。
- DNS サービスプロバイダーに接続して値と値のペアを含む新規CNAME レコードを追加します。
メモ:AWSによって提供される名前の値には、証明書が生成されたドメインを表すサフィックスが末尾に含まれます。cnameレコードを定義する際にはドメイン名の一部(
_a15cab. . .8ba8.example.comなど)は使用されません。 - .example.comを除いた名前をhostnameフィールドにコピー・アンド・ペーストし、valueフィールドの値をtargetにコピーします。
- CNAME レコードを保存します。このタブは後で使用するために開いておきます。
- AWS コンソールに戻ります。
- [Request a certificate(証明書のリクエスト)]タブで、[Continue(続行)]をクリックします。AWSが証明書を確認します。
- 証明書の検証が完了したら、このタブを閉じても構いません。
メモ:様々な要因によって、証明書をAWS内で確認する際に数分かかる場合があります。 - [Configure Security Settings(セキュリティ設定を構成する)]タブに戻ります。
- [Certificate name(証明書の名前)]ドロップダウンの横にあるリフレッシュアイコンを使用して、既知の証明書リストをリフレッシュします。
- 新規作成した証明書を選択して[Next: Configure Security Groups(次の手順:セキュリティグループを構成する)]をクリックします。
セキュリティグループを構成する
Access Gatewayクラスターで使用されるセキュリティグループは、ロードバランサーで要求されるものより寛容です。この手順では、HTTPSのみを許容するセキュリティグループを作成します。
- [Assign a security group(セキュリティグループの割り当て)]フィールドで、[Create a new security groups(新しいセキュリティグループの作成)]を選択します。
- 「AccessGatewayLB-SecurityGroup」などの適切な名前を指定します。
- デフォルトで 単一の規則が追加されます。このルールを変更し、HTTP over port 443を指定します。
他のすべてのフィールドはデフォルト値のままにしておきます。 - [Next: Configure Routing(次の手順:ルーティングを構成する)]をクリックします。
ルーティングを構成する
ルーティングはロードバランサーのターゲットと正常性チェックの設定を指定します。
- ターゲットグループで、以下を指定します:
フィールド 値 Target Group(ターゲットグループ) 新しいターゲットグループ Name(名前) 「AccessGatewayLB-TargetGroup」などの適切な名前。 Protocol(プロトコル) HTTPS Port(ポート) 443 - [Advanced(詳細設定)]セクションを展開します。
- サクセスコードを400に指定します。
メモ
より堅牢な正常性チェックを指定するためには[Health Check(正常性チェック)]セクションに戻る必要があります。
- [Next: Register targets(次の手順:ターゲットを登録する)]をクリックします。
ターゲットを登録し、ロードバランサーを作成する
ターゲットはロードバランサーが交信するAccess Gatewayノードを表します。
- [Instances(インスタンス)]ペインで、Access Gatewayクラスターのメンバーを表す各ラインを選択します。これには管理者ノードも含めることができますが、すべてのワーカーノードが含まれている必要があります。
- [Add to registered(登録済に追加)]をクリックします。 選択したインスタンスすべてが登録済みと表示されるはずです。
- [Review(確認)]をクリックします。必要な変更が設定に加えられているか確認します。
- [Create(作成)]をクリックします。
ロードバランサーが作成されます。これには数分かかる場合があります。
- AWS コンソールで、ロードバランサーリストのDNS名カラムに表示されているロードバランサーの外部名を試します。
- DNS サービスプロバイダーに接続してCNAME レコードを追加し、AWSロードバランサー名を外部名にマップします。
例:CNAME host: www.[your external name], target: aws...com。 - AWSコンソールに戻ります。
スティッキーセッションを有効にする
ロードバランサーはスティッキーセッションを指定する必要があります。
- 必要に応じて、ナビゲーションペインで[Load Balancing(ロードバランシング)]に進み、[Load Balancers(ロードバランサー)]をクリックします。 定義されたすべてのロードバランサーがリストに表示されます。
- 新規作成されたロードバランサーを選択します。
- [Description(説明)]タブで、[Edit stickiness(スティッキネスを編集)]をクリックします。[Edit stickiness(スティッキネスを編集)]ページが表示されます。
- [Enable load balancer generated cookie stickiness(ロードバランサー生成Cookieのスティッキネスを有効にする)]を選択します。
- [Expiration Period(有効期間)]で、有効期間を秒単位で入力します。このフィールドはAccess Gatewayセッションタイムアウトフィールドと一致する必要があります。
- [Save(保存)]をクリックします。
テスト
ヘッダーベースのアプリケーションを使用してロードバランサーをテストできます。
www.[external domain].comに対するアプリケーションが存在しない場合、このセクションを実行します。
- Access Gateway Admin UIコンソールに戻ってサインインします。
- [Applications(アプリケーション)]タブを選択します。
- [Add(追加)]をクリックします。
- [Sample Header(サンプルヘッダー)]を選択します。
- [Essentials(基本設定)]タブで以下を指定します:
フィールド 値 Name(名前) 「Load Balancer Header Test」など、適切なアプリケーションの名。 Public Domain(パブリックドメイン) www.[external domain]. 例:www.oag-external.com。 Group(グループ) Everyone - [Next(次へ)]をクリックします。[Attributes(属性)]タブが開きます。
- [Next(次へ)]をクリックします。[Policies(ポリシー)]タブが開きます。
- [Done(完了)]をクリックします。
- 新しいブラウザーまたはChromeでシークレットウィンドウを開きます。
- アプリケーションに関連付けられたURLを入力します。
- Access Gatewayサンプルヘッダーアプリのページが表示されるはずです。