はじめに
前記事「AWSにWordPressを構築してみた」の続き
実際に使えるサイトにしていきたいので下記の要件を満たす。
- 独自ドメインを割り当てる
- SSL対応する
ってことでチャッチャと作っていく。
設定
お名前コムでドメインを取得する
ドメインの管理は全てお名前コムで行っているので今回もお名前コムでドメインを取得してAWS側に紐付けていく。
ってことで取得。
route53を設定する
AWSのroute53で先ほど取得したドメインのホストゾーンを作成する。
とりあえず今はホストゾーンを作るだけで終了。
NSのValueをメモしておく。
お名前コムに設定をいれる
お名前コムの管理ページ「ドメイン設定」>「他のネームサーバーを利用」で先ほどメモしたNSのValueを入力する。
これで先ほど作ったホストゾーンにアクセスが流れるようになる。
SSL証明書を発行する
AWSの「Certificate Manager」で取得する。
「証明書のプロビジョニング」>「パブリック証明書のリクエスト」でドメインは取得したドメインを入力。
そいで「DNSの検証」を選択して残りは「次へ」を連打。
そーすると検証保留中のレコードができるので「Route53でのレコードを作成」を押下。
あとはステータスが変わるまで30分程度待つ。
ターゲットグループを作成する
ロードバランサー作成の事前作業のためにターゲットグループの作成をしておく。
「EC2」>「ターゲットグループ」から「ターゲットグループの作成」をポチッ。
名前を入力、それ以外は特に変更なし。
作成したターゲットグループを選択し、ターゲットタブから「編集」をポチッ。
アクセスを流したいインスタンスを選択し「保存」。
ロードバランサーを作成する
先ほど作成したSSL証明書を利用するためにロードバランサーを作成してSSL証明書を紐づけていく。
「EC2」>「ロードバランサー」から「ロードバランサーの作成」をポチッ。
「HTTP/HTTPS」を選択。
名前を適当に決めてプロトコルに「HTTPS」を追加。
アベイラビリティゾーンに全件チェックを入れて「次へ」。
「ACMから証明書を選択する」から先ほど作成した証明書を選択して「次へ」。
「既存のターゲットグループ」から先ほど作成したターゲットグループを選択して「次へ」。
残りは「次へ」を連打。出来上がりはこんな感じ。
ホストゾーンにロードバランサーを設定する
最初に作成したホストゾーンに先ほど作成したロードバランサーを設定していく。
「Route53」で作成したホストゾーンを選択。
「レコードセットの作成」をポチッ。
エイリアスを「はい」にしてエイリアス先を先ほど作成したロードバランサーを選択し「作成」をポチッ。
はい、完成。
ってことでドメイン経由でアクセスしてみまっしょい。
あん?nginxのデフォルトページ?
ってことでサーバに入ってnginxの設定を確認してみる。
$ cat /etc/nginx/conf.d/wordpres.conf
server {
listen 80;
server_name *.amazonaws.com;
server_name ~^\d+\.\d+\.\d+\.\d+$;
location / {
root /var/www/html;
index index.php index.html;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
なるほど。server_nameで「*.amazonaws.com」とIPアドレス直打ちのみルーティングするように設定されてるのね。
ってことで修正。
server {
listen 80;
server_name olafblog.org;
server_name *.amazonaws.com;
server_name ~^\d+\.\d+\.\d+\.\d+$;
location / {
root /var/www/html;
index index.php index.html;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server_nameを追加してnginxを再起動。
$ sudo nginx -s reload
おぉ、表示できた!
まぁhttpsのページからhttpでスタイルシート等を読み込みにいってるのでスタイルが崩れるのは想定の範囲内。
一旦独自ドメインとSSL対応は完了したので今回は満足。
次回はhttp->httpsリダイレクトとスタイルが崩れないように対応していく。
続きはこちら->「AWSに構築したWordPressをhttps対応してみた」