Amazon Lightsailを使い、WordPressでブログ環境を構築してみた

<h2>【はじめに】</h2>
Amazon Lightsailを使い、WordPressでブログ環境を構築するまでの流れを紹介します。
実際に、「kyonaka blog」もこの方法でブログ環境を構築しています。
これから、ブログを始めていきたい方はぜひ参考にしてください。

※AWSのアカウントはあらかじめ取得していることを前提に紹介していきます。
※アカウント作成方法は次の公式ページをご覧ください。

<a title="AWS アカウント作成の流れ | AWS" href="https://aws.amazon.com/jp/register-flow/">AWS アカウント作成の流れ | AWS</a>
<h2>【Amazon Lightsailとは？】</h2>
使いやすい仮想プライベートサーバ（Virtual Private Server）インスタンス、コンテナ、ストレージ、データベースなどを費用効果の高い月額料金で提供するサービス。
つまり自分で一から環境を用意する必要がなく、すぐに始められる便利なサービスです。
<a href="https://aws.amazon.com/jp/lightsail/">https://aws.amazon.com/jp/lightsail/</a>

※同じAWSサービスでコンピューティングサービスの「EC2」をベースに構築する場合との比較すると、
<table>
<thead>
<tr>
<th align="left">グループ</th>
<th align="center">サービス</th>
<th align="center">リージョン</th>
<th align="right">1ヶ月あたりのコスト</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Amazon Lightsailを使用した場合</td>
<td align="center">Amazon Lightsail</td>
<td align="center">Asia Pacific(Tokyo)</td>
<td align="right">3.43USD(438.25 円)</td>
</tr>
<tr>
<td align="left">EC2とRDS for MySQLを使⽤した場合</td>
<td align="center">Amazon EC2</td>
<td align="center">Asia Pacific (KDDI) -Tokyo</td>
<td align="right">32.19USD(4,112.43 円)</td>
</tr>
<tr>
<td align="left">EC2とRDS for MySQLを使⽤した場合</td>
<td align="center">Amazon RDS for MySQL</td>
<td align="center">Asia Pacific(Tokyo)</td>
<td align="right">13.63USD(1,741.30 円)</td>
</tr>
<tr>
<td align="left">EC2とRDS for MySQLを使⽤した場合</td>
<td align="center">Amazon Simple Storage Service (S3)</td>
<td align="center">Asia Pacific(Tokyo)</td>
<td align="right">0.03USD(3.84 円)</td>
</tr>
</tbody>
</table>
<a title="AWS Pricing Calcurator" href="https://calculator.aws/#/estimate?id=dddd2c01ced1ec46f9348a2586b001d0d5d4b1e3" target="_blank" rel="noopener">AWS Pricing Calcuratorでの見積結果URLはこちら</a>

1ヶ月あたりのコストでAmazon Lightsailの方が圧倒的な低価格で始めることができます。
AWS公式サイトに書かれているユースケースとしても、以下のように記されているので始めてブログを始める方向けだと思います。
<blockquote><b id="Create_custom_websites" class="lb-txt-none lb-txt-24 lb-h3 lb-title">カスタムウェブサイトの作成</b>
<div class="lb-txt-16 lb-rtxt">WordPress、Magento、Prestashop、Joomla などの事前設定されたアプリケーションを使用して、数回のクリックだけで、ブログ、e コマース、および個人のウェブサイトを構築してパーソナライズできます。</div></blockquote>

<hr />

<h2>【実際にLightsailを使ってWordPressを立ち上げてみる】</h2>
次の手順で説明していきます。
手順１：ルートユーザでサインインして、IAMユーザを作成する
手順２：作成したIAMユーザでサインインして、「Lightsail」を選択し、WordPressがインストールされたインスタンスを起動する
手順３：Lightsailnホーム画面から静的IPアドレスを作成して、WordPressインスタンスにアタッチする
手順４：SSH経由でインスタンスの接続して、WordPressウェブサイトのパスワードを取得する
手順５：WordPressウェブサイトの管理ダッシュボードにサインインする
<h3>手順1:ルートユーザでログインして、IAMユーザを作成する</h3>
・　AWSのトップページから「コンソールにサインイン」をクリックして、メールアドレスを入力して「次へ」をクリックします。
<img class="aligncenter wp-image-79 size-full" src="http://52.199.62.59/wp-content/uploads/2022/05/c436238fc8ad8daad04b46f5c992c3df.jpg" alt="" width="420" height="696" />

・　アカウントID、ルートユーザ名、パスワードを入力して「サインイン」をします。
<img class="aligncenter wp-image-81 size-full" src="http://52.199.62.59/wp-content/uploads/2022/05/395d9934c4641fd1cc730839327f87a0.jpg" alt="" width="420" height="601" />

・　コンソールにサインイン後、画面上部の検索バーで「IAM」と入力し、IAMをクリックします。<img class="aligncenter wp-image-83" src="http://52.199.62.59/wp-content/uploads/2022/05/d54151b805fe5868eaacd779760afef8.png" alt="" width="508" height="150" />

・　サイドバーの「ユーザー」をクリック、次に「ユーザーを追加」をクリックします。
<img class="aligncenter wp-image-86" src="http://52.199.62.59/wp-content/uploads/2022/05/734147d40e03801b5b876916caa490f8-1.jpg" alt="" width="508" height="112" />

・　ユーザー名に任意の名前を設定し、AWSアクセスの種類は「パスワード　- AWSマネジメントコンソールへのアクセス」を選択します。
※今回はブログを管理するための例として、IAMユーザ名を「blogger」としました。
※パスワードは自動生成パスワードにすることで、第三者が簡単に解読できないようにするのが良いでしょう。
※パスワードのリセットのチェックは外しておきましょう。
<img class="aligncenter wp-image-88" src="http://52.199.62.59/wp-content/uploads/2022/05/3374e98ffec19f2a329c99d932cc3710.png" alt="" width="508" height="427" />

・　「次のステップ：アクセス権限」に進み、アクセス許可の設定画面で「既存のポリシーを直接アタッチ」を選択します。
・　「AdministratorAccess」にチェックを入れ、「次のステップ：タグ」に進みます。
※今回はフルアクセス権限を付与しましたが、これからのブログの運用状況に応じて、権限を限定していく可能性もあります。
<img class="aligncenter wp-image-90" src="http://52.199.62.59/wp-content/uploads/2022/05/fa4d6401a9aeb52ff44af9a4db941b0e.png" alt="" width="508" height="364" />

・　タグの追加は今回は行わず、「次のステップ：確認」に進み、選択内容を確認して問題なければ「ユーザーの作成」をクリックします。
<img class="aligncenter wp-image-92" src="http://52.199.62.59/wp-content/uploads/2022/05/b56dc2aa48a890a91e6b34b7d9406534.png" alt="" width="508" height="345" />

・　ユーザーの作成が完了したら、「new_user_credentials」というcsvファイルがダウンロードされるので、無くさないように保管します。

<hr />

<h3>手順２:作成したIAMユーザでサインインして、「Lightsail」を選択し、WordPressがインストールされたインスタンスを起動する</h3>
・　手順１で作成したIAMユーザでコンソールにサインイン後、画面上部の検索バーで「Lightsail」と入力し、Lightsailをクリックします。
<img class="aligncenter wp-image-95" src="http://52.199.62.59/wp-content/uploads/2022/05/9932d5367b56efc0503a2d0106a13f9d.png" alt="" width="508" height="130" />

・　Lightsailホーム画面に遷移したら、「Create instance」をクリックします。
<img class="aligncenter wp-image-96" src="http://52.199.62.59/wp-content/uploads/2022/05/a333b36db4803f8ea3589fe1eaa2146b.png" alt="" width="508" height="169" />

・　リージョンは「Tokyo(ap-northeast-1)」、アベイラビリティゾーンは「Zone A」を選択します。
<img class="aligncenter wp-image-97" src="http://52.199.62.59/wp-content/uploads/2022/05/52e3d5dee2378c9db78b11239ab68786.png" alt="" width="508" height="312" />

・　プラットフォームは「Linux/Unix」、インストールされているアプリに「WordPress」を選択します。
<img class="aligncenter wp-image-98" src="http://52.199.62.59/wp-content/uploads/2022/05/92f7f76721347995090278f82efbf3bc.png" alt="" width="508" height="330" />

・　インスタンスプランは低価格の1ヶ月あたり3.5USD(448.13 円)のプランを選択します。
※個人でブログを開設するのであれば、十分なプランだと思います。
<img class="aligncenter wp-image-101" src="http://52.199.62.59/wp-content/uploads/2022/05/66b30b7c692e2b0330777390a572e1a4.png" alt="" width="508" height="288" />

・　インスタンス名を任意の名前に設定し、「Create instance」をクリックします。
※選択したリージョンやインスタンスのメモリ数などが分かるような名前にしておくと、後に新しくLightsailでインスタンスを作成したときに判別しやすいと思います。
※私は「WordPress-512MB-ap-northeast-1a」のような名前にしました。

<img class="aligncenter wp-image-102" src="http://52.199.62.59/wp-content/uploads/2022/05/861c66b0770dbf6058fbb5af51d9a097.png" alt="" width="508" height="307" />

<hr />

<h3>手順３：Lightsailホーム画面から静的IPアドレスを作成して、WordPressインスタンスにアタッチする</h3>
・　Lightsailホーム画面の「インスタンス」タブから、手順２で作成し実行中のWordPressインスタンスを選択します。
<img class="aligncenter wp-image-106" src="http://52.199.62.59/wp-content/uploads/2022/05/d7d4b4dfd172aea2356ae43d54381c71-scaled.jpg" alt="" width="508" height="251" />

・　「ネットワーキングタブ」の「Create static IP」をクリックします。

<img class="aligncenter wp-image-107 size-full" src="http://52.199.62.59/wp-content/uploads/2022/05/amazon-wordpress-tutorial-10.png" alt="" width="501" height="207" />

・　静的IPに名前を設定し、「Create」をクリックします。

<img class="wp-image-111 aligncenter" src="http://52.199.62.59/wp-content/uploads/2022/05/amazon-wordpress-tutorial-12-300x141.png" alt="" width="508" height="239" />

<hr />

<h3>手順４：SSH経由でインスタンスの接続して、WordPressウェブサイトのパスワードを取得する</h3>
・　Lightsailホーム画面の「インスタンス」タブで、WordPressインスタンスの「SSHクイック接続」アイコンをクリックします。

<img class="aligncenter wp-image-113" src="http://52.199.62.59/wp-content/uploads/2022/05/スクリーンショット-2022-05-20-23.23.04-300x98.png" alt="" width="508" height="166" />

・　ブラウザベースのSSHクライアントのウィンドウが表示されたら、次のコマンドを入力してデフォルトのWordPressのパスワードを取得します。
<pre><code class="Shell">cat $HOME/bitnami_application_password

bitnami@ip-xxx-xx-xx-xx:/bitnami/wordpress$ cat $HOME/bitnami_application_password
xxxxxxxxxxxxxxx
</code></pre>

<hr />

<h3>手順５：WordPressウェブサイトの管理ダッシュボードにサインインする</h3>
・　手順4で取得したパスワードを使用して、WordPressウェブサイトの管理ダッシュボードにサインインします。
・　ブラウザウィンドウで、以下の操作を行います。
<pre><code>http://<span style="color: #ff0000;">PublicIpAddress</span>/wp-login.php
</code></pre>
※PublicIpAddressはLightsailで作成した静的IPアドレスに置き換えます。

・　「Username or Email Address」に「User」を入力、「Password」に手順4で取得したパスワードを入力してログインします。
<img class="aligncenter wp-image-117 size-full" src="http://52.199.62.59/wp-content/uploads/2022/05/amazon-wordpress-tutorial-07.png" alt="" width="264" height="307" />

・　管理ダッシュボードにサインインしたら、管理アクションを実行しブログのカスタマイズが出来るようになります。
<img class="aligncenter wp-image-118" src="http://52.199.62.59/wp-content/uploads/2022/05/9771336e1479bf36f38386628471e35e-300x111.png" alt="" width="805" height="297" />

<hr />

<h2>【本格的にブログを運営するために】</h2>
本格的にブログを運営するのであれば、最低限以下の対応が必要になります。
<ul>
 	<li>独自ドメインの取得＆SSL対応</li>
 	<li>プラグインを利用してスパムコメント対策を行う（Akismetなど）</li>
</ul>
※独自ドメイン取得にはAWSサービスの「Route53」を利用するのが良いと思います。
※Route53でドメインを取得して、WordPressインスタンスにマッピングする方法は次の記事を参考にしてください。

https://www.kyonakablog.com/aws/how-to-get-domain-with-route53/

<hr />

<h2>【さいごに】</h2>
今回は、Amazon Lightsailを使い、WordPressでブログを構築するまでの流れを紹介しました。
AWSの各リソースを一から準備せずに、数クリックでブログ環境を構築できる上に低価格から始められるのでとてもおすすめです。
これから、ブログを始めていきたい方や既にブログをやってはいるが、デザインをカスタマイズしたいという方の参考になれば嬉しいです。