11/30 改定
ALBの設定が素晴らしく改善されていました。
Route53を使わずにALBに証明書を突っ込めます。
Route53を使っていればALB証明書の画面からワンクリックで追記できます。
##あらすじ
あやうくシステムダウンするところだったので、まとめておきます。
まず、ALBで証明書を新規に作って使う方法はこのようになります。
- 前提条件はEC2のインスタンスを起動していることとします。
- ドメインはRoute53以外(今回はお名前.com)で取得済み
DNSの設定その1
- Route53を起動し、お名前.comで契約したドメインを追加します。
- このときにMXレコードを登録していなければ、SESとS3の組み合わせで登録するか、GoogleApps等で受信できるようにしておいて下さい。今回は説明を省きます。 参考: http://qiita.com/stso/items/e8641281580d09a89540
- この時、メアドはACMが受信できるようにadmin@example.com 等を設定して下さい。受信できなくなります。
ロードバランサーと証明書の設定
- EC2の画面を開く
- ロードバランサーを開く
- ロードバランサーの作成を押す
- Application Load Balancerを選択して次へ
- ロードバランサーの設定で名前設定し、リスナーの追加でHTTPSを追加。
- その後、アベイラビリティゾーンを表示されている2つをアクションのところにある+ボタンを押して追加する。
- 任意でタグにキー: Name, 値: ロードバランサー名と同名を設定し次の手順:セキュリティ設定の構成をクリックする
- セキュリティ設定の構成画面でAWS 証明書マネージャ(ACM)から、既存の証明書を選択するをチェックし、証明書が無いと思うので、【ACMから新しい証明書をリクエスト】をクリックする。
- http://blog.serverworks.co.jp/tech/2016/04/07/acm_beginner/ を参考にACMを作成する。
- 作成したら証明書の名前から該当の証明書を選択して、【次の手順:セキュリティグループの設定】
- セキュリティグループの設定に来たら、新しいセキュリティグループを作成するを選択し、次の手順:ルーティングの設定をクリックする
- ルーティングの設定に来たら、ターゲットグループが新しいターゲットグループになっていることを確認し、名前に任意の名前を設定、プロトコルをHTTP(またはHTTPS)とします。ヘルスチェックは今回は説明を省きますので、そのまま、次の手順:ターゲットの登録に進みます。
- ターゲットの登録に来たら、該当するインスタンスを選択し登録済みに追加を押します。最後に次の手順:確認を押します。この際、EC2に証明書を入れていない場合は、ポートは80にしておいて下さい。そうしないとロードバランサーから先に行きません。
- 確認画面に来たら、作成を押します。
DNSの設定
- Route53を起動し、追加したドメインのネームサーバ(NS)を調べます。
- お名前.comに行って、ログイン後、ドメイン設定のネームサーバーの変更をクリックします。
- ご登録情報に変更・相違はありませんか?とでますが、登録情報は正しいので、手続きを進める。
- 他のネームサーバーを利用をクリックしたあと、該当のドメインにチェックを入れ、ドメイン名をクリックして、下のフォームに現在設定されているネームサーバー名を反映させる。
- 設定されているネームサーバー名をすべて消し、route53のNSを設定する。
- route53に戻り、ロードバランサーのDNS名と書かれたとこに記載のレコード名を、Create Record Setを押して、ドメインのAレコードにaliasにチェックを入れて入力しSave Record Setをクリックする。
- 伝播するまで1800秒(30分)かかるがその後httpsでアクセスすると見られる。