【#1:Amazon Lightsail】AmazonLightsail＋WordPressでサイトを立ち上げてみた

#はじめに

Webアプリ歴1.5年の駆け出しSE、さすどすです。

ここ１年は、業務の中で携わる範囲でWebアプリとは何ぞや？ を身に付け、
業務遂行に必要な知識にフォーカスして学習をしていました。

慣れてきた部分もあり、段々と業務にフォーカスした学習をしても伸びがなくなってきました..。
今後伸ばして行きたい能力に関して、　INPUT・OUTPUTをすることで効率よく学習を行いたく、
Qiita＋カテゴリ管理できるブログを用いて　OUTPUTを行おうと思いたち　今日に至りますorz

今回は、カテゴリ管理できるブログを　WordPressで立ち上げようと思い、
サーバとして　「Amazon Lightsail」を選定しました。

複数の記事に分けて、AmazonLithtsailによる ブログサイト開設までをまとめていきます。

#目次
　1.AmazonLightsail の　メリット・デメリット
　2.VPS構築〜構築後設定まで
　3.次章に向けて


#1.AmazonLightsail の　メリット・デメリット

今回は以下のような目的でサイト構築を目指していました。
　- WordPressを用いたサイト立ち上げを、ミニマムに行って全体像を掴みたい
　　（三層アーキでのWebサイト構築は多々経験あるが　WordPressのような ソフトウェアを利用した構築をしたことがない）
　- SEO対策の学習として、googleアナリティクスでのアクセス解析ノウハウを学びたい
　- とりあえず自分のOUTPUTのワークスペースを作りたい
　- BE側は必要なく、一旦静的なページ作成で良い

そのため、サーバの要件としては以下を優先しました。
　- 大容量コンテンツは管理しないので、ある程度低容量でOK
　- OSは一旦問わず、WordPressを構築できたらOK（Linuxサーバでの構築はいつかやる）
　- できるかーぎり低コストが良い

上記をもとに、複数のパターンをサーっと調べて（低知識のため、調査不足かも）
メリデメを元に、AmazonLightsail　を選定しました。

###比較表
|選定対象|容量|OS|メモリ|コスト|メリット|デメリット|今回の選定評価|
|:---|:---|:---|:---|:---|:---|:---|:---|
|AmazonLightsail（最安価プラン） |20GB SSD|Ubuntu |512MB メモリ |3.5USD/月 |・Webアプリケーション構築に必要なCMS、DNS、ロードバランサ等が包括されてる<br>・最短でWebアプリ構築が可能<br>・低コストで定額<br>・AWS他サービスとの親和性中<br>・AWS初学者にとっつきやすい|・パッケージ化されているような形のため、自由度が低い。（一般的なBEもあるゴリゴリWebアプリには向いてない？）| ◎ |
|AmazonEC2（最小構成） |30GB SSD |AmazonLinux |2GBメモリ |0.0255USD/時間 |・自由度が高くWebアプリケーション構築が可能<br>・他AWSサービスとの親和性高 |・ブログ立ち上げている間、従量課金（昔3インスタンス１ヶ月立てて2300円くらいかかった）<br>AWS初心者には使いこなせてない機能有（Tryしまくったら、いつの間にか高額課金w）　|◯  |
|某レンタルサーバ（最安）  |10GB HHD|Linux |512MB メモリ |100円/月  |・低コストで定額  |・ドメインは別サービスにて、取得必要有<br>・OSまっさら状態から全て構築が必要（勉強にはいいが労力かかる）| ▲ |

＝＞　AmazonLightsailで構築を開始します。ドメイン必要だったら、Route53(AWS)らへんも使って、ドメイン取得・紐付け等も行っていく。


#2.VPS立ち上げまで
この章では、VPS構築手順をスクショと共に、まとめていく。


####1.Lightsail(AWS)公式サイトへ
>https://lightsail.aws.amazon.com/


####2.各種設定
######・インスタンスロケーションの設定
特に米国リージョンにしたい等、希望はないためデフォルトで。

######・インスタンスイメージの選択
今回は、Linux/Unixを選択。（最安プランだとUbuntuっぽい記事を見かけた）
<img width="400" alt="スクリーンショット 2020-07-17 1.02.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675004/b1b39e25-cbe6-4c14-5483-0218afeff06f.png">


######・設計図の選択
WordPressでブログサイト構築を行うことが目的のため、WordPressを選択。
<img width="400" alt="スクリーンショット 2020-07-17 1.04.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675004/b9990357-176c-8180-2a24-e03fb2020de7.png">


######・SSHキーペアマネージャー／自動スナップショット設定
SSH接続ガンガンやることになると思うので、「新規作成」ボタンで　RSA秘密鍵を作成しておく。（ローカルのどっかに保管しておく）

自動スナップショット機能も有効にしてて良いと思われる。（今回は有効化）
スナップショット保持さえしておけば、サーバ再構築もスナップショットから可能なため、後々有用かと。
<img width="400" alt="スクリーンショット 2020-07-17 1.08.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675004/e64dc94e-4a8c-63b2-b9b9-3a7b382fee45.png">

######インスタンスプランの選択／インスタンスを確認
今回は最安プランの「3.5$」プランを選択。（必要に応じて、プランを変えよう...）

Lightsailのリソース名を任意で決める。
タグをつけておくことで、複数インスタンス立ち上げた際のフィルタリング等に使えるようなるので任意で、設定（インスタンスごとの請求額分類とかができる？）
<img width="400" alt="スクリーンショット 2020-07-17 1.22.33.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675004/c6466bf7-679e-74a1-a37b-6661cbdbd4df.png">

####3.はい、出来上がり。
ものの数分で、インスタンス生成まで完了してしまいました....感動。（実際には、選定に伴う学習時間かかってますがw）
業務でもPaaS上に、Webアプリをデプロイしていくことが多々有りますが、これは、、、、。早い。。。。。
OSイメージ等も一緒に包括してくれているのは、脳死で構築できちゃえて良いですねorz　（仕組みは理解しておくこと）

データベースも、ストレージもLightsail内で用意できることを考えると、ある程度のWebアプリケーション構築はできそうだと感じます。
<img width="400" alt="スクリーンショット 2020-07-17 1.40.55.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675004/06716fca-3fcf-f205-86d6-d0984fa66aef.png">


とりあえずVPSの構築までは終わったので、最低限の通信制限をかけて、今回の章は終わりにしようと思います。


####4.構築後の最低限の設定
よーし、EC2で設定したことのあるセキュリティグループでの、接続元制限やろうと思っていたら
LightsailのVPSへSSH接続する場合は、接続元IP制限ができないそうで。。。。。という記事をたくさん見かけていましたが、
あれ、、、Lightsailのファイアウォール設定で、IPアドレス制限かけれるようになってる...!!!
（最近アップデートがあったのかな）
<img width="400" alt="スクリーンショット 2020-07-17 1.57.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675004/599a0456-99fa-521a-805c-fc93c6b7dc70.png">

ということで、SSHポートだけは、IP制限しておきましょう。
（今回はブログ構築が目的なので、HTTP,HTTPSは一旦IP無制限で）

#3.次章に向けて

ここまでで、LightsailによるVPS構築が簡単にできました！
ここから、
　・putty等のSSHクライアントからの接続確認
　・lightsail cliの勉強
　・WordPress管理画面への接続や、各種設定
　・WordPress勉強しながら、Webサイト構築....
まだまだ序盤なので、ここから一つ一つ　気になったところは掘り下げる形で、学んでいこうと思います。


#4.参考文献

>Amazon Lightsail 公式サイト　：　https://aws.amazon.com/jp/lightsail/
 インスタンス作成時にSSHのIP制限をかける : https://dev.classmethod.jp/articles/lightsail-ssh-ip-filter/
>Lightsail Cli ；　https://docs.aws.amazon.com/cli/latest/reference/lightsail/index.html