AWSでドメイン、SSL証明書の取得、設定

aws AWS
aws-ec2 EC2

サーバからドメイン取得、SSL証明書の作成まで、全てAWSで行ってみた
設定時にスクリーンショットを取らずにやってしまったので、公式サイトや先人達の知恵を拝借して

ザックリとした設定手順は以下の通り

  • EC2インスタンス作成
  • Route 53でドメイン取得
  • AWS Certificate Manager(ACM)でSSL証明書作成
  • EC2 Elastic Load Balancing(ELB)でSSL証明書を使用する設定
  • Route 53でDNS設定

前提

EC2でインスタンス作成済み

前もっての注意事項

EC2と以下の作業は全て同じリージョンで設定する
リージョンが異なると、作成したSSL証明書が選択できないなど困ったことになる
少し前まで東京ではSSL証明書が作成出来なかったようだが、現在は東京でも出来る

ドメイン取得

Route 53でドメインを取得する
ドメイン取得費用は、.jpドメインだとAWS以外で取得するのに比べてかなり高め、.comドメインは他と比べてもそこまで大きな差はない

以下の公式サイトの設定手順を参考にドメインを取得する
以下の中で必要なのはEC2Elastic IPの取得とRoute 53でのドメインの取得までで、ステップ3のDNSの設定はまだ行わない(後のELBの設定後に行うため)
https://aws.amazon.com/jp/getting-started/get-a-domain/

SSL証明書作成

AWS Certificate Manager(ACM)でSSL証明書を作成する
SSL証明書の作成は無料だが、作成したSSL証明書のダウンロードは出来ないので、ELBCloudFrontを使用する必要がある

良くまとまっているサイトがあったので参考にさせていただいた
http://blog.serverworks.co.jp/tech/2016/04/07/acm_beginner/

ロードバランサー設定

先に作成したSSL証明書を使用するため、Elastic Load Balancing(ELB)を設定する

以下の公式サイトの設定手順を参考にロードバランサーを設定する
http://docs.aws.amazon.com/ja_jp/ElasticLoadBalancing/latest/DeveloperGuide/elb-getting-started.html

上記ではSSLの設定が載っていないので補足

「リスナーの設定」では、HTTP(80)に加えHTTPS(443)を設定する
スクリーンショット 2016-07-31 1.52.58.png

「セキュリティの設定」で「AWS 証明書マネージャ (ACM) から、既存の証明書を選択する」を選択し、先に作成したSSL証明書を選択する
スクリーンショット 2016-07-31 1.58.32.png

DNS設定

Route 53でAレコードのエイリアス設定を行う

ドメイン取得で参考にしたページのステップ3のDNS設定から再開し、静的 IP アドレスではなく、全修飾ドメイン名 (FQDN)の手順に従って設定する
https://aws.amazon.com/jp/getting-started/get-a-domain/

これで一通り設定終了