環境
Amazon Web Service
- EC2(Amazon Linux 2 , t2.micro , 汎用SSD 8GB)
- RDS(MySQL , db.t2.micro)
- ALB
ローカルPC
- MacBook Pro(2.9 GHz デュアルコアIntel Core i5 , 8 GB 2133 MHz LPDDR3)
- macOS 11.3.1(20E241)
概要
現状では、WebページへのアクセスがHTTPのみとなっているため、HTTPSでアクセスできるようにする。
具体的には、証明書の取得やELBでのアクセス許可設定などを実施する。

リスナーの追加
ELBでHTTPS通信を受け入れる設定を行う。
- リスナー編集画面へ遷移
ロードバランサー > (設定するLB) > リスナータブ > リスナーの追加をクリックする。 - 以下の項目を入力する。
- プロトコル:
HTTPS - ポート:
443 - アクションの追加 > 転送先
- ターゲットグループ:
TG-1 - チェックボタンをクリック
- ターゲットグループ:
- 新しい ACM 証明書をリクエストをクリックする。ここの手順は[ACM 証明書をリクエストする](#ACM 証明書をリクエストする)にて説明する。
- デフォルトの SSL 証明書:
ACMから- (先ほど作成した証明書が表示されるはず)
-
作成をクリックする。
- プロトコル:
ACM 証明書をリクエストする
- ドメイン名の追加
(独自ドメイン)を入力する。 - 検証方法の選択
DNSの検証を選択する。 - タグを追加
今回は無し - 確認とリクエスト
今回は無し - 検証
Route53でのレコードの作成
セキュリティグループの設定を編集する。
現状ではELBのセキュリティグループでHTTPしか許可していないため、HTTPSも許可する。
-
EC2 > セキュリティグループ > LB-SG-1 > インバウンドルールタブ > インバウンドルールを編集をクリックする。 -
以下の項目を入力する。
タイプ プロトコル ポート範囲 ソース 説明 HTTPS TCP 443 カスタム 0.0.0.0/0 -
ルールを保存をクリックする。
WordPress側での設定
- 2台のEC2インスタンスにSSH接続して、wp-config.phpの
define~の下の行にに以下のコードを追加する。
wp-config.php
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
}
RDSに設定されているサイトアドレスをhttpsに書き換える
- EC2インスタンスにSSH接続し、以下コマンドを入力してRDSにアクセスする。
mysql -h database-1.xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -u username -p
-
wordpressのテーブルを使用することを宣言する。
USE wordpress
- 現在のサイトアドレスを確認する。
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
+-----------+-------------+----------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+----------------------+----------+
| 2 | home | http://xxx.xxx.xx.xx | yes |
| 1 | siteurl | http://xxx.xxx.xx.xx | yes |
+-----------+-------------+----------------------+----------+
- サイトアドレスをhttpsに更新する。
UPDATE wp_options SET option_value = 'https://xxx.xxx.xx.xx' WHERE option_name IN ('siteurl', 'home');
- サイトアドレスが更新されていることを確認する。
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
+-----------+-------------+----------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+----------------------+----------+
| 2 | home | https://xxx.xxx.xx.xx | yes |
| 1 | siteurl | https://xxx.xxx.xx.xx | yes |
+-----------+-------------+----------------------+----------+
確認
https://(独自ドメイン)にアクセスして、Webページが正常に表示されることとURL欄に鍵マークが表示されることを確認する。
