AWS EC2サイトの独自ドメインの設定とSSL化(無料証明書の発行)方法について。
Route53でAWS上に登録した独自ドメインは無料でSSL化することができます。無料でSSL化する方法は以下の2つです。
- Elastic Load Balancing(ロードバランサー)サービスを契約している場合は、AWSから無料で証明書を入手できる。
- ELBを契約していない場合は、Let’s Encryptが発行する無料証明書を発行する。
ここでは、ELBを契約していない場合に、独自ドメインをSSL化する手順についてまとめています。
AWSで独自ドメインを無料でSSL化する手順
AWSで独自ドメインを無料でSSL化する手順は大きく5つのステップに分かれます。
1.Elastic IPアドレスの割当
2.独自ドメインの取得
3.Route53のDNS管理でホストゾーンの設定
4.TLSの有効化
5.CA署名証明書の発行(Let’s EncryptとCerbotを使用)
AWSの公式の設定マニュアルに従って実行していきます。
・手順1~3の公式マニュアル
(公式)ドメイン名を登録する
Elastic IPアドレスの割当
- AWSのEC2コンソールから設定。
- 左カラムのネットワーク & セキュリティの中にElastic IPアドレスがある。
- 画面右上の「Elastic IPアドレスの割当」ボタンから。
費用は無料*
*Elastic IPアドレスがインスタンスに紐付いていること
*そのインスタンスが実行中であること(課金状態)
*1つのインスタンスに対しElastic IPアドレスが1つ
上記を満たなさい場合は料金がかかります。
なぜElastic IPアドレスを設定する必要があるのか?
EC2のIPv4 パブリック IPアドレスはデフォルトでは、ずっと同じではなく変化します。Elastic IPアドレスを割り当てることで、同じIPアドレスにすることができます。
独自ドメインの取得
お名前ドットコム、xdomainなどで取得。
Route53のDNS管理からも取得可能。
費用が発生(サイトによって異なる)
・取得料
・更新料
*探せば無料で取得できるサイトもある。
取得価格が安くても年間更新料が高い場合があるので、両方を確認した上で取得する。
Route53のDNS管理でホストゾーンの設定
AWSのRoute53というサービスを利用し
– ホストゾーンの作成で、購入したドメイン名を登録。
– レコードセットの作成で、Elastic IPアドレスをコピペ
– NSを表示 → 取得したドメインサイトのNSに登録。
上記のマニュアルに沿って実行。
TLSの有効化
こちらは1~3とは別のマニュアルに沿って実施。
(公式)Amazon Linux 2 に SSL/TLS を設定する
- EC2サーバーへのログイン時は、パブリックIPを設定したElastic IPに書き換える。
- 途中でファイルのコメントアウトや追記をする際は、コマンドに
sudo vi ファイルパス
を入力- vimエディタの場合
- sudoを忘れると書き込みできない(読み込み専用)
CA署名証明書の発行(Let’s EncryptとCerbotを使用)
SSL証明書の発行はLet’s Encryptを使います。ひたすらマニュアルに沿って実行。
(公式)Let’s Encrypt と Certbot の使用
- 途中でHTTP クエリを HTTPS にリダイレクトするどうかの確認が求められるので、2(すべてhttpsにリダイレクト)を選択。
時間はかかりますが、無事独自ドメインでSSL化できました。