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

所要時間2分
0

Amazon Application Load Balancer の機能を Amazon Lightsail インスタンスで使用することを考えています。

簡単な説明

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

Lightsail ロードバランサーには、いくつか制限があります。Application Load Balancer があると、次の領域での柔軟性が高まります。

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

こうした機能を Lightsail のウェブサイトで使用するには、Application Load Balancer を Lightsail インスタンスに関連付ける必要があります。次の手順を実行して Application Load Balancer を設定します。

解決方法

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

VPC ピアリングの設定方法については、「Amazon VPC ピアリングが Lightsail 以外の AWS リソースと連携するようセットアップする」を参照してください。

Lightsail インスタンスがあるリージョンで VPC ピアリングをアクティブにする必要があります。そのためには、そのリージョンにデフォルトの Amazon VPC があることと、AWS Identity and Access Management (IAM) で必須の権限が必要です。詳細については、「VPC ピアリングを使用して Amazon Lightsail と他の AWS サービスとの間の通信をセットアップするために最低限必要な IAM 権限は何ですか?」を参照してください。

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

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

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

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

証明書には名前を2つ付けるのがベストプラクティスです。たとえば、example.com*.example.com などです。こうすることで、メインドメインとサブドメイン (www.example.comxyz.example.com など) の両方に同じ証明書を使用できます。サブドメインの2レベルのワイルドカード SSL 証明書は、このソリューションの対象外になりますので、注意してください。たとえば、abc.xyz.example.com などです。

DNS ドメイン検証を E メール検証の代わりに使用するのがベストプラクティスです。

ドメイン所有権の DNS か E メールによる検証で問題がある場合は、次を参照してください。

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

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

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

  • ターゲットタイプには、必ず IP を選択します。
  • SSL 証明書が Lightsail インスタンス内にインストールされていない場合、プロトコルは HTTP、ポートは80のままにしておきます。インスタンス内には HTTPS リダイレクトを設定しないでおきます。そうしないと、リダイレクト無限ループエラーが発生する可能性があります。
  • Application Load Balancer から Lightsail インスタンスへ転送中のデータを暗号化するには、プロトコルは HTTPS、ポートは443のままにします。これを行うには、SSL 証明書をインスタンスにインストールしておきます。
  • [VPC] セクションでデフォルト VPC を選択します。
  • ターゲットの登録」セクションの [ネットワーク] で [その他のプライベート IP アドレス] を選択し、Lightsail インスタンスのプライベート IP アドレスを指定します。Lightsail インスタンスのプライベート IP アドレスを確認する方法については、「インスタンスのプライベート/パブリック IPv4 アドレス」を参照してください。

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

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

ロードバランサーを設定する際は、次のことに注意します。

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

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

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

**注:**Lightsail DNS をドメインに使用している場合でも、DNS は Route 53 に切り替える必要があります。Apex ドメインを Lightsail DNS で Application Load Balancer の DNS 名にポイントすることはできません。

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

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

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

**注:**EC2 インスタンスの IP アドレスをポイントするドメインの DNS レコードがすでに Route 53 にある場合は、そのレコードを編集します。新しいレコードの作成はしないでください。

ウェブサイトが正しく読み込まれることを確認する

ブラウザでドメインにアクセスし、ウェブサイトが正しく読み込まれることを確認します。Application Load Balancer を Lightsail インスタンスに接続したので、Lightsail ロードバランサーにはない機能も使用できます。

AWS公式
AWS公式更新しました 7ヶ月前
コメントはありません