Amazon LightsailでWordPress環境を構築してみた


# はじめに
みなさんはAmazon Lightsail（ライトセイル）をご存知でしょうか。
Amazon Lightsailは、AWSが提供する、簡単にクラウドサーバーを立ち上げることができるサービスです。
ウェブサイト、アプリケーションのホスティングに最適化されていて、シンプルで使いやすいのが特徴で価格もリーズナブルなため人気のサービスです。

今回は、そんなAmazon Lightsailを使って、WordPress環境を構築する方法についてご紹介します。

# 対象読者
- ローカル環境でLPやWordPress構築してるけど実際のサーバーにあげてみたい方
- レンサバしか使ったことない方
- Lightsailのことは知ってるけど触ったことはない方
- AWSが苦手（怖い）な方
etc

# Amazon Lightsailって？

![スクリーンショット 2024-12-04 13.16.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/6e4bd8e8-d066-ff39-dc2b-3df399244635.png)

Amazon Lightsailは、AWSが提供するVPS（仮想プライベートサーバー）を構築できるサービスです。
AWSで仮想サーバーを構築するサービスとして「EC2」が有名ですが、Lightsailはアプリケーションやウェブサイトを構築するために必要なソフトウェアやデータをホスティングするための環境構築がとてもシンプルになっていて**AWS初心者でも簡単に環境構築ができるサービス**です。

https://aws.amazon.com/jp/lightsail/

# LightsailでWordPress環境を構築する方法

:::note info
AWSアカウントを持っていない方は[こちら](https://aws.amazon.com/jp/free/)から登録してください。
:::

まずはLightsailでWordPress環境（インスタンス）を作成します。
[AWSコンソール](https://ap-northeast-1.console.aws.amazon.com/console/)から「Lightsail」を検索し **Lightsailコンソール** へ移動します。

![Group 76.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/a0ec6484-d755-7e4c-cfc0-5dba1b3bca9b.png)


Lightsailコンソールにある「**インスタンスの作成**」ボタンをクリックしてください。

![Group 77.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/dcdb41b9-c309-6dcd-b2e8-09c12e60651a.png)

### インスタンスとは
インスタンスとは、AWS上で稼働する仮想サーバーのことを指します。
AWSではアプリケーションサーバーやデータベースサーバーなど複数のサーバーが必要な場合や、必要なスペックに応じてOS、ストレージ容量などを決定して用途ごとにインスタンスを作成することで柔軟な運用が可能です。

## インスタンスロケーションの選択

利用するリージョンを選択します。
特に理由がない場合は変更しなくても大丈夫です。
今回は**東京リージョン**を選択します。

![Group 78.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/40e2b5db-813e-bf46-2a10-37108188c97a.png)

### リージョンとアベイラビリティゾーンとは？
リージョンは、データ（情報）を保存したり、インターネットを通じて他の場所とやり取りしたりする「データセンター」が集まった大きな地域のことです。
日本には「東京リージョン」と「大阪リージョン」があります。
リージョンはサービスの種類や安定性、通信速度、リージョンと利用者の所在地との距離やコストなど様々な要素を検討して選定します。

アベイラビリティーゾーンは、リージョンの中にあるさらに小さなエリアのことです。
ひとつのリージョンには、いくつかのアベイラビリティーゾーンがあり、それぞれのアベイラビリティーゾーンには、それぞれ異なるデータセンターがあります。

複数のリージョンやアベイラビリティーゾーンに分けることで、ひとつのデータセンターで何か問題が起きた場合でもサービスが止まることのないようになっています。

リージョンとアベイラビリティゾーンについて詳しくは下記を参照してください。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

## インスタンスイメージの選択

Lightsailではプラットフォームと設計図を選択してインスタンスを作成します。
プラットフォームは「Linux/Unix」と「Windows」が選択でき、それぞれのプラットフォームで設計図を選択します。

![Group 90 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/1aa3cd77-5514-185f-e87c-acc8011f6c31.png)

今回はプラットフォームは「Linux/Unix」、設計図は「WoredPress」を選択します。

![Group 91.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/575f4315-809e-70de-cb41-f5684fd00cb1.png)


## プランの選択

サーバーのスペックを選択します。
Lightsailは、月額・定額料金制となっていて、高性能なほど価格も高くなります。
ストレージ、データ転送、DNS管理、静的IPなどの機能も含まれていますが、該当プランのデータ転送枠から実際の使用量が超過してしまった場合、インスタンスのパブリックIPアドレスを使用した転送データ分のみ課金の対象となるので注意が必要です。

Lightsailでは最初の90日間は512MBプランを無料で利用することができます。
今回はWordPress環境を構築してみるだけなので$5プランを選択します。

![Group 79.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/ff6a4358-7729-fa72-1e52-95051ba3fd76.png)

ここまでの設定ができたら最後に「インスタンスの作成」ボタンをクリックして設定は完了です！
Lightsailコンソールのトップに戻って作成したインスタンスが追加されていたらOKです。

インスタンスを作成してすぐだとステータスが「開始中」になっていますが、しばらくして「実行中」に変わるまで待ちましょう。

![Group 80.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/a75649fe-9841-82ad-5ac1-8d9ea9244127.png)

ステータスが「実行中」に変わったらインスタンスの情報を確認します。

![Group 81.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/15481eb5-02ee-3787-c442-7af815ba860d.png)

作成したインスタンスの情報が設定した内容になっているか確認しましょう。

## ネットワークの設定

作成したインスタンスの「ネットワーク」タブを確認すると
「パブリック IPv4」と「プライベート IPv4」があります。

パブリック IPv4は、インスタンス起動時に自動的に割り当てられる動的なIPアドレスで、インスタンスを再起動する度に別のIPアドレスが割り当てられてしまうので固定します。

### 静的IPを固定（アタッチ）する

「静的IPをアタッチする」をクリックして任意のリソース名を入力してアタッチします。

![Group 82.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/d5a8de0b-b3bc-3cb2-3a34-3cd3ab538ebd.png)

![Group 83.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/4c3aa064-940e-837b-fa81-09277463e793.png)

パブリック IPv4の右上が「デタッチ」となっていたらアタッチされています。
デタッチをすることでアタッチを解除することができます。

![Group 84.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/1f9663e8-1e5d-19dd-444e-c7d5437816c1.png)

## ブラウザでアクセスしてみる

IPアドレスをアタッチしたらブラウザでアクセスしてみましょう。
WordPressの初期画面が表示されるはずです。

![Group 85.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/8bb9d6a0-a553-30c6-8a4a-b630967418be.png)

WordPressの管理画面にもアクセスしてみます。
URLの末尾に「/wp-login.php」を入力してログイン画面へ移動します。

### パスワードの確認方法

ここでユーザー名とパスワードを入力しなければならないのですが、初期状態だとユーザー名は「user」なのですが、パスワードがわかりません。

![Group 86.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/8f1ff70b-7635-51a7-f4e1-db15ad67560b.png)

Lightsailコンソールに戻って「接続」タブから「SSHを使用して接続」をクリックします。

![Group 87.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/6cae9876-8db3-82d1-45b6-112ca0d28ad3.png)

するとターミナルが立ち上がるので下記のコマンドを入力してください。
```
cat bitnami_application_password
```
表示される文字列がパスワードになります。

![スクリーンショット 2024-12-03 18.02.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/bc18edf5-b787-7375-1640-a9687fdf9ec8.png)

![Group 88.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/10e3040f-fa4c-88ca-fd11-248500fccdd4.png)

ログイン画面に戻りユーザー名「user」/パスワード「先ほど表示された文字列」でログインしてみましょう。

![Group 89.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/c15bea2a-d460-e876-d942-d6f03d2e450a.png)

無事にログインできればダッシュボードが表示されるはずです。

![スクリーンショット 2024-12-04 11.25.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/d88c4065-e671-7396-fda2-a28bc1e357c0.png)

これでWordPress環境ができました。

## ちなみに
今回はWordPress環境を作成しましたが、Laravelなら**LAMP環境**、Pythonなら**Django環境**も簡単に作成できます。

![Group 92.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3587166/516af230-d289-ed3d-702b-6c30b2f19baf.png)

## まとめ
Lightsailは固定料金制なので予算が立てやすいことや、簡単な操作で環境が構築できることからAWS初心者でも扱いやすいものの、プラン超過分でお金がかかったり、ドメインの設定やセキュリティ関連の知識なども必要になってきます。

ただ、AWSを触ったことない方やWordPressの構築環境に悩んでいる方には、Lightsailはぴったりだと思います！
年末年始の長期休暇のタイミングで自習したい方はぜひ！