この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
はじめに
AWS上にWordpress環境を作成した内容をブログ形式で振り返っていく記事になります。
今回はいよいよ最後の手順DNS,HTTPS関連の構築です。
これまでの構築については過去の記事を参照ください
AWS×WordPress その1 – IAM,KMS
AWS×WordPress その2 – ネットワーク
AWS×WordPress その3 – RDS,EFS
AWS×WordPress その4 – EC2
AWS×WordPress その5 – 監視,通知
構成図
構成図はこちら
こちらを完成目標として構築していきます
今回も詳細は各構築手順にて記載します
構築手順
本記事では手順 6. DNS,HTTPS について記載します
※ 詳細な手順は多少前後する可能性があります。
全体の手順はこちら
-
事前準備
1-1. IAM
1-2. KMS -
ネットワーク
2-1. VPC
2-2. サブネット
2-3. インターネットゲートウェイ
2-4. ルートテーブル
2-5. セキュリティグループ -
DB,Filesystem
3-1. RDS
3-2. EFS -
EC2
4-1. EC2作成 – 1台目
4-2. WordPress – 初期設定
4-3. CloudWatchAgent – インストール/初期設定
4-4. AMI作成 – EC2 2台目起動用
4-5. EC2作成 – 2台目 -
監視,通知
5-1. SNS
5-2. Alarm – EC2 AutoRecovery
5-3. Alarm – DiskMonitor -
DNS
6-1. ELB(ALB)
6-2. Route53
6-3. ACM
6-4. WordPress
6. DNS,HTTPS
以下の順で進めていきます。
6-1. ELB作成
6-1-1. ターゲットグループの作成
6-1-2. ELB(ALB)の作成6-2. Ruote53
6-2-1. Route53 – ホストゾーンの作成
6-2-2. Route53 – レコードの作成6-3. ACM
6-3-1. ACM – 証明書のリクエスト
6-3-2. ACM – DNS検証6-4. ELB設定変更 – HTTPS/証明書の適用
6-4-1. HTTPS用リスナールールの追加6-5. WordPress
6-5-1. プラグインインストール
6-5-2. プラグイン有効化6-6. HTTPS有効化に伴う設定変更
6-6-1. ELB – リスナー設定の変更
6-6-2. ELB – セキュリティグループの変更
6-6-3. EC2用セキュリティグループの設定変更
作成を進めていきましょう
6-1. ELB
6-1-1. ターゲットグループの作成 – グループの詳細の指定
EC2コンソールを開く、
画面左のナビゲーションペインからターゲットグループを選択
ターゲットグループの作成をクリック
以下の通り入力していきます
6-1-1. ターゲットグループの作成 – ターゲットの登録
使用可能なインスタンスから、ELBのターゲットを指定
インスタンスを選択 > 保留中として以下を含める をクリック
↓
下のキャプチャのような表示になったらターゲットグループの作成をクリック
ターゲットグループの作成完了! 次はELB(ALB)の作成
6-1-2. ELB(ALB)の作成
画面左のナビゲーションペインからロードバランサ―を選択
ロードバランサ―の作成 > Application Load Balancer HTTP/HTTPS を選択
6-1-2. ELB(ALB)の作成 – ロードバランサーの設定
名前、アベイラビリティゾーンなど入力
サブネットが正しく選択できているかよく確認!
タグの設定は任意
以下の表示が出ますが、特に気にせず次の手順へ
6-1-2. ELB(ALB)の作成 – セキュリティグループの設定
HTTPS接続の設定完了までHTTPを使用するため、ALB(443)とEC2(80,22)のセキュリティグループを選択
EC2(80,22)はHTTPS設定完了後に外します
6-1-2. ELB(ALB)の作成 – ルーティングの設定
作成したターゲットグループを選択し、次の手順へ
6-1-2. ELB(ALB)の作成 – ターゲットの登録
ターゲットグループで登録したインスタンスが設定されているのを確認し、次の手順へ
6-1-2. ELB(ALB)の作成 – 確認
内容を確認し、作成!
ALB作成完了!
6-2. Ruote53
6-2-1. Route53 – ホストゾーンの作成
Route53コンソール > ホストゾーン
ホストゾーンの作成をクリック
ドメイン名、タグなど入力し ホストゾーンの作成 → ホストゾーン作成完了!
6-2-2. Route53 – レコードの作成
作成したホストゾーンを選択 → レコードを作成
・レコード名を入力
・エイリアスをONにし、ALB > リージョン > 作成したALB の順に選択 → レコードを作成
Route53での作成作業はこれにて完了!
6-3. ACM
ACMのコンソール > 証明書のプロビジョニングを選択
6-3-1. 証明書のリクエスト
パブリック証明書のリクエストを選択 > 証明書のリクエスト
6-3-2. 証明書のリクエスト – ドメイン名の追加
設定したいドメイン名を入力 > 次へ
6-3-2. 証明書のリクエスト – 検証方法の選択
DNSの検証 > 次へ
6-3-2. 証明書のリクエスト – タグを追加
タグの設定は任意の項目なので割愛します
入力する場合 → タグ名、値を入力 > 確認
6-3-2. 証明書のリクエスト – 確認とリクエスト
これまで入力した内容を再度確認、問題なければ > 確定とリクエスト
6-3-2. 証明書のリクエスト – 検証
Route53でのレコードの作成 > 成功!> 続行
6-3-3. 証明書発行完了の確認
ステータス確認
証明書発行完了!次はロードバランサ―に証明書を適用します
証明書の発行が完了したので、適宜、設定していきます。
6-4. ELB設定変更 – HTTPS/証明書の適用
6-4-1. HTTPS用リスナールールの追加(HTTPS/証明書の適用)
証明書の発行が完了したので、ALBに適用します
ロードバランサー > 作成済みALBを選択 > リスナー > リスナーの追加
・プロトコル HTTPS:443
・+アクションの追加 > 転送先 > 作成済みターゲットグループを選択
・デフォルトのSSL証明書 > ACMから(推奨) > 作成した証明書を選択 → リスナーの追加
HTTPSのリスナーも追加されました!
6-5. WordPress
WordPress側でもHTTPS接続に対応できるように設定していきます
6-5-1. サイトURLの変更
WordPressダッシュボード > 設定
以下の項目をRoute53で設定した、Aliasのレコード名に変更
WordPressアドレス(URL):http://”Route53 Aレコード名"
サイトアドレス(URL):http://”Route53 Aレコード名"
6-5-2. プラグインインストール
HTTPS化に使用するプラグインをインストールします
WordPressのダッシュボード > 画面左側プラグイン > 新規追加
HTTPSと検索 > Really simple ssl > 今すぐインストール > 有効化
6-5-3. SSL有効化
もう一度SSLを有効化するか確認されるので はい、SSLを有効化します。 をクリック!
6-5-4. 動作確認
設定から以下の項目を確認、HTTPSが有効になっていることを確認
WordPressアドレス(URL):http → https
サイトアドレス(URL):http → https
実際にサイトアドレスがHTTPSの状態で接続確認し、問題なく表示されれば完了!
これでWordpressでのHTTPS有効化は完了!
6-6. HTTPS有効化に伴う設定変更
6-6-1. ELB – リスナー設定の変更
HTTPSの設定が完了したので、HTTPのリスナー設定を削除します
ロードバランサー > 該当ALB選択 > リスナー > HTTP✓ > 削除
↓
該当ALBのリスナー設定がHTTPSのみになったことを確認し変更完了!
6-6-2. ELB – セキュリティグループの変更
ELB(ALB)に適用されているセキュリティグループの設定を変更します
ロードバランサー > 該当ALB選択 > アクション > セキュリティグループの編集
EC2用セキュリティグループを解除します
ALB用セキュリティグループのみになったことを確認 → OK!
6-6-3. EC2用セキュリティグループの設定変更
これまでの設定内容:HTTP/SSH 0.0.0.0/0
今回の変更内容:
・HTTP → ソース ALBセキュリティグループ
・SSH → マイIP(ローカルからのみ接続可にします)
→ 入力出来たらルールを保存
設定が反映されたことを確認!
まとめ
以上で構築完了です、お疲れ様でした!
今後は今回作成した構成に、別のサービスも加えた構成を作成してみたいと思います。