• 検索結果がありません。

Elastic Load Balancing - Application Load Balancer

N/A
N/A
Protected

Academic year: 2021

シェア "Elastic Load Balancing - Application Load Balancer"

Copied!
97
0
0

読み込み中.... (全文を見る)

全文

(1)

Elastic Load Balancing

Application Load Balancer

(2)

Elastic Load Balancing: Application Load Balancer

Copyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.

(3)

Table of Contents

Application Load Balancer とは ... 1

Application Load Balancer コンポーネント ... 1

Application Load Balancer の概要 ... 1

Classic Load Balancer からの移行のメリット ... 2

開始方法 ... 2 料金 ... 3 開始方法 ... 2 開始する前に ... 4 ステップ 1: ロードバランサーの種類の選択 ... 4 ステップ 2: ロードバランサーとリスナーの設定 ... 5 ステップ 3: ロードバランサーのセキュリティグループの設定 ... 5 ステップ 4: ターゲットグループの設定 ... 5 ステップ 5: ターゲットグループへのターゲットの登録 ... 6 ステップ 6: Load Balancer の作成とテスト ... 6 ステップ 7: ロードバランサーの削除 (オプション) ... 6 チュートリアル ... 8 チュートリアル: パスベースのルーティングを使用する ... 8 開始する前に ... 8 Load Balancer の作成 ... 8 チュートリアル: ターゲットとして Microservices を使用する ... 10 開始する前に ... 10 Load Balancer の作成 ... 11

チュートリアル: AWS CLI を使用した Application Load Balancer の作成 ... 12

開始する前に ... 12 Load Balancer の作成 ... 12 HTTPS リスナーの追加 ... 13 ポートの上書きを使用したターゲットの追加 ... 14 パスベースのルーティングの追加 ... 14 ロードバランサーの削除 ... 15 ロードバランサー ... 16 ロードバランサーのセキュリティグループ ... 16 ロードバランサーの状態 ... 16 ロードバランサーの属性 ... 17 IP アドレスタイプ ... 17 削除保護 ... 18 接続のアイドルタイムアウト ... 18

Application Load Balancer および AWS WAF ... 19

ロードバランサーの作成 ... 19 ステップ 1: ロードバランサーとリスナーを設定する ... 5 ステップ 2: HTTPS リスナーのセキュリティ設定を指定する ... 20 ステップ 3: セキュリティグループを設定する ... 21 ステップ 4: ターゲットグループを設定する ... 5 ステップ 5: ターゲットグループのターゲットを設定する ... 21 ステップ 6: ロードバランサーを作成する ... 22 アベイラビリティーゾーンの更新 ... 22 セキュリティグループの更新 ... 23 推奨ルール ... 23 関連付けられたセキュリティグループの更新 ... 24 アドレスタイプの更新 ... 24 タグの更新 ... 25 ロードバランサーの削除 ... 25 リスナー ... 27 リスナーの設定 ... 27 リスナールール ... 28

(4)

デフォルトのルール ... 28 ルールの優先順位 ... 28 ルールのアクション ... 28 ルールの条件 ... 29 リダイレクトアクション ... 29 固定レスポンスアクション ... 30 ホストの条件 ... 31 パスの条件 ... 31 リスナーの作成 ... 32 前提条件 ... 32 リスナーの追加 ... 32 HTTPS リスナーの設定 ... 33 SSL 証明書 ... 34 セキュリティポリシー ... 34 セキュリティポリシーの更新 ... 36 リスナールールの更新 ... 36 前提条件 ... 37 ルールの追加 ... 37 ルールの編集 ... 38 ルールの順序変更 ... 39 ルールの削除 ... 39 サーバー証明書の更新 ... 40 証明書の追加 ... 40 デフォルトの証明書の置き換え ... 41 証明書の削除 ... 41 ユーザーの認証 ... 42 OIDC 準拠 IdP を使用する準備を整える ... 42 Amazon Cognito を使用する準備を整える ... 42 Amazon CloudFront を使用する準備を整える ... 43 ユーザー認証を設定する ... 43 認証のフロー ... 45 ユーザークレームのエンコードと署名の検証 ... 45 認証のログアウトとセッションのタイムアウト ... 47 リスナーの削除 ... 47 ターゲットグループ ... 48 ルーティング設定 ... 48 ターゲットの種類 ... 49 登録済みターゲット ... 49 ターゲットグループの属性 ... 50 登録解除の遅延 ... 50 スロースタートモード ... 51 スティッキーセッション ... 52 ターゲットグループの作成 ... 52 ヘルスチェックを設定する ... 53 ヘルスチェックの設定 ... 54 ターゲットヘルスステータス ... 55 ヘルスチェックの理由コード ... 55 ターゲットのヘルスステータスをチェックする ... 56 ターゲットグループのヘルスチェック設定を変更する ... 56 ターゲットの登録 ... 56 ターゲットセキュリティグループ ... 57 ターゲットの登録または登録解除 ... 57 タグの更新 ... 59 ターゲットグループの削除 ... 60 ロードバランサーの監視 ... 61 CloudWatch のメトリクス ... 61

(5)

Application Load Balancer のメトリクスディメンション ... 68

Application Load Balancer メトリクスの統計 ... 68

ロードバランサーの CloudWatch メトリクスを表示する ... 69 アクセスログ ... 71 アクセスログファイル ... 71 アクセスログのエントリ ... 72 バケットのアクセス許可 ... 76 アクセスログの作成の有効化 ... 79 アクセスログの作成の無効化 ... 80 アクセスログファイルの処理 ... 80 リクエストのトレース ... 80 構文 ... 80 制約事項 ... 81 CloudTrail ログ ... 82

CloudTrail 内の Elastic Load Balancing 情報 ... 82

Elastic Load Balancing ログファイルエントリの概要 ... 83

ロードバランサーのトラブルシューティングを行う ... 85 登録されたターゲットが実行中でない ... 85 クライアントがインターネット向けロードバランサーに接続できない ... 86 ロードバランサーが異常なターゲットにリクエストを送信する ... 86 ロードバランサーが HTTP エラーを生成する ... 86 HTTP 400: Bad Request ... 86 HTTP 401: Unauthorized ... 87 HTTP 403: Forbidden ... 87 HTTP 460 ... 87 HTTP 463 ... 87 HTTP 500: 内部サーバーエラー ... 87 HTTP 502: Bad Gateway ... 87 HTTP 503: Service Unavailable ... 88 HTTP 504: Gateway Timeout ... 88 HTTP 561: Unauthorized ... 88 ターゲットが HTTP エラーを生成する ... 88 制限 ... 89 ドキュメント履歴 ... 90

(6)

Application Load Balancer コンポーネント

Application Load Balancer とは

Elastic Load Balancing は、Application Load Balancer、Network Load Balancer、および クラシックロー ドバランサー の 3 種類のロードバランサーをサポートしています。このガイドでは、Application Load Balancer について説明します。Network Load Balancer の詳細については、Network Load Balancer 用ユー ザーガイド を参照してください。クラシックロードバランサー の詳細については、クラシックロードバラ ンサー 用ユーザーガイド を参照してください。

Application Load Balancer コンポーネント

ロードバランサーは、クライアントにとって単一の通信先として機能します。このロードバランサーは、 受信アプリケーショントラフィックを複数のアベイラビリティーゾーンの複数のターゲット(EC2 インス タンスなど) に分散します。これにより、アプリケーションの可用性が向上します。ロードバランサーに 1 つ以上のリスナーを追加できます。 リスナーは、ユーザーが設定したプロトコルとポートを使用してクライアントからの接続リクエストを確 認し、ユーザーが定義したルールに基づいて 1 つ以上のターゲットグループにリクエストを転送します。 各ルールは、ターゲットグループ、条件、優先順位を指定します。条件が満たされると、トラフィックが ターゲットグループに転送されます。リスナーごとにデフォルトのルールを定義する必要があり、リクエ ストの内容に基づいて異なるターゲットグループを指定するルールを追加できます(内容に基づくルーティ ングとも呼ばれます)。 各ターゲットグループは、指定されたプロトコルとポート番号を使用して、1 つ以上の登録済みのター ゲット (EC2 インスタンスなど) にリクエストをルーティングできます。1 つのターゲットを複数のター ゲットグループに登録できます。ターゲットグループ単位でヘルスチェックを設定できます。ヘルス チェックは、ロードバランサーのリスナールールに指定されたターゲットグループに登録されたすべての ターゲットで実行されます。 次の図に、基本コンポーネントを示します。各リスナーにデフォルトのルールがあり、1 つのリスナーに リクエストを別のターゲットグループにルーティングする別のルールが含まれていることに注意してくだ さい。1 つのターゲットが 2 つのターゲット グループに登録されています。 詳細については、次のドキュメントを参照してください。 • ロードバランサー (p. 16) • リスナー (p. 27) • ターゲットグループ (p. 48)

Application Load Balancer の概要

Application Load Balancerは、開放型システム間相互接続 (OSI) モデルの第 7 層であるアプリケーション レイヤーで機能します。ロードバランサーはリクエストを受信すると、優先度順にリスナールールを評価

(7)

Classic Load Balancer からの移行のメリット して適用するルールを決定し、ルールアクションのターゲットグループからターゲットを選択します。リ スナールールを構成し、アプリケーショントラフィックのコンテンツに基づいて異なるターゲットグルー プにリクエストをルーティングできます。それぞれのターゲットグループでルーティングは個別に実行さ れ、複数のターゲットグループに登録されているターゲットの場合も同じです。 アプリケーションへのリクエストの流れを中断することなく、ニーズの変化に応じてロードバランサーに 対してターゲットの追加と削除を行うことができます。Elastic Load Balancing はアプリケーションへの トラフィックが時間の経過とともに変化するのに応じてロードバランサーをスケーリングします。Elastic Load Balancing は大半のワークロードに合わせて自動的にスケーリングできます。

登録済みのインスタンスのヘルス状態をモニタリングするために使用されるヘルスチェックを設定するこ とで、ロードバランサーは正常なターゲットにのみリクエストを送信できます。

詳細については、Elastic Load Balancing ユーザーガイドの「Elastic Load Balancing の仕組み」を参照し てください。

Classic Load Balancer からの移行のメリット

Classic Load Balancer の代わりに Application Load Balancer を使用すると、次のメリットがあります。 • パスベースのルーティングのサポート。リクエスト内の URL に基づいてリクエストを転送するリスナー のルールを設定できます。これにより、アプリケーションをより小さなサービスとして構成し、URL の 内容に基づいて適切なサービスにリクエストをルーティングできます。 • ホストベースのルーティングのサポート。HTTP ヘッダー内のホストフィールドに基づいてリクエスト を転送するリスナーのルールを設定できます。これにより、1 つのロードバランサーを使用して複数の ドメインにリクエストをルーティングできます。 • 1 つの EC2 インスタンス上での複数のアプリケーションへのルーティングリクエストのサポート。複数 のポートを使用して、各インスタンスまたは IP アドレスを同じターゲットグループに登録できます。 • ロードバランサーの VPC 外のターゲットを含め、IP アドレスによるターゲットの登録をサポート。 • コンテナ化されたアプリケーションのサポート。Amazon Elastic Container Service (Amazon ECS) は、

タスクをスケジュールするときに未使用のポートを選択し、そのポートを使用するターゲットグループ にタスクを登録できます。これにより、クラスターを効率的に使用することができます。 • 各サービスの個別のヘルスステータスのモニタリングのサポート。ヘルスチェックがターゲットグルー プレベルで定義され、多数の CloudWatch メトリクスがターゲットグループレベルで報告されます。 ターゲットグループを Auto Scaling グループにアタッチすることで、各サービスをオンデマンドで動的 にスケールすることができます。 • アクセスログへの情報の追加と圧縮形式での保存。 • ロードバランサーのパフォーマンスの向上。

各ロードバランサーの種類でサポートされている機能の詳細については、「Elastic Load Balancing 製品の 比較」を参照してください。

開始方法

Application Load Balancerを作成するには、次のいずれかのチュートリアルに従います。 • Elastic Load Balancing ユーザーガイドの「Elastic Load Balancing の開始方法」。 • チュートリアル: Application Load Balancer でパスベースのルーティングを使用する (p. 8)

(8)

料金

料金

ロードバランサーについては、お客様が利用された分のみのお支払いとなります。詳細については、 「Elastic Load Balancing 料金表」を参照してください。

(9)

開始する前に

Application Load Balancer の使用開

このチュートリアルでは、ウェブベースインターフェイスである AWS マネジメントコンソールを使用し て Application Load Balancer を実践的に説明します。最初の Application Load Balancer を作成するには、 次のステップを完了します。 タスク • 開始する前に (p. 4) • ステップ 1: ロードバランサーの種類の選択 (p. 4) • ステップ 2: ロードバランサーとリスナーの設定 (p. 5) • ステップ 3: ロードバランサーのセキュリティグループの設定 (p. 5) • ステップ 4: ターゲットグループの設定 (p. 5) • ステップ 5: ターゲットグループへのターゲットの登録 (p. 6) • ステップ 6: Load Balancer の作成とテスト (p. 6) • ステップ 7: ロードバランサーの削除 (オプション) (p. 6)

または、ネットワークロードバランサー を作成するには、『Network Load Balancer 用ユーザーガイド』 の「Network Load Balancer の開始方法」を参照してください。Classic Load Balancer を作成するには、 『クラシックロードバランサー 用ユーザーガイド』の「Classic Load Balancer の作成」を参照してくださ い。

開始する前に

• EC2 インスタンスに使用する 2 つのアベイラビリティーゾーンを決定します。これらの各アベイラビリ ティーゾーンに少なくとも 1 つのパブリックサブネットがある Virtual Private Cloud (VPC) を設定しま す。これらのパブリックサブネットは、ロードバランサーを設定するために使用されます。その代わり に、これらのアベイラビリティーゾーンの他のサブネットで EC2 インスタンスを起動することができま す。

• 各アベイラビリティーゾーンで少なくとも 1 つの EC2 インスタンスを起動します。必ず、Apache や Internet Information Services (IIS) などのウェブサーバーを各 EC2 インスタンスにインストールしま す。これらのインスタンスのセキュリティグループでは、ポート 80 の HTTP アクセスを許可している ことを確認してください。

ステップ 1: ロードバランサーの種類の選択

Elastic Load Balancing は 3 種類のロードバランサーをサポートしています。このチュートリアルで は、Application Load Balancer を作成します。

Application Load Balancer を作成するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

2. ナビゲーションバーで、ロードバランサーのリージョンを選択します。EC2 インスタンス用に使用し たリージョンと同じリージョンを必ず選択してください。

(10)

ステップ 2: ロードバランサーとリスナーの設定 4. [Create Load Balancer] を選択します。

5. [アプリケーションロードバランサー] で [作成] を選択します。

ステップ 2: ロードバランサーとリスナーの設定

[Configure Load Balancer] ページで、次の手順を完了します。

ロードバランサーとリスナーを設定するには

1. [Name] に、ロードバランサーの名前を入力します。

Application Load Balancer の名前は、リージョンの Application Load Balancer および Network Load Balancer セット内で一意にする必要があります。最大 32 文字で、英数字とハイフンのみ使用できま す。先頭と末尾にハイフンを使用することはできず、「internal-」で始めることはできません。 2. [Scheme] および [IP address type] については、デフォルト値のままにします。

3. [Listeners] では、デフォルトを保持します。これは、ポート 80 で HTTP トラフィックを受け付ける リスナーです。

4. [Availability Zones] で、EC2 インスタンスに使用する VPC を選択します。EC2 インスタンスの起動 に使用した各アベイラビリティーゾーンについて、アベイラビリティーゾーンを選択し、そのアベイ ラビリティーゾーンのパブリックサブネットを選択します。

5. [Next: Configure Security Settings] を選択します。

6. このチュートリアルでは、HTTPS リスナーを作成しません。[Next: Configure Security Groups] を選 択します。

ステップ 3: ロードバランサーのセキュリティグ

ループの設定

ロードバランサーのセキュリティグループは、リスナーポート ポートとヘルスチェックポートの両方で登 録済みターゲットとの通信を許可する必要があります。コンソールはユーザーに代わって、ロードバラン サーに正しいプロトコルとポートを指定するルールを持つセキュリティグループを作成できます。希望す る場合には、独自のセキュリティグループを作成して選択することもできます。詳細については、「推奨 ルール (p. 23)」を参照してください。

[Configure Security Groups (セキュリティグループの設定)] ページで、次の手順を実行し、Elastic Load Balancing を使用して、ユーザーの代わりロードバランサーのセキュリティグループを作成します。

ロードバランサーのセキュリティグループを設定するには

1. [Create a new security group] を選択します。

2. セキュリティグループの名前と説明を入力するか、デフォルトの名前と説明を維持します。この新 しいセキュリティグループには、[Configure Load Balancer] ページで選択したロードバランサーリス ナーポートへのトラフィックを許可するルールが含まれます。

3. [Next: Configure Routing] を選択します。

ステップ 4: ターゲットグループの設定

リクエストルーティングで使用されるターゲットグループを作成します。リスナーのデフォルトルール は、このターゲットグループ内の登録済みターゲットにリクエストをルーティングします。ロードバラ ンサーは、ターゲットグループに定義されたヘルスチェック設定を使用してこのターゲットグループ内の ターゲットの状態を確認します。[Configure Routing] ページで、次の手順を完了します。

(11)

ステップ 5: ターゲットグループへのターゲットの登録

ターゲットグループを設定するには

1. [Target group] で、デフォルトの [New target group] を保持します。 2. [Name] に、新しいターゲットグループの名前を入力します。

3. [プロトコル] は HTTP、[ポート] は 80、[ターゲットの種類] はインスタンスで維持します。 4. [Health checks] は、デフォルトプロトコルと ping パスを保持します。

5. [Next: Register Targets] を選択します。

ステップ 5: ターゲットグループへのターゲットの

登録

[Register Targets] ページで、次の手順を完了します。

ターゲットグループにターゲットを登録するには

1. [Instances] で、1 つ以上のインスタンスを選択します。 2. デフォルトポート 80 を保持し、[Add to registered] を選択します。 3. インスタンスの選択が完了したら、[Next: Review] を選択します。

ステップ 6: Load Balancer の作成とテスト

ロードバランサーを作成する前に、選択した設定を確認します。ロードバランサーを作成した後で、EC2 インスタンスにトラフィックを送信するかどうかを検証します。

ロードバランサーを作成してテストするには

1. [Review] ページで、[Create ] を選択します。 2. ロードバランサーが正常に作成されたことが通知されたら、[Close] を選択します。 3. ナビゲーションペインの [LOAD BALANCING] で [Target Groups] を選択します。 4. 新しく作成したターゲットグループを選択します。

5. [Targets] タブで、インスタンスの準備ができていることを確認します。インスタンスのステータス が initial の場合、インスタンスがまだ登録の途中であるか、正常と見なされるのに必要なヘルス チェックの最小数に合格しなかったと考えられます。少なくとも 1 つのインスタンスのステータスが healthy であれば、ロードバランサーをテストできます。

6. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 7. 新しく作成したロードバランサーを選択します。 8. [Description] タブで、ロードバランサーの DNS 名 (例: my-load-balancer-1234567890.us-west-2.elb.amazonaws.com) をコピーします。インターネットに接続したウェブブラウザのアドレス フィールドに DNS 名を貼り付けます。すべて適切な場合は、ブラウザにサーバーのデフォルトペー ジが表示されます。 9. (省略可能) 追加のリスナールールを定義するには、「ルールの追加 (p. 37)」を参照してください。

ステップ 7: ロードバランサーの削除 (オプション)

ロードバランサーが利用可能になると、ロードバランサーの実行時間に応じて 1 時間ごと、または 1 時間 未満の時間について課金されます。不要になったロードバランサーは削除できます。ロードバランサーが

(12)

ステップ 7: ロードバランサーの削除 (オプション)

削除されると、ロードバランサーの課金も停止されます。ロードバランサーを削除しても、ロードバラン サーに登録されたターゲットには影響を与えません。たとえば、EC2 インスタンスを実行し続けます。

ロードバランサーを削除するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。 2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 3. 任意のロードバランサーのチェックボックスを選択し、[Actions]、[Delete] を選択します。 4. 確認を求めるメッセージが表示されたら、[Yes, Delete] を選択します。

(13)

チュートリアル: パスベースのルーティングを使用する

Application Load Balancer のチュー

トリアル

次の Elastic Load Balancing のチュートリアルでは、Application Load Balancer を使用して一般的なタスク を実行する方法を示します。

• Elastic Load Balancing の開始方法 (Elastic Load Balancing ユーザーガイド)

• チュートリアル: Application Load Balancer でパスベースのルーティングを使用する (p. 8)

• チュートリアル: Application Load Balancer のターゲットとして Microservices を使用する (p. 10)

• チュートリアル: AWS CLI を使用した Application Load Balancer の作成 (p. 12)

チュートリアル: Application Load Balancer でパス

ベースのルーティングを使用する

URL パスに基づいてリクエストを転送するルールを持つリスナーを作成できます。これは、パスベース のルーティングと呼ばれます。マイクロサービスを実行している場合、パスベースのルーティングを使用 して複数のバックエンドサービスにトラフィックをルーティングすることができます。たとえば、1 つの ターゲットグループに全般的なリクエストをルーティングし、イメージをレンダリングするリクエストを 別のターゲットグループにルーティングできます。

開始する前に

• Virtual Private Cloud (VPC) で EC2 インスタンスを起動します。これらのインスタンスのセキュリティ グループがリスナーポートとヘルスチェックポートでアクセスを許可することを確認します。詳細につ いては、「ターゲットセキュリティグループ (p. 57)」を参照してください。

• マイクロサービスが、登録する予定の EC2 インスタンスにデプロイされていることを確認します。

Load Balancer の作成

パスベースのルーティングを使用するロードバランサーを作成するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

2. ナビゲーションバーで、EC2 インスタンスのために選択したのと同じリージョンを選択します。 3. ナビゲーションペインの [LOAD BALANCING] で [Target Groups] を選択します。

4. 次のようにして、最初のターゲットセットのターゲットグループを作成します。 a. [Create target group] を選択します。

b. ターゲットグループの名前、プロトコル、ポート、VPC を指定し、[Create] を選択します。 c. 新しいターゲットグループを選択します。 d. [Targets] タブで、[Edit] を選択します。 e. [Instances] で、1 つ以上のインスタンスを選択します。インスタンスのポートを指定し、[Add to registered] を選択して [Save] を選択します。 インスタンスのステータスは、インスタンスが登録されてヘルスチェックに合格するまで initial であり、ロードバランサーからのトラフィックを受信するようにターゲットグループを 設定するまで unused である点に注意してください。

(14)

Load Balancer の作成

5. 次のようにして、2 番目のターゲットセットのターゲットグループを作成します。 a. [Create target group] を選択します。

b. ターゲットグループの名前、プロトコル、ポート、VPC を指定し、[Create] を選択します。 c. [Targets] タブで、[Edit] を選択します。 d. [Instances] で、1 つ以上のインスタンスを選択します。インスタンスのポートを指定し、[Add to registered] を選択して [Save] を選択します。 インスタンスのステータスは、インスタンスが登録されてヘルスチェックに合格するまで initial であり、ロードバランサーからのトラフィックを受信するようにターゲットグループを 設定するまで unused である点に注意してください。

6. ナビゲーションペインの [LOAD BALANCING] で [ Load Balancers] を選択します。 7. [Create Load Balancer] を選択します。

8. [Select load balancer type] で、[Application Load Balancer] を選択します。 9. [Continue] を選択します。

10. [Configure Load Balancer] ページで次の操作を完了します。 a. [Name] に、ロードバランサーの名前を入力します。

Application Load Balancer の名前は、リージョンの Application Load Balancer および Network Load Balancer セット内で一意にする必要があります。最大 32 文字で、英数字とハイフンのみ使 用できます。先頭と末尾にハイフンを使用することはできません。 b. [Scheme] のインターネット向けロードバランサーは、クライアントからインターネット経由でリ クエストをターゲットにルーティングします。内部ロードバランサーは、プライベート IP アドレ スを使用してターゲットにリクエストをルーティングします。 c. [Listeners] のデフォルトは、ポート 80 で HTTP トラフィックを受け付けるリスナーです。デ フォルトのリスナーの設定をそのままにしておくことも、リスナーのプロトコルまたはポートを 変更することも、[Add] を選択して別のリスナーを追加することもできます。

d. [Availability Zones] で、EC2 インスタンスに使用する VPC を選択します。アベイラビリティー ゾーンを少なくとも 2 つ選択します。アベイラビリティーゾーンに対して 1 つのサブネットがあ る場合、そのサブネットが選択されます。そのアベイラビリティーゾーンに複数のサブネットが ある場合は、いずれかのサブネットを選択します。アベイラビリティーゾーンにつき、1 つのサ ブネットしか選択できないことに注意してください。

e. [Next: Configure Security Settings] を選択します。

11. (オプション) 前のステップでセキュアリスナーを作成した場合は [Configure Security Settings] ページ で次の操作を完了します。

a. AWS Certificate Manager を使用して証明書を作成またはインポートした場合は、[Choose an existing certificate from AWS Certificate Manager (ACM) (AWS Certificate Manager (ACM) から既 存の証明書を選択)] を選択し、[Certificate name (証明書の名前)] から証明書を選択します。 b. IAM を使用して証明書をすでにアップロードしている場合は、[Choose an existing certificate

from AWS Identity and Access Management (IAM)] を選択し、[証明書名] から証明書を選択しま す。

c. アップロードする証明書があっても ACM がお客様のリージョンでサポートされていない場合 は、[Upload a new SSL Certificate to AWS Identity and Access Management (IAM)] を選択しま す。[Certificate name] に証明書の名前を入力します。[Private Key] に、PEM エンコードされた プライベートキーファイルの内容をコピーして貼り付けます。[Public Key Certificate] に、PEM エンコードされたパブリックキー証明書ファイルの内容をコピーして貼り付けます。自己署名証 明書を使用しておらず、ブラウザが暗黙的に証明書を受け入れることが重要である場合に限り、 [Certificate Chain] に、PEM エンコードされた証明書チェーンファイルの内容をコピーして貼り 付けます。

(15)

チュートリアル: ターゲットと して Microservices を使用する 13. [Configure Security Groups] ページで次の操作を完了します。

a. [Create a new security group] を選択します。

b. セキュリティグループの名前と説明を入力するか、デフォルトの名前と説明を維持します。この 新しいセキュリティグループには、[Configure Load Balancer] ページでロードバランサー用に選 択したポートへのトラフィックを許可するルールが含まれます。

c. [Next: Configure Routing] を選択します。 14. [Configure Routing] ページで次の操作を完了します。

a. [Target group] で、[Existing target group] を選択します。 b. [Name] で、作成した最初のターゲットグループを選択します。 c. [Next: Register Targets] を選択します。

15. [Register Targets] ページで、ターゲットグループに登録したインスタンスが [Registered instances] に表示されます。ウィザードを完了するまで、ターゲットグループに登録したターゲットを変更する ことはできません。[Next: Review] を選択します。

16. [Review] ページで、[Create ] を選択します。

17. ロードバランサーが正常に作成されたことが通知されたら、[Close] を選択します。 18. 新しく作成したロードバランサーを選択します。

19. [Listeners] タブで、矢印を使用してリスナーのルールを表示し、[Add rule] を選択します。次のように してルールを指定します。

a. [Target group name] で、作成した 2 番目のグループを選択します。

b. [Path pattern] で、パスベースのルーティングに使用する正確なパターンを指定します (たとえ ば、/img/*)。詳細については、「リスナールール (p. 28)」を参照してください。

c. [Save] を選択します。

チュートリアル: Application Load Balancer のター

ゲットとして Microservices を使用する

個別に開発およびデプロイできるサービスとしてのアプリケーションを構成するために、microservices アーキテクチャを使用できます。これらのサービスを 1 つ以上各 EC2 インスタンスにインストールし、 各サービスが別のポートで接続を受け入れるようにできます。単一の Application Load Balancer でアプリ ケーションのすべてのサービスにリクエストをルーティングできます。ターゲットグループに EC2 インス タンスを登録する場合、それを複数回登録できます。各サービスで、そのサービスのポートを使用するイ ンスタンスを登録します。

Important

Amazon Elastic Container Service (Amazon ECS) を使用してサービスをデプロイする場合、動的 ポートマッピングを使用して、同じコンテナインスタンスの単一のサービスからの複数のサービ スをサポートできます。Amazon ECS は、インスタンス ID と各コンテナのポートを使用して自 動的にコンテナをターゲットグループに登録およびターゲットグループから登録解除して、サー ビスに対する更新を管理します。詳細については、Amazon Elastic Container Service Developer Guideの「サービスロードバランシング」を参照してください。

開始する前に

• EC2 インスタンスを起動します。インスタンスのセキュリティグループが、リスナーポートとヘルス チェックポートでロードバランサーのセキュリティグループからのアクセスを許可することを確認しま す。詳細については、「ターゲットセキュリティグループ (p. 57)」を参照してください。

(16)

Load Balancer の作成

• EC2 インスタンスにサービスをデプロイします (たとえばコンテナを使用して)。

Load Balancer の作成

ターゲットとして複数のサービスを使用するロードバランサーを作成するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

2. ナビゲーションバーで、EC2 インスタンスのために選択したのと同じリージョンを選択します。 3. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。

4. [Create Load Balancer] を選択します。

5. [Select load balancer type] で、[Application Load Balancer] を選択します。 6. [Continue] を選択します。

7. [Configure Load Balancer] ページで次の操作を完了します。 a. [Name] に、ロードバランサーの名前を入力します。

Application Load Balancer の名前は、リージョンの Application Load Balancer および Network Load Balancer セット内で一意にする必要があります。最大 32 文字で、英数字とハイフンのみ使 用できます。先頭と末尾にハイフンを使用することはできません。 b. [Scheme] のインターネット向けロードバランサーは、クライアントからインターネット経由でリ クエストをターゲットにルーティングします。内部ロードバランサーは、プライベート IP アドレ スを使用してターゲットにリクエストをルーティングします。 c. [Listeners] のデフォルトは、ポート 80 で HTTP トラフィックを受け付けるリスナーです。デ フォルトのリスナーの設定をそのままにしておくことも、リスナーのプロトコルまたはポートを 変更することも、[Add] を選択して別のリスナーを追加することもできます。

d. [Availability Zones] で、EC2 インスタンスに使用する VPC を選択します。アベイラビリティー ゾーンを少なくとも 2 つ選択します。アベイラビリティーゾーンに対して 1 つのサブネットがあ る場合、そのサブネットが選択されます。そのアベイラビリティーゾーンに複数のサブネットが ある場合は、いずれかのサブネットを選択します。アベイラビリティーゾーンにつき、1 つのサ ブネットしか選択できないことに注意してください。

e. [Next: Configure Security Settings] を選択します。

8. (オプション) 前のステップでセキュアリスナーを作成した場合は [Configure Security Settings] ページ で次の操作を完了します。

a. AWS Certificate Manager を使用して証明書を作成またはインポートした場合は、[Choose an existing certificate from AWS Certificate Manager (ACM) (AWS Certificate Manager (ACM) から既 存の証明書を選択)] を選択し、[Certificate name (証明書の名前)] から証明書を選択します。 b. IAM を使用して証明書をすでにアップロードしている場合は、[Choose an existing certificate

from AWS Identity and Access Management (IAM) (AWS Certificate Manager (ACM) から既存の 証明書を選択)] を選択し、[Certificate name (証明書名)] から証明書を選択します。

c. アップロードする証明書があっても ACM がお客様のリージョンでサポートされていない場合 は、[Upload a new SSL Certificate to AWS Identity and Access Management (IAM)] を選択しま す。[Certificate name] に証明書の名前を入力します。[Private Key] に、PEM エンコードされた プライベートキーファイルの内容をコピーして貼り付けます。[Public Key Certificate] に、PEM エンコードされたパブリックキー証明書ファイルの内容をコピーして貼り付けます。自己署名証 明書を使用しておらず、ブラウザが暗黙的に証明書を受け入れることが重要である場合に限り、 [Certificate Chain] に、PEM エンコードされた証明書チェーンファイルの内容をコピーして貼り 付けます。

d. [Select policy] の場合は、デフォルトのセキュリティポリシーを維持します。 9. [Next: Configure Security Groups] を選択します。

(17)

チュートリアル: AWS CLI を使用し た Application Load Balancer の作成 a. [Create a new security group] を選択します。

b. セキュリティグループの名前と説明を入力するか、デフォルトの名前と説明を維持します。この 新しいセキュリティグループには、[Configure Load Balancer] ページでロードバランサー用に選 択したポートへのトラフィックを許可するルールが含まれます。

c. [Next: Configure Routing] を選択します。 11. [Configure Routing] ページで次の操作を完了します。

a. [Target group] はデフォルトの [New target group] を保持します。 b. [Name] に、新しいターゲットグループの名前を入力します。

c. [Protocol] と [Port] を必要に応じて設定します。

d. [Health checks] は、デフォルトのヘルスチェック設定のままにします。 e. [Next: Register Targets] を選択します。

12. [Register Targets] で、次の操作を行ないます。 a. [Instances] で、EC2 インスタンスを選択します。 b. サービスが使用するポートを入力し、[Add to registered] を選択します。 c. 登録する各サービスで操作を繰り返します。完了したら、[Next: Review] を選択します。 13. [Review] ページで、[Create ] を選択します。 14. ロードバランサーが正常に作成されたことが通知されたら、[Close] を選択します。

チュートリアル: AWS CLI を使用した Application

Load Balancer の作成

このチュートリアルでは、AWS CLI を使った Application Load Balancerの実践的な導入について説明しま す。

開始する前に

• 次のコマンドを使用して、Application Load Balancer をサポートするバージョンの AWS CLI を実行して いることを確認します。

aws elbv2 help

elbv2 が有効な選択肢ではないことを示すエラーメッセージが発生した場合は、AWS CLI を更新しま す。詳細については、『AWS Command Line Interface ユーザーガイド』の「AWS コマンドラインイン ターフェイスのインストール」を参照してください。

• Virtual Private Cloud (VPC) で EC2 インスタンスを起動します。これらのインスタンスのセキュリティ グループがリスナーポートとヘルスチェックポートでアクセスを許可することを確認します。詳細につ いては、「ターゲットセキュリティグループ (p. 57)」を参照してください。

Load Balancer の作成

最初のロードバランサーを作成するには、次のステップを完了します。

ロードバランサーを作成するには

1. ロードバランサーを作成するには、create-load-balancer コマンドを使用します。同じアベイラビリ ティーゾーンにない 2 つのサブネットを指定する必要があります。

(18)

HTTPS リスナーの追加

aws elbv2 create-load-balancer --name my-load-balancer \

--subnets subnet-12345678 subnet-23456789 --security-groups sg-12345678

出力には、次の形式でロードバランサーの Amazon リソースネーム (ARN) が含まれます。

arn:aws:elasticloadbalancing:us-east-2:123456789012 :loadbalancer/app/my-load-balancer/1234567890123456

2. ターゲットグループを指定し、EC2 インスタンスに使用したのと同じ VPC を指定するには、 create-target-group コマンドを使用します。

aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-12345678

出力には、次の形式のターゲットグループの ARN が含まれます。

arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/ my-targets/1234567890123456

3. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-12345678 Id=i-23456789

4. ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを 作成するには、create-listener コマンドを使用します。

aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol HTTP --port 80 \

--default-actions Type=forward,TargetGroupArn=targetgroup-arn

出力には、次の形式のリスナーの ARN が含まれます。

arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/ my-load-balancer/1234567890123456/1234567890123456

5. (オプション) この describe-target-health コマンドを使用してターゲットグループの登録されたター ゲットのヘルスステータスを確認できます。

aws elbv2 describe-target-health --target-group-arn targetgroup-arn

HTTPS リスナーの追加

HTTP リスナーを持つロードバランサーがある場合、次のように HTTPS リスナーを追加できます。

ロードバランサーに HTTPS リスナーを追加するには

1. 次のいずれかの方法を使用して、ロードバランサーで使用する SSL 証明書を作成します。

• AWS Certificate Manager (ACM) を使用して証明書を作成またはインポートします。詳細について は、AWS Certificate Manager ユーザーガイドでパブリック証明書のリクエストまたは証明書のイン ポートを参照してください。

(19)

ポートの上書きを使用したターゲットの追加

• AWS Identity and Access Management (IAM) を使用して証明書をアップロードします。詳細につい ては、IAM ユーザーガイドの「サーバー証明書の使用」を参照してください。

2. ターゲットグループにリクエストを転送するデフォルトルールを持つリスナーを作成するに

は、create-listener コマンドを使用します。HTTPS リスナーを作成するときは、SSL 証明書を指定す る必要があります。--ssl-policy オプションを使用してデフォルト以外の SSL ポリシーを指定で きます。

aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol HTTPS --port 443 \

--certificates CertificateArn=certificate-arn \

--default-actions Type=forward,TargetGroupArn=targetgroup-arn

ポートの上書きを使用したターゲットの追加

1 つのインスタンスに複数の ECS コンテナがある場合、各コンテナは別のポートで接続を受け入れます。 毎回別のポートで、インスタンスをターゲットグループに複数回登録できます。

ポートの上書きを使用してターゲットを追加するには

1. ターゲットグループを作成するには、create-target-group コマンドを使用します。

aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-12345678

2. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。インス タンス ID はコンテナごとに同じですが、ポートは異なることに注意してください。

aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-12345678,Port=80 Id=i-12345678,Port=766

3. ターゲットグループにリクエストを転送するルールをリスナーに追加するには、create-rule コマンド を使用します。

aws elbv2 create-rule --listener-arn listener-arn --priority 10 \ --actions Type=forward,TargetGroupArn=targetgroup-arn

パスベースのルーティングの追加

1 つのターゲットグループにリクエストを転送するデフォルトルールを持つリスナーがある場合、URL に 基づいて別のターゲットグループにリクエストを転送するルールを追加できます。たとえば、1 つのター ゲットグループに全般的なリクエストをルーティングし、イメージを表示するリクエストを別のターゲッ トグループにルーティングできます。

パスパターンを持つリスナーにルールを追加するには

1. ターゲットグループを作成するには、create-target-group コマンドを使用します。

aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-12345678

2. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

(20)

ロードバランサーの削除

--targets Id=i-12345678 Id=i-23456789

3. URL に指定されたパターンが含まれている場合に、ターゲットグループにリクエストを転送するルー ルをリスナーに追加するには、create-rule コマンドを使用します。

aws elbv2 create-rule --listener-arn listener-arn --priority 10 \ --conditions Field=path-pattern,Values='/img/*' \

--actions Type=forward,TargetGroupArn=targetgroup-arn

ロードバランサーの削除

ロードバランサーとターゲットグループが必要なくなった場合は、次のように削除することができます。

aws elbv2 delete-load-balancer --load-balancer-arn loadbalancer-arn aws elbv2 delete-target-group --target-group-arn targetgroup-arn

(21)

ロードバランサーのセキュリティグループ

Application Load Balancer

ロードバランサーは、クライアントにとって単一の通信先として機能します。クライアントはロード バランサーにリクエストを送信し、ロードバランサーは複数のアベイラビリティーゾーンにあるター ゲット (EC2 インスタンスなど) にそれらのリクエストを送信します。ロードバランサーを設定するに は、ターゲットグループ (p. 48)を作成し、ターゲットグループにターゲットを登録します。さらに、リ スナー (p. 27)を作成してクライアントからの接続リクエストがないかチェックし、リスナールールを作 成してリクエストをクライアントから 1 つ以上のターゲットグループ内のターゲットにルーティングしま す。

詳細については、Elastic Load Balancing ユーザーガイドの「Elastic Load Balancing の仕組み」を参照し てください。 目次 • ロードバランサーのセキュリティグループ (p. 16) • ロードバランサーの状態 (p. 16) • ロードバランサーの属性 (p. 17) • IP アドレスタイプ (p. 17) • 削除保護 (p. 18) • 接続のアイドルタイムアウト (p. 18)

• Application Load Balancer および AWS WAF (p. 19)

• Application Load Balancer の作成 (p. 19)

• Application Load Balancer のアベイラビリティーゾーン (p. 22)

• Application Load Balancer のセキュリティグループ (p. 23)

• Application Load Balancer の IP アドレスタイプ (p. 24)

• Application Load Balancer のタグ (p. 25)

• Application Load Balancer の削除 (p. 25)

ロードバランサーのセキュリティグループ

セキュリティグループは、ロードバランサーとの間で許可されているトラフィックを制御するファイア ウォールとして機能します。インバウンドトラフィックとアウトバウンドトラフィックの両方を許可する ポートとプロトコルを選択できます。 ロードバランサーのセキュリティグループに関連付けられたセキュリティグループのルールは、リスナー ポートとヘルスチェックポートの両方における両方向のトラフィックを許可する必要があります。リス ナーをロードバランサーに追加するとき、またはターゲットグループのヘルスチェックポートを更新する ときは必ず、セキュリティグループルールを見直し、新しいポートで両方向のトラフィックが許可されて いることを確認する必要があります。詳細については、「推奨ルール (p. 23)」を参照してください。

ロードバランサーの状態

ロードバランサーの状態は次のいずれかです。

(22)

ロードバランサーの属性 provisioning ロードバランサーはセットアップ中です。 active ロードバランサーは完全にセットアップされており、トラフィックをルーティングする準備ができて います。 failed ロードバランサークラウドをセットアップできませんでした。

ロードバランサーの属性

ロードバランサーの属性は以下のとおりです。 access_logs.s3.enabled Amazon S3 に保存されたアクセスログが有効かどうかを示します。デフォルト: false。 access_logs.s3.bucket アクセスログの S3 バケットの名前。この属性は、アクセスログが有効になっている場合は必須で す。詳細については、「 バケットのアクセス許可 (p. 76)」を参照してください。 access_logs.s3.prefix S3 バケットの場所のプレフィックス。 deletion_protection.enabled 削除保護が有効化されているかどうかを示します。デフォルト: false。 idle_timeout.timeout_seconds アイドルタイムアウト値 (秒単位)。デフォルト値は 60 秒です。 routing.http2.enabled HTTP/2 が有効化されているかどうかを示します。デフォルト: true。

IP アドレスタイプ

インターネット向けロードバランサーを作成するとき、またはそれがアクティブになった後は、その IP ア ドレスタイプを設定できます。内部ロードバランサーは、IPv4 アドレスを使う必要があります。 ロードバランサーの IP アドレスタイプを次に示します。 ipv4 ロードバランサーは IPv4 アドレス (例: 192.0.2.1) のみをサポートします。 dualstack

ロードバランサーは IPv4 と IPv6 アドレスの両方 (例: 2001:0db8:85a3:0:0:8a2e:0370:7334) をサポー トします。

IPv4 アドレスを使用してロードバランサーと通信するクライアントは A レコードを解決し、IPv6 アドレ スを使用してロードバランサーと通信するクライアントは AAAA レコードを解決します。ただし、クライ

(23)

削除保護

アントとロードバランサーとの通信方法に関係なく、ロードバランサーは IPv4 アドレスを使用してター ゲットと通信します。

詳細については、「Application Load Balancer の IP アドレスタイプ (p. 24)」を参照してください。

削除保護

ロードバランサーが誤って削除されるのを防ぐため、削除保護を有効にできます。デフォルトでは、ロー ドバランサーで削除保護が無効になっています。 ロードバランサーの削除保護を有効にした場合、ロードバランサーを削除する前に無効にする必要があり ます。

コンソールを使用して削除保護を有効にするには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。 2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 3. ロードバランサーを選択します。

4. [Description] タブで、[Edit attributes] を選択します。

5. [ロードバランサー属性の編集] ページで、[削除保護] の [有効] を選択し、[保存] を選択します。 6. [Save] を選択します。

コンソールを使用して削除保護を無効にするには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。 2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 3. ロードバランサーを選択します。

4. [Description] タブで、[Edit attributes] を選択します。

5. [ロードバランサー属性の編集] ページで、[削除保護] の [有効] の選択を解除し、[保存] を選択します。 6. [Save] を選択します。 AWS CLI を使用して削除保護を有効または無効にするには deletion_protection.enabled 属性を指定して modify-load-balancer-attributes コマンドを使用しま す。

接続のアイドルタイムアウト

クライアントがロードバランサーを通じて行うリクエストごとに、ロードバランサーは 2 つの接続を維持 します。フロントエンド接続とはクライアントとロードバランサー間の接続を意味し、バックエンド接続 とはロードバランサーとターゲット間の接続を意味します。ロードバランサーは、指定された期間に接続 でデータが送信されない場合にトリガーされるアイドルタイムアウトを管理します。アイドルタイムアウ トが経過するまでデータが送受信されなかった場合、ロードバランサーは接続を閉じます。

デフォルトでは、Elastic Load Balancing はアイドルタイムアウト値を 60 秒に設定します。したがって、 リクエストが転送中にターゲットが少なくとも 60 秒ごとにデータを送信しない場合、ロードバランサー はフロントエンド接続を閉じることができます。ファイルのアップロードなどの長いオペレーションで、

(24)

Application Load Balancer および AWS WAF 完了までの時間を確保するため、各アイドルタイムアウト期間が経過するまでに少なくても 1 バイトの データを送信し、必要に応じてアイドルタイムアウトの長さを増やします。 バックエンド接続では EC2 インスタンスに HTTP キープアライブオプションを有効にすることが推奨さ れます。EC2 インスタンスのウェブサーバー設定で HTTP キープアライブを有効にできます。HTTP キー プアライブを有効にすると、ロードバランサーはキープアライブのタイムアウト期間が終了するまで、 バックエンド接続を再利用できます。また、アプリケーションのアイドルタイムアウトは、ロードバラン サーに設定されたアイドルタイムアウトよりも大きな値に設定することをお勧めします。

コンソールを使用してアイドルタイムアウト値を更新するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。 2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 3. ロードバランサーを選択します。

4. [Description] タブで、[Edit attributes] を選択します。

5. [Edit load balancer attributes] ページで、[Idle timeout] の値を秒単位で入力します。有効な範囲は 1 ~ 4000 です。デフォルト値は 60 秒です。

6. [Save] を選択します。

AWS CLI を使用してアイドルタイムアウト値を更新するには

idle_timeout.timeout_seconds 属性を指定して modify-load-balancer-attributes コマンドを使用しま す。

Application Load Balancer および AWS WAF

Application Load Balancer で AWS WAF を使用して、ウェブアクセスコントロールリスト (ウェブ ACL) のルールに基づいてリクエストを許可またはブロックできます。詳細については、AWS WAF 開発者ガイ ドの「ウェブ ACL の使用」を参照してください。

Application Load Balancer の作成

ロードバランサーはクライアントからリクエストを受け取り、ターゲットグループのターゲット間でリク エストを分散します。

開始する前に、ターゲットが使用する各アベイラビリティーゾーンで少なくとも 1 つのパブリックサブ ネットを持つ Virtual Private Cloud (VPC) があることを確認します。

AWS CLI を使用してロードバランサーを作成する方法については、チュートリアル: AWS CLI を使用した Application Load Balancer の作成 (p. 12)を参照してください。

AWS マネジメントコンソール を使用してロードバランサーを作成するには、以下のタスクを完了しま す。 タスク • ステップ 1: ロードバランサーとリスナーを設定する (p. 5) • ステップ 2: HTTPS リスナーのセキュリティ設定を指定する (p. 20) • ステップ 3: セキュリティグループを設定する (p. 21) • ステップ 4: ターゲットグループを設定する (p. 5) • ステップ 5: ターゲットグループのターゲットを設定する (p. 21)

(25)

ステップ 1: ロードバランサーとリスナーを設定する • ステップ 6: ロードバランサーを作成する (p. 22)

ステップ 1: ロードバランサーとリスナーを設定する

最初に、名前、ネットワーク、1 つ以上のリスナーなど、ロードバランサーの基本的な設定情報を指定し ます。リスナーとは接続リクエストをチェックするプロセスです。これは、クライアントからロードバラ ンサーへの接続用のプロトコルとポートを使用して設定します。サポートされるプロトコルとポートの詳 細については、「リスナーの設定 (p. 27)」を参照してください。

ロードバランサーとリスナーを設定するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。 2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 3. [Create Load Balancer] を選択します。

4. [アプリケーションロードバランサー] で [作成] を選択します。 5. [Name] に、ロードバランサーの名前を入力します。たとえば、my-alb と指定します。 6. [Scheme] のインターネット向けロードバランサーは、クライアントからインターネット経由でリクエ ストをターゲットにルーティングします。内部ロードバランサーは、プライベート IP アドレスを使用 してターゲットにリクエストをルーティングします。 7. [Listeners] のデフォルトは、ポート 80 で HTTP トラフィックを受け付けるリスナーです。デフォル トのリスナー設定を保持する、プロトコルを変更する、またはポートを変更することができます。 [Add] を選択して別のリスナー (たとえば、HTTPS リスナー) を追加します。 8. [Availability Zones] で、VPC から少なくとも 2 つのアベイラビリティーゾーンを選択します。アベイ ラビリティーゾーンに対して 1 つのサブネットがある場合、そのサブネットが選択されます。そのア ベイラビリティーゾーンに複数のサブネットがある場合は、いずれかのサブネットを選択します。ア ベイラビリティーゾーンにつき、1 つのサブネットしか選択できないことに注意してください。 9. [Next: Configure Security Settings] を選択します。

ステップ 2: HTTPS リスナーのセキュリティ設定を指

定する

前のステップで HTTPS リスナーを作成した場合は、必要なセキュリティ設定を指定します。それ以外の 場合は、ウィザードの次のページに進みます。 ロードバランサーに HTTPS を使用するときは、ロードバランサーに SSL 証明書をデプロイする必要があ ります。ターゲットにリクエストを送信する前に、ロードバランサーはこの証明書を使用して接続を終了 し、クライアントからのリクエストを復号します。詳細については、「SSL 証明書 (p. 34)」を参照し てください。また、クライアントとの SSL 接続のネゴシエーションのためにロードバランサーが使用する セキュリティポリシーも指定する必要があります。詳細については、「セキュリティポリシー (p. 34)」 を参照してください。

証明書とセキュリティポリシーを設定するには

1. [デフォルトの証明書の選択] で、次のいずれかを実行します。

• AWS Certificate Manager を使用して証明書を作成またはインポートした場合は、[Choose a certificate from ACM (ACM から証明書を選択する)] を選択し、[Certificate name (証明書名)] から証 明書を選択します。

• IAM を使用して証明書をアップロードした場合は、[Choose a certificate from IAM (IAM から証明書 を選択する)] を選択し、[Certificate name (証明書名)] から証明書を選択します。

(26)

ステップ 3: セキュリティグループを設定する 3. [Next: Configure Security Groups] を選択します。

ステップ 3: セキュリティグループを設定する

ロードバランサーのセキュリティグループは、リスナーポート ポートとヘルスチェックポートの両方 で登録済みターゲットとの通信を許可する必要があります。コンソールは、この通信を許可するルール により、お客様に代わってロードバランサー用のセキュリティグループを作成できます。希望する場合 は、代わりにセキュリティグループを作成して選択することもできます。詳細については、「推奨ルー ル (p. 23)」を参照してください。

ロードバランサーのセキュリティグループを設定するには

1. [Create a new security group] を選択します。

2. セキュリティグループの名前と説明を入力するか、デフォルトの名前と説明を維持します。この新 しいセキュリティグループには、[Configure Load Balancer] ページでロードバランサー用に選択した ポートへのトラフィックを許可するルールが含まれます。

3. [Next: Configure Routing] を選択します。

ステップ 4: ターゲットグループを設定する

ターゲットグループにターゲットを登録します。このステップで設定するターゲットグループは、リクエ ストをターゲットグループに転送するデフォルトのリスナールールで、ターゲットグループとして使用さ れます。詳細については、「Application Load Balancer のターゲットグループ (p. 48)」を参照してくだ さい。

ターゲットグループを設定するには

1. [Target group] で、デフォルトの [New target group] を保持します。 2. [Name] に、ターゲットグループの名前を入力します。

3. [Protocol] と [Port] を必要に応じて設定します。

4. [Target type] には、instance を選択してインスタンス ID でターゲットを指定するか、ip を選択し て IP アドレスでターゲットを指定します。

5. [Health checks] は、デフォルトのヘルスチェック設定のままにします。 6. [Next: Register Targets] を選択します。

ステップ 5: ターゲットグループのターゲットを設定

する

Application Load Balancer を使用して、ターゲットグループに選択したターゲットタイプによってインス タンス ID または IP アドレスを使用してターゲットを登録します。

インスタンス ID でターゲットを登録するには

1. [Instances] で、1 つ以上のインスタンスを選択します。 2. インスタンスのリスナーポートを入力し、[Add to registered] を選択します。 3. インスタンスの登録が完了したら、[Next: Review] を選択します。

IP アドレスでターゲットを登録するには

1. 各 IP アドレスを登録するには、次の操作を行います。

(27)

ステップ 6: ロードバランサーを作成する

a. [Network] で、IP アドレスがターゲットグループ VPC のサブネットからのものである場合 は、VPC を選択します。それ以外の場合は、[Other private IP address] を選択します。 b. [IP] に IP アドレスを入力します。 c. [Port] にポートを入力します。 d. [Add to list] を選択します。 2. IP アドレスのリストへの追加が完了したら、[Next: Review] を選択します。

ステップ 6: ロードバランサーを作成する

ロードバランサーを作成したら、ターゲットが最初のヘルスチェックに合格したことを確認してから、 ロードバランサーがターゲットにトラフィックを送信することをテストできます。ロードバランサーの操 作を終了したら、ロードバランサーを削除できます。詳細については、「Application Load Balancer の削 除 (p. 25)」を参照してください。

ロードバランサーを作成するには

1. [Review] ページで、[Create ] を選択します。 2. ロードバランサーが作成されたら、[Close] を選択します。 3. (オプション) パスパターンまたはホスト名に基づいてリクエストを転送する追加のリスナールールを 定義する方法については、「ルールの追加 (p. 37)」を参照してください。

Application Load Balancer のアベイラビリティー

ゾーン

アベイラビリティーゾーンは、ロードバランサーに対していつでも有効または無効にできます。アベイラ ビリティーゾーンを有効にしたら、ロードバランサーはこれらのアベイラビリティーゾーン内の登録済み ターゲットにリクエストをルーティングするようになります。有効な各アベイラビリティーゾーンに少な くとも 1 つの登録済みターゲットがあるようにする場合、ロードバランサーが最も効果的です。 アベイラビリティーゾーンを無効にすると、そのアベイラビリティーゾーン内のターゲットはロードバラ ンサーに登録されたままですが、ロードバランサーはリクエストをターゲットにルーティングしなくなり ます。

コンソールを使用してアベイラビリティーゾーンを更新するには

1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。 2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。 3. ロードバランサーを選択します。

4. [Description] タブの [Basic Configuration] で、[Edit Availability Zones] を選択します。

5. アベイラビリティーゾーンを有効にするには、そのアベイラビリティーゾーンのチェックボックスを オンにします。そのアベイラビリティーゾーンに対して 1 つのサブネットがある場合、そのサブネッ トが選択されます。そのアベイラビリティーゾーンに複数のサブネットがある場合は、いずれかのサ ブネットを選択します。アベイラビリティーゾーンにつき、1 つのサブネットしか選択できないこと に注意してください。 6. 有効なアベイラビリティーゾーンのサブネットを変更するには、[Change subnet] を選択し、その他 のサブネットの 1 つを選択します。 7. アベイラビリティーゾーンを削除するには、そのアベイラビリティーゾーンのチェックボックスをオ フにします。

参照

関連したドキュメント

The load waveform was applied as a concentrated load at the center of each panel; in addition, and the displacement of the pavement surface at the point of

携帯端末が iPhone および iPad などの場合は App Store から、 Android 端末の場合は Google Play TM から「 GENNECT Cross 」を検索します。 GENNECT

We have described the classical loss network model similar to that of Kelly [9]. It also arises in variety of different contexts. Appropriate choices of A and C for the

5 used an improved version of particle swarm optimization algorithm in order to solve the economic emissions load dispatch problem for a test system of 6 power generators, for

WAKE_IN ピンを Low から High にして DeepSleep モードから Active モードに移行し、. 16ch*8byte のデータ送信を行い、送信完了後に

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

When the velocity of moving point load was equal to, as well as on the order of twice, the celerity of surface- mode waves in shallow water, relatively large bending moment appeared

During output clamping with inductive load switch off, the energy stored in the inductance is rapidly dissipated in the device resulting in high power dissipation. Inductive