実際にやってみたときのメモです。
そもそもの話
SSLって何?とかは、以下参照。
【勉強メモ】SSL/TLSとhttp/httpsの違い - Qiita
前提事項
- アプリケーションは、EC2上で稼働させる
- Route53 → ALB → EC2の構成で実行。HTTPSはRoute53 → ALB間のみ。
- ドメインはAWSでも取得できるが、有料のため、無料のFreenomで取得。
 【図解】DNSサーバーとは?設定・変更と確認方法 | カゴヤのサーバー研究室
手順
作業の流れ
- ドメインを取得
- Route53のホストゾーン作成
- ACM(Amazon Certificate Manager)でSSL証明書を取得
- ALB作成(SSL証明書の設定も併せて実施)
- Route53にALBのAレコード登録
- アプリを稼働させてhttpsでリクエスト
   
ドメインの取得
無料のドメインを取得する - Qiita
無料ドメイン(.tk)とRoute53を利用して0円でHTTPS環境を設定してみた | DevelopersIO
[今すぐ入手]を押す前に、「xxxx.tk」等、ドメインの最後まで入力する必要あり
(.xxを入力してない場合、取得不可で先に進めない)
Route53設定
ホストゾーンの作成
Route53のホストゾーンで、[ホストゾーンの作成] を押す

ホストゾーンの設定
取得したドメイン名を入力し、[ホストゾーンの作成]を押す。
作成後。CNAMEレコードを登録のためメモする。

NSレコードの確認
ネームサーバの登録
Services▼メニューのMy Domainsを選択し、対象のドメイン欄のManaged Domainボタンを押す。
Management Tools▼メニューのNameserversで設定を行う。
NSレコードを4件とも登録する。

Certificate Manager(ACM)でSSL証明書を取得
証明書のプロビジョニング
パブリック証明書をリクエストする
ドメイン名はワイルドカード証明書(*.~)として作成する。
(後のALBのAレコード設定時に必要なため)
ドメイン名の追加
検証方法の選択
タグを追加(任意)
タグ管理したいときのみ、タグを追加する。
確認とリクエスト
検証(CMANEレコードの設定と、検証リクエスト)
ドメインのDNS(Route53)にCNAMEレコードを設定する。
Route53を使う場合、[Route53でのレコード作成] ボタンを押すことで、自動で登録してくれる。

ACMのメニューで、検証が成功し、発行済になっていることを確認。
(Route53を使った場合は、30分以内で完了できる)

ALBの作成
以下の内容で作成。
(詳細手順は、別記事「【メモ】AWSでApplication Load Balancerの作成」参照)
| 設定箇所 | 設定内容 | 
|---|---|
| ロードバランサーの種類の選択 | Application Load Balancer | 
| 【手順1:ロードバランサーの設定】 ロードバランサーのプロトコル | HTTPS | 
| 【手順 2: セキュリティ設定の構成】 デフォルトの証明書の選択 | ACMで作成したSSL証明書 | 
Route53にALBのAレコード登録
Route53のホストゾーンで、作成済のものを選択し、[レコードを作成]。

レコード名がhttp/httpsリクエスト時のドメインの名前になるので注意。
「bbb.aaa.com」にした場合、アクセス方法は「http(or https)://bbb.aaa.com」になる。
| 項目 | 内容 | 
|---|---|
| レコード名 | 作成するレコードの名前。 | 
| レコードタイプ | A - IPv4アドレスと一部のAWSリソースにトラフックをルーティングします。 | 
| トラフックのルーティング先 | 作成したALB(ロードバランサー)を選択。 | 
| ルーティングポリシー | 使いたいものを選択。 シンプルルーティング…Webサーバーなど 1リソースのみにルーティングする。加重…同じジョブを実行する複数のリソースがあり、各リソースへのトラフィックの割合を指定する。位置情報…ユーザーの場所によりルーティング。レイテンシー…複数リージョンにリソースがあり、レイテンシーが最適なリージョンにルーティングする。フェイルオーバー…リソースが正常時はそのリソースに、異常時は別のリソースにルーティングする。複数値回答…Route 53が DNSのクエリに対し、ランダムに選択された最大 8 つの正常なレコードを返す。 | 
| ターゲットのヘルスを評価 | 指定したリソースが正常時のみ、Route 53がこのレコードを使用してDNSクエリに応答する。 | 
参考サイト
AWS運用には無料のSSL証明書を活用しよう!(取得も簡単、難易度低です) | AWS運用最適化サービス cloud link (クラウドリンク)









