アプリケーションを安全にデプロイして、トラフィックを AWS Elastic Beanstalk URL にルーティングしたいと考えています。
簡単な説明
アプリケーションをデプロイして Elastic Beanstalk 環境にトラフィックをルーティングするには、次の手順を実行します。
- Elastic Beanstalk 環境を作成し、アプリケーションをデプロイします。
- 新しいドメインを購入または登録します。
- AWS Certificate Manager (ACM) 証明書を作成します。
- ロードバランサーレベルで HTTPS を終了する
- Amazon Route 53 を使用して、トラフィックを Elastic Beanstalk 環境にルーティングします。
- HTTPS リダイレクト。
解決策
Elastic Beanstalk 環境を作成してアプリケーションをデプロイする
- AWS アカウントを作成します。
- Elastic Beanstalk コンソールを開き、「リージョン」リストから AWS リージョンを選択します。
- Elastic Beanstalk アプリケーションを作成します。
- Elastic Beanstalk 環境を作成します。ロードバランサー環境を作成してください。
- アプリケーションをデプロイします。
注: 環境の作成時にアプリケーションバージョンを選択しなかった場合、サンプルアプリケーションはデフォルトでは、お使いの環境にデプロイされます。
Elastic Beanstalk のサブドメインのユーザーは、お使いの環境を使用することができます。環境のアプリケーションの URL は、Elastic Beanstalk コンソールの概要ページでも確認できます。ドメインを所有している場合は、Route 53 を使用してそのドメインをお使いの環境に解決します。
環境の作成中に問題が発生した場合は、「Elastic Beanstalk 環境のトラブルシューティング」を参照してください。
新しいドメインを購入または登録する
Route 53 または別の DNS プロバイダーを使用して新しいドメイン名を購入または登録します。既にドメインをお持ちの場合は、同じドメインを Elastic Beanstalk アプリケーションに使用できます。詳細については、「新しいドメインの登録」を参照してください。
ACM 証明書を作成する
アプリケーションを保護 (HTTPS) するには、SSL 証明書が必要です。ドメイン名を所有している場合は、ACM を使用して AWS で証明書を作成し、負荷分散環境で使用することができます。ACM からのパブリックに信頼された証明書リクエストに関する詳細については、「AWS Certificate Manager のパブリック証明書」を参照してください。
ACM 証明書のリクエストと検証時に問題が発生した場合は、「AWS Certificate Manager での問題のトラブルシューティング」を参照してください。
注: 末尾が amazonaws.com、cloudfront.net、elasticbeanstalk.com などである、Amazon が所有するドメイン名に対する証明書をリクエストすることはできません。
ロードバランサーレベルで HTTPS を終了する
HTTPS を使用するように環境を更新するには、環境のロードバランサーに対して HTTPS リスナーを設定する必要があります。詳細については、「ロードバランサーでの HTTPS ターミネーションを設定する」を参照してください。
注: 単一インスタンス環境にはロードバランサーがないため、ロードバランサーでの HTTPS ターミネーションはサポートされていません。
HTTPS リスナーを作成できない場合や、HTTPS リスナーの追加時にエラーが発生する場合は、AWS サポートにお問い合わせください。
Route 53 を使用してトラフィックを Elastic Beanstalk 環境にルーティングする
Route 53 レコードには、トラフィックの環境にどのようにルーティングされるかを制御する設定が含まれています。環境 URL を指すエイリアスレコードを作成できます。詳細については、「AWS Elastic Beanstalk 環境へのトラフィックのルーティング」を参照してください。
注: 通常、変更は 60 秒以内にすべての Route 53 サーバーに伝達されます。伝達が完了したら、作成したエイリアスレコードの名前を使用して Elastic Beanstalk 環境にトラフィックをルーティングします。
Route 53 エイリアスレコードの作成時に問題が発生した場合は、「Amazon Route 53 のトラブルシューティング」を参照してください。
HTTPS リダイレクト
DNS の伝達が完了すると、ドメインはトラフィックを環境にルーティングし始めます。ドメインは、HTTP (80) と HTTPS (443) の 2 種類のリクエストを受け付けます。HTTP から HTTPS にトラフィックをリダイレクトする場合は、リダイレクションを設定する必要があります。HTTPS リダイレクションを設定するには、アプリケーションソースバンドルでこの設定ファイルを使用してデプロイします。この設定ファイルは、Application Load Balancer にアタッチされているデフォルトのポート 80 リスナーを変更して、HTTP 上の着信接続を HTTPS に自動的にリダイレクトします。
注: この設定ファイルは、ロードバランサータイプ classic または network を使用する環境では機能しません。
リダイレクトの試行時に問題が発生した場合は、AWS サポートにお問い合わせください。