Amplify CLIのバージョンが最新に更新されない問題の解決方法
この記事では、Lightsail + CloudFront + Route53 を用いてWordPressを構築した手順を紹介します。
LightsailにはDNSレコードを管理する機能がありますが、そちらではなくRoute53に登録済みのドメインを使用する例をご紹介します。
AWSコンソールにログインし、Lightsail (https://lightsail.aws.amazon.com) にアクセスします
コンソールの雰囲気が全然違いますね〜
インスタンスの作成を押して、インスタンスロケーションを選択します。
私は国内向けのブログを作成するため東京リージョンを選択しました。
インスタンスイメージの種類を選択します。
Microsoft Windowsは値段が高くなるみたいです。
必要に応じてSSHキーを作成します。
このタイミングでSSHキーを作成することでローカルからSSH接続が可能になります(SSHキーを作成せずにブラウザから接続することも可能)
インスタンスプランは$3.50プランを選択します。
結構な数のアクセスが来ない限りは最安プランで十分なようです。
インスタンスが起動することを確認します。
1分ほどで起動が完了し、アクセスが可能となる(かなり早い!)
ぼかして隠している部分は静的IPアドレスです。しかし、このIPアドレスは定期的に変わるため、固定IPをベット取得する必要があります。
CloudFront経由でアクセスするためには、ドメインとIPを紐づける必要があります。なので、まずはLightsailコンソールから固定IPを取得します。
ネットワークから静的IPの作成を選択します。
ちなみに、DNSゾーンやロードバランサーをLightsailで設定することも可能です。(この記事では使用していません)
静的IPロケーションはインスタンスと同じゾーンを選択します。
先ほど作成したインスタンスをアタッチして作成すると、固定IPアドレスが作成されます。
固定IPアドレスは、Route53の設定時に必要なのでコピーしておきます。
「SSHを使用して接続」 を選択することでブラウザから接続することが可能です。
今回は、ブラウザ経由でアクセスしてみます。
ブラウザでSSH接続したコンソールがこちらです。色々な情報が乗っているため、大部分を切り取って載せてます笑
下記コマンドを入力し、接続情報を取得する。セキュリティのため省略していますが、下記のような接続情報が出力されます。
$ cat bitnami_credentials
***************************************************************
The default username and password is 'user' and '〇〇〇〇〇'.
***************************************************************
http://(パブリックIP)/wp-admin に接続して管理画面にアクセスします。
管理画面にログインできれば、各種設定が可能に!(WordPressの設定の前に、ドメインなどの設定を整えましょう)
続いて、独自ドメインでアクセスする入り口となるCloudFrontを構築します。
以下の設定でDistributionを作成します。
ドメイン(example.com)は自身が取得したもの、サブドメイン(wwwやwp)は自身で適当に決めてください。
設定する2つのドメインの用途は以下の通りです。
続いて、作成したDistributionにBehaviorを追加していきます。
作成後、DistributionのDomain NameをRoute53に設定するため、コピーしておきます。
CloudFrontの設定にはかなり時間がかかるので(30分くらい)、気長に待ちましょう…
下記を参考にRoute53にレコードセットを2件追加します。
上記については説明を省いていますが、必要に応じて別途記事を作成します。
ここまでで、インフラ部分の設定は完了となります!
インフラ部分は完成し、設定したドメイン(サンプルの場合の https://ドメイン でいざアクセスしてみると
CSSが適用されていません…
ユーザのアクセスはCloudFrontによって http→https にリダイレクトされますが、html内の参照はリダイレクトされないようです。
WordPressの初期状態では、 http でスクリプトやCSSを呼び出しているようです。
WordPressのプラグインを使用します。
https://ドメイン/wp-login.php にアクセスし、管理画面にアクセスします。
ユーザ名とパスワードは先ほどコンソールで確認したものです。
サイドバーのプラグイン → 新規追加から SSL Insecure Content Fixer を検索します。
設定から下記の設定をして設定の保存をすると、サイトへのアクセスが可能となります!
Lightsail + CloudFront + Route53を用いたWordPress構築の手順を紹介しました。
CloudFront + Route53でドメイン周りの設定をした事で、他の記事通りではうまくいかない事象などがありましたが、基本はCloudFrontのBehaviorを見直せば解決しました。
Amplify CLIのバージョンが最新に更新されない問題の解決方法
AWS SAAを2ヶ月のスキマ時間で取得した話(2020年2月)
【AWS Summit2019 Day1】基調講演:デジタル変革の最前線で選ばれ続けるクラウドへ
Lightsail + CloudFront + Route53 を用いたWordPress構築時にCSSが適用されない
Lightsail + CloudFront + Route53 を用いたWordPress構築時に新規投稿ができない
Lightsail + CloudFront + Route53 を用いたWordPress構築時にライブプレビューが表示されない
Lightsail + CloudFront + Route53 を用いたWordPress構築時に403が返ってくる