WordPressの運用に使えるLightsailの機能を知りたいです
LightsailのCDN機能やSSL証明書の自動更新を行う方法を説明します
LightsailではSSL証明書の自動更新やCDNの作成を行うことができる
Lightsailではディストリビューションを作成することで、CDN(コンテンツ配信ネットワーク)を構築したりSSL証明書の自動更新を行うことができます。
- LightsailだけでCDNを作成してSSL証明書の自動更新を行う方法
Lightsailのインスタンスを作成
Lightsailのメインメニューで「インスタンス」を選択してインスタンスの作成をクリックします。
Lightsailのインスタンスを作成してサーバーを構築する手順は以下の記事で詳しく説明しています。
Lightsailでディストリビューションを作成
Lightsailのメインメニューで「ネットワーキング」を選択してディストリビューションを作成するをクリックします。
ディストリビューションの作成画面で、オリジンとしてコンテンツをキャッシュするインスタンスを選択します。
オリジンのリストに「利用可能なオリジンがありません」と表示されて何も選択できない場合は、以下の手順でリージョンを変更します。
リストをクリックして「バージニア」からLightsainのインスタンスのあるリージョンに変更します。
WordPress用に用意されているプリセットを使用する
選択したインスタンスが、WordPressのインスタンスの場合、WordPress用に用意されているプリセットを使用するか聞かれるのではい、選択しますをクリックします。
WordPress用のプリセットを使用したくない場合は、他のプリセットを使用するか「カスタム設定」を選択して自身で設定していくことになりますが、その場合の説明はここでは省略します。
作成するディストリビューションの名前を入力してディストリビューションを作成するをクリックします。
ディストリビューションが作成されます。作成直後はステータス
が進行中...
となっていてまだ使用できないので、しばらく待ちます。(数分で完了することが多いです。)
「ステータス」が有効
になったら、作成完了で使用できます。
ディストリビューションでSSL証明書を作成する
次にSSLの証明書を作成します。ディストリビューションのカスタムドメイン
を選択して「+証明書を作成」をクリックします。
証明書作成画面に以下の内容を入力して「作成」をクリックします。
項目 | 説明 | |
---|---|---|
① | プライマリドメイン | 所有している独自ドメイン。 |
② | 証明書の名前 | 分かりやすい名前を付けておきます。 |
③ | 代替ドメインおよびサブドメイン | www. 付きのドメインやSSL通信にしたいサブドメインを列記します。 |
証明書は検証状態で作成されて、ドメインを所有していることを検証するためのDNSレコードが表示されます。
SSL証明書の検証用DNSレコードをDNSに登録
作成した証明書のDNSレコードをドメインのDNS設定に登録します。
以下はLightsailでDNS管理を行う場合の手順です。
DNSゾーンの作成
Lightsailのメインメニューで「ネットワーキング」を選択してDNSゾーンの作成をクリックします。
「登録済みドメインの入力」に所有している独自ドメインを入力してDNSゾーンの作成をクリックします。
作成したDNSレコードのネームサーバーの内容をメモしておきます。
DNSレコードを登録
DNSゾーンの「詳細」画面でレコードの追加をクリックします。
CNAMEのレコード
を選択して、「サブドメイン」「マップ先」欄に証明書検証用のDNSレコードの内容を入力して、レコードを作成します。
項目 | 説明 | |
---|---|---|
① | レコードの種類 | CNAMEのレコード を選択します。 |
② | サブドメイン | 検証用レコードの名前のサブドメイン部分 を入力します。 |
③ | マップ先 | 検証用レコードの値を末尾のピリオドは除いて 入力します。 |
④ | 完了ボタン | クリックすると入力内容を確定します。 |
検証が完了するまでしばらく待つ必要があります。証明書が検証されると証明書の「ステータス」が有効
になります。
カスタムドメインを「有効」に切り替えます。
切り替えが反映されるまで、しばらく間進行中...
の状態になります。
カスタムドメインが有効になっています
がONになったことを確認します。
ディストリビューションのリンクをクリックしてオリジンに設定したサイトが表示されることを確認します。
ブラウザのURL欄が鍵マークになっていて証明書が有効になっていることを確認します。
ディストリビューションのドメインをDNSレコードに登録する
独自ドメインのDNSレコードにディストリビューションを設定します。
DNSレコードの解決先にディストリビューションを設定
DNSレコードの解決先に、作成したディストリビューションをリストから選択します。
これで独自ドメインでブラウザからhttpsで接続できます。
今の状態だとまだ、URLにwp-admin
を追加して管理ページを表示した時に、CSSが適用されずに表示されてしまうので修正します。
WordPress 設定ファイル (wp-config.php) を編集
LightsailにSSHで接続します。
以下のコマンドを入力して、wp-config.phpを開きます。
sudo vi /opt/bitnami/wordpress/wp-config.php
開いたファイル内を下に移動して以下の場所を探します。
ディストリビューションからの接続では常にhttps接続となるように修正します。
define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
の箇所を以下の内容に書き換えます。
define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
if (isset($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'])
&& $_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
wp-config.phpファイルの内容を反映するため、以下のコマンドを入力してApacheのサービスを再起動します。
sudo /opt/bitnami/ctlscript.sh restart apache
ブラウザで管理画面を再度表示すると、CSSが適用されて正しく表示されます。
以上で手順はすべて完了です。