概要
ACM(AmazonCertificateManager) と ELB(ElasticLoadBalancer)をつかってHTTPS
Route53の設定
ACMの認証にはDNS検証を使うのが楽そうなので、Route53経由でドメインをひけるようにする。
たとえば、ドメインをお名前.comなどで取得した場合は、以下のような設定が必要になる。
https://qiita.com/sadayuki-matsuno/items/4c371ba984d9b22b3737
ACM設定
ACMの画面にいき、手順にそって入力していく。
途中DNS認証を選択すると、ACMが自動的にRoute53に認証に使用するCNAMEドメインをはってくれる。
サブドメインも設定可能
hogehoge.com
と *.hogehoge.com
の2つの証明証を発行することなどが可能。
待っていれば認証完了になる。
この時点でOKにならないときはRoute53で対象のドメインが正しく引けないなどの問題がある。
EC2立ち上げ
ELBが参照するVMを先に作っておく。
ELBをHTTPSの終端としたかったので、VMでのHTTPは80のみ受け付ければOK
ACMを作成したリージョンと同じリージョンになるよう注意する。
セキュリティグループを一旦開放し、HTTPでインターネットからアクセスできることを確認しておく。
アクセスできなければ、HTTPサーバの設定などを確認する。
ELB設定
立ち上げたEC2のVPCと合わせること。
リスナー設定は以下の2つを設定
- HTTP:80は同じドメインの HTTPS へリダイレクト
- HTTPS:443はターゲットホストの HTTP へ転送
ターゲットホストに先程立ち上げたEC2インスタンスを登録
ヘルスチェックはHTTP。
Route53でAliasを設定
対象のドメインを発行
AレコードでELBにAliasをはる。
(Aliasを選択するとプルダウンとなり、ELBが選択可能になっている)
確認
設定したドメインから接続して問題なければOK
残処理として、セキュリティグループを堅牢にするなど。
EC2のインバウンドは、ロードバランサーのみ(またはVPC内のみ)にするなど。