世界最安のWebサイトを使ろうと、AWSを使ってWordPressを構築しています。そのときにお手軽なのがLightSailです。LightSailを使ってWordPressを構築した後、「ディストリビューション」という機能を使ってサイトをSSL化します。
AWS・LightSailのディストリビューションを使って、WordPressをSSL化します。っとその前にAWSのディストリビューションの説明です。
AWS・ディストリビューションとは・・・
AWSでは、「Amazon CloudFront」というサービス名で、高速コンテンツ配信ネットワークサービスを提供しています。
高速化には、Webサーバーのキャッシュを持つことで実現します。
AWSのLightSailでは、このAmazon CloudFrontと同じ機能を「ディストリビューション」という名前で使うことができます。
それでは、ざっくりとAWS・LightSailのディストリビューションを使ってWordPressインスタンスをSSL化する手順を書きます。
以上、1~6までの手順と、注意点を記載していきます。いやー、まいった、まいった。なかなかうまくいきませんでしたよー!
AWS LightSailのページで、「ディストリビューションを作成する」を選ぶ。
「オリジン」には作成しているWordPressのインスタンスを選択し、その他はデフォルトで作成を進めます。
はい、そして作成時の注意点です。ここでわたくし、はまりましたw 注意点は2点ありますので参考にされてください
ディストリビューション作成時の注意点「ディストリビューション名は『ドメイン名』」にします。
こっそりと「Lightsailリソース名は一意であることが必要です」と書いてあります。ここの名前を適当につけていると後でスムーズにいきませんので、注意しましょう。
私は画面にあるように、このサイトのサブドメイン名をディストリビューション名にしています。
続いてこちら。2番目はオリジンプロトコルポリシーを「http」にします。ディストリビューションがhttpで受けたリクエストを、httpsに変更する、という機能を持つようでうs。
続いて、Amazonマネジメントコンソールを開いて、Cetiricate Managerを開きます。
Certificate Managerを起動したら、「証明書のプロビジョニング」か「プライベート認証機関」を選ぶ画面が出てきます。「証明書のプロビジョニング」を選びます。
証明書のプロビジョニングのいう通りに進めていきます。簡単、簡単。
タグの追加では、次のような値を入れます。
で、どんどん進めていくと、証明書のリクエストが完了し、Certificate Manager上にSSL証明書ができます。
証明書の面倒くさいところは、1年間たつと更新作業が発生するところです。これ意外に忘れてたりとか、サーバーを止めないといけなかったりとか、引継ぎができてなかったりとか、前任者が丸投げとか・・・まあまあな手間です。
Amazon Certificate Manager(ACM)を使うと証明書は自動的に更新されます。条件はありますけどね。マネージドサービスっていうのですかね?
Certificate ManagerでSSLが作成できたので、ディストリビューションで作成したSSLを設定します。
LightSailのディストリビューションの「カスタムドメイン」のところで次のことをします。
まずは、カスタムドメインのタブで証明書をつけます。証明書をつけないとカスタムドメインが有効になりません。
「証明書を作成」リンクをクリックし、AWS Certificate Managerで作成した証明書名を入力します。そうすると、証明書を検証してくれて次のような画面になります。
レコードタイプの名前と、値は後でDNS登録するときに使いますよ。赤枠のところです。
証明書の検証が終了しましたら、LightSailで使っている「DNSゾーン」で「DNSレコード」を追加します。この時追加するレコードは、「3、ディストリビューションに証明書をつける」で出来た値をつけます。
上の画像の赤枠で示したところだよね!
サブドメインのところに「名前」を入れて、マップ先に「値」を入れます。
出来た!!これで完成です。WebブラウザでサイトのURLを入れる前に、WordPressのインスタンスSSHを使ってcurlコマンドを打ってみましょう。「-I」オプションでページの情報のみ表示させます。
curlコマンド
curl -I [URL]
200番が表示されて、正常に表示されることが確認できました。LightSailのディストリビューションの元になっているAmazon CloudFrontの名前も表示されていますね。LightSailでもAmazon CloudFrontが使えるのですよ!
ちなみに、ここでhttpでリクエストすると、移動したよーん、というメッセージが出ます。LightSailのディストリビューションがhttpリクエストを、httpsに変換しているのでしょうね。
ディストリビューション作成時のオリジンプロトコルを「https」で作成してしまうと、503BadGatewayが出力されます。これはまりました・・・・。上にも書きましたが、オリジンプロトコルはhttpsじゃなくて、httpを指定する必要があります。
わたくし、ディストリビューションのことに気が付かず、アクセス数1~2/1日にも関わらずロードバランサーでSSLを実現していましたw
今回、ディストリビューションに変更したことで、サーバー代世界最安値でWordPressを動かすことができました。いやー、よかった、よかった。世の中知らないことばかりですね・・・。
世の中ローコード、とかノーコー…