今回は、独自ドメインを使ってHTTPS通信をやっていきたいと思います。
Webサイトを立てる時は、自分で好きな名前のドメインを付けて、HTTPSで通信の暗号化を行いたいですよね!?
それがこの記事で実現出来ちゃうんですよ!!!
ワクワクしませんか!?
ドメイン名をIPアドレスに変換する為に、Amazon route53という、Domain Name System(DNS)サービスを使います。
HTTPS通信を実現する為に、SSL証明書の発行や管理を行ってくれる、Amazon Certificate Manager(ACM) を使います。
独自ドメインは一定期間 無料で使用出来ますので、チャレンジしてみてください。
やりたいこと
- 独自ドメインを使って、HTTPS通信を行う
aws構成図
やることリスト
- VPC内に、2つPublic Subnetを構築
- 各Public Subnet 内に EC2インスタンス を構築
- 各EC2インスタンス内に、Webサイトを立ち上げ
- ALBを構築
- ドメインの取得
- Route53にドメイン登録
- ACMで証明書発行
- ALBのリスナーに443追加
料金の確認
AWSサービスには、無料で使えるサービスもありますが、当然有料サービスもあります。
本章では、分かる範囲でAWSサービスの料金について書こうと思いますが、私の理解不足で漏れていることもあります。
各サービスを使う際は、料金がどのくらい掛かるかを理解した上で、自己責任で利用ください。
Route53
今回は、料金が掛かってきます。
0.50 USD ホストゾーンごと / 月
月に0.5ドルなら安いです。
VPC構築
EC2インスタンス構築
ALB構築
上記の「VPC構築」、「EC2インスタンス構築」、「ALB構築」は、以下記事を参照して構築してください。
ドメイン取得
以下「お名前.com」にアクセスし、自分だけのドメインを取得していきましょう!
ドメイン登録
ドメインを取得したら、Route53にドメインを登録していきましょう。
AWSのコンソール画面にログインし、Route53 サービスに遷移します。
設定~Route53~
ホストゾーン > ホストゾーンの作成 ボタンをクリックし、設定画面に遷移します。
ドメイン名欄に、ドメイン取得で取得したドメインを設定します。
後の設定はデフォルトで、「ホストゾーンの作成」 ボタンを押します。
設定~ネームサーバ~
route53にドメインを登録すると、ns-* といった、ネームサーバ が追加されます。
このネームサーバ4つを、「お名前.com」のネームサーバに設定します。
証明書発行
設定~証明書リクエスト~
ACMを使って、SSL証明書を発行していきましょう。
AWSのコンソール画面から、ACM サービスに遷移します。
左メニューから、証明書をリクエスト をクリックし、設定を行っていきます。
証明書タイプ
「パブリック証明書をリクエスト」を選択し、次へ。
ドメイン名
完全修飾ドメイン名欄に、取得したドメインを設定し、
他設定はデフォルトで、「リクエスト」ボタンをクリックしします。
設定~CNAMEレコードの追加~
ACMはドメインのCNAMEレコードを作成します。
そのCNAMEレコードをRoute53に追加してあげる必要があります。
証明書一覧 > (任意の)証明書ID > Route53でレコードを作成 > レコードを作成 ボタンを押します。
しばらくすると、証明書のステータスが、「発行済み」になります。
これで、HTTPS通信が出来ますね!
ロードバランサ―に443リスナー追加
HTTPS通信をする為に、ロードバランサ―のリスナーに443ポートを追加してあげましょう。
EC2サービス > ロードバランサ― > 任意の 「ロードバランサ―」 > 「リスナーとルール」タブ > 「リスナーの追加」ボタンを押して、設定画面に遷移します。
リスナーの詳細
セキュアリスナーの設定
ここで、先ほど発行されたSSL/TLS証明書を設定します。
最後尾の「追加」ボタンを押して終了です。
ロードバランサーへのルーティング追加
DNSでドメインの名前解決先を、ロードバランサ―に向けてあげます。
Route53サービス > ホストゾーン > 任意の「ホストゾーン」> 「レコードを作成」ボタンを押して、設定画面に遷移します。
ルーティングポリシー
「シンプルルーティング」を選択し、「次へ」ボタンを押します。
シンプルなレコードを定義
「シンプルなレコードを定義」ボタンを押します。
以下の設定を行い、「シンプルなレコードを定義」ボタンを押します。
「レコードを作成」ボタンを押します。
HTTPS確認
さあ!、いよいよ確認です!!!
取得したドメインにhttps://を付けてブラウザで表示させてみてください。
ブラウザのアドレスの左に、鍵マークがついて、接続が保護されたのではないでしょうか!!!
サービス削除
サービスには起動させているだけで料金が発生するものがあります。
使用しないのであれば、削除しましょう。
今回使用したサービスで、今思いつくものは以下になります。
課金が発生していないかは、日々チェックするのがいいと思います。
- EC2インスタンス
- ロードバランサ―
- Route53のホストゾーン
- ドメイン(お名前.com など)
- NAT ゲートウェイ
最後に
如何でしたか?
座学で勉強するより更なる学びがあったのではないでしょうか。