Application Load Balancer を Lightsail インスタンスに関連付けるにはどうすればよいですか?

最終更新日: 2021 年 10 月 5 日

Amazon Lightsail インスタンスで Amazon Application Load Balancer の機能を使用したいと考えています。どうすればよいですか?

簡単な説明

Lightsail ロードバランサーを使用して、ウェブアプリケーションに冗長性を追加したり、より多くのウェブトラフィックを処理したりできます。また、Lightsail ロードバランサーを使用して、Lightsail インスタンスでホストされているウェブサイト用に Amazon が提供する SSL 証明書をインストールすることもできます。

ただし、Amazon Application Load Balancer と比べると、Lightsail ロードバランサーには制限があります。次を含むいくつかの領域で Application Load Balancer の柔軟性が向上しています。

  • ロードバランサーのヘルスチェックの柔軟性。
  • ロードバランサーとインスタンス間で転送中のデータのエンドツーエンドの暗号化。
  • AWS WAF などのファイアウォールサービスの使用。

Lightsail でウェブサイト用にこれらの機能を使用するために、Application Load Balancer を Lightsail インスタンスに関連付けることができます。Application Load Balancer をセットアップするには、次の手順を実行します。

  1. インスタンスが Application Load Balancer などの AWS リソースに接続することを許可するように、Lightsail で Amazon VPC ピアリングを設定します。
  2. (オプション) ウェブサイトに関連付ける場合は、AWS Certificate Manager (ACM) SSL 証明書を生成します。
  3. ターゲットグループのターゲットを Lightsail インスタンスのプライベート IP アドレスに設定して、ロードバランサーを設定します。
  4. ドメインが DNS の新しいロードバランサーをポイントするようにします。

解決方法

Lightsail で VPC ピアリングを設定する

VPC ピアリングの設定手順については、Set up Amazon VPC peering to work with AWS resources outside of Lightsail を参照してください。

Lightsail インスタンスが配置されているリージョンのために VPC ピアリングをアクティブ化する必要があります。これを行うには、そのリージョンのデフォルトの Amazon VPC と、必要な AWS Identity and Access Management (IAM) 許可を備えている必要があります。詳細については、What are the minimum IAM permissions needed to set up communication between Lightsail and other AWS services using VPC peering? を参照してください。

デフォルト VPC があるかどうかを確認するには、デフォルト VPC とデフォルトサブネットの表示を参照してください。

デフォルトの Amazon VPC がない場合は作成できます。詳細については、デフォルトの VPC を作成するを参照してください。

(オプション) ACM 証明書を生成する

ACM 証明書をドメインに関連付けて HTTPS を使用してウェブサイトにアクセスする方法については、コンソールを使用してパブリック証明書をリクエストするを参照してください。

証明書には 2 つの名前を付けるのがベストプラクティスです。例えば、example.com および *.example.com とします。これにより、メインドメインとサブドメイン (www.example.comxyz.example.com など) に同じ証明書を使用できます。これは、abc.xyz.example.com など、サブドメインの 2 つのレベルのために Wildcard SSL 証明書を対象とするものではないことに注意してください。

また、E メール検証の代わりに DNS ドメイン検証を使用するのもベストプラクティスです。DNS 検証には、E メール検証に比して複数の利点があります。

DNS または E メールを使用してドメインの所有権を検証する際に問題が発生した場合は、以下を参照してください。

ロードバランサーのためにターゲットグループを設定し、ターゲットを登録する

手順については、ターゲットグループを設定するを参照してください。

ターゲットを設定するときは、次の点に注意してください。

  • ターゲットタイプとして [IP] を選択してください。
  • Lightsail インスタンス内に SSL 証明書をインストールしていない場合は、プロトコルを HTTP、ポートを 80 のままにします。インスタンス内に HTTPS リダイレクトが設定されていないようにしてください。設定されている場合、無限リダイレクトループエラーが発生する可能性があります。
  • プロトコルは HTTPS、ポートは 443 のままにします。Application Load Balancer から Lightsail インスタンスに転送中のデータを暗号化する場合。このためには、SSL 証明書がインスタンスに確実にインストールされているようにしてください。
  • [VPC] セクションでデフォルトの VPC を選択する
  • [Register target] (ターゲットの登録) セクションで、[Network] (ネットワーク) の下の [Other Private IP addresses] (その他のプライベート IP アドレス) を選択し、Lightsail インスタンスのプライベート IP アドレスを指定します。Lightsail インスタンスのプライベート IP アドレスの取得については、Private and public IPv4 addresses for instances を参照してください。

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

手順については、ロードバランサーとリスナーを設定するを参照してください。

ロードバランサーを設定するときは、次の点に注意してください。

  • デフォルトの VPC と、少なくとも 2 つのアベイラビリティーゾーンを確実に選択します。任意のアベイラビリティーゾーンを選択できます。
  • セキュリティグループを選択するか、新しいセキュリティグループを作成します。セキュリティグループでポート 80 が確実に開いているようにします。また、ACM 証明書をロードバランサーにアタッチする場合は、ポート 443 を開きます。
  • ACM 証明書を使用して HTTPS でウェブサイトにアクセスする場合は、新しい HTTPS リスナーを追加します。
  • HTTP および HTTPS リスナーの両方が、前のステップで作成したターゲットグループをポイントするようにします。

ALB DNS 名をポイントするようにドメインの DNS エントリを更新する

ウェブサイトで Application Load Balancer を使用するドメインには、Amazon ネームサーバーと Amazon Route 53 を使用するのがベストプラクティスです。これは、AWS が IP アドレスではなく、ロードバランサーの DNS 名を提供するためです。ほとんどのネームサーバーは、example.com などの Apex ドメインのホスト名の追加をサポートしていません。これは、www.example.com や blog.example.com などのサブドメインのためにのみサポートされています。ただし、Route 53 は、Apex ドメイン (example.com) がロードバランサーの DNS 名を直接ポイントするようにすることを許可するエイリアス機能を備えています。

注: ドメインに Lightsail DNS を使用している場合でも、DNS を Route 53 に切り替える必要があります。これは、Apex ドメインが Lightsail DNS の Application Load Balancer ーの DNS 名をポイントするようにすることが不可能であるためです。

ドメインのネームサーバーを Amazon に更新するには、Amazon をまだ使用していない場合は、Route 53 を使用中のドメインの DNS サービスにするを参照してください。

ロードバランサーの DNS 名を取得するには、ELB ロードバランサーの DNS 名の取得を参照してください。

Route 53 ホストゾーンを更新して、ドメインがロードバランサーの DNS 名をポイントするようにするには、ELB ロードバランサーへのトラフィックのルーティングを参照してください。

注: EC2 インスタンスの IP アドレスをポイントしている Route 53 のドメイン用の DNS レコードが既にある場合は、新しいレコードを追加するのではなく、それらの既存のレコードを編集します。

最終チェック

ブラウザでドメインにアクセスし、ウェブサイトが正しくロードされていることを確認します。Application Load Balancer を Lightsail インスタンスに接続したので、Lightsail Load Balancer にはないさまざまな機能を使用できるようになりました。AWS WAF などのファイアウォールサービスをセットアップすることもできます。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?