テクノロジー
Lightsailを使ってみる
そもそもLightsailとは
公式サイトより引用
⇒自分なりに言い換えると、
AWSが提供している仮想プライベートサーバー(VPS)で必要な設定が少なく始めやすい。
簡単なウェブサイトをEC2で作ろうと思ったときに通常VPC,ALB,EC2,...など必要になるところが、Lightsail内で全て完結する。(※自動でやってくれる部分が多い分ため制限もある)
wordpress構築検証
下図を構築します。
HTTPSは必須として、その他も絞れるところは絞っていきます。
lightsailのロードバランサにWAFをアタッチすることはできないため、cloudfrontを前段に置いています。
lightsailインスタンス
AWSコンソール画面のサービスからlightsailを選択すると、lightsail用のページへ飛びます。
lightsailホーム画面>インスタンス>インスタンスの作成
必要な項目
- リージョン
- 東京を選択
- アベイラビリティーゾーン
- ZoneAを選択
- プラットフォーム
- Linux/Unixを選択
- 設計図
- Apps + OS
- WordPressを選択
- Apps + OS
- インスタンスプラン
- →Memory:4GB,Processing:2vCPUs,Storage:80GB,Transfer:4TBを選択
これだけでwordpressが立ち上がります。
インスタンスはEC2のように、画面上で停止や再起動が可能です。
作成したインスタンスの詳細を見てみます。
・接続
"SSHを使用して接続"からセッションマネージャのようにブラウザでサーバへアクセス可能です。
"デフォルトキーのダウンロード"からSSHキーが入手できるので、SSHクライアントを使うこともできます。
どちらの方法でも接続ができました。
SSHクライアントでも接続できたので、どこからでも接続できるようになっている??かもということで、セキュリティグループの設定がないかどうか確認します。
・ネットワーキング
"IPv4ファイアウォール"を見るとデフォルトで22,80,443が0.0.0.0/0で空いていました。
一先ず社内IPのみを許可しておきます。
この段階でパブリックIPでアクセスすると以下が表示されます。
最初からwordpressが入っていることがわかります。
・メトリクス
CPU,ネットワーク,ステータスがデフォルトで確認できるようになっています。
この記事ではwordpressにログインするところは記載しませんが、wordpressのアカウント情報の確認方法はlightsailの公式ドキュメントに載っています。
lightsailロードバランサー
次に独自ドメインでアクセスできるようにします。
lightsailホーム画面>ネットワーキング>ロードバランサーの作成
必要な項目
- リージョン
- 東京を選択
- 初期設定
- HTTPを選択
- 証明書がないのでHTTPSは選択できません
- HTTPを選択
作成したロードバランサーの詳細を設定します。
・ターゲットインスタンス
作成したインスタンスをアタッチします。
・インバウンドトラフィック
HTTPSに対応させるために、証明書を発行します。
ACMと同じでドメインを入力するとDNS検証 で登録すべき値が出てくるのでDNSサーバに設定します。
ここでのドメインはorigin-xxx.mynavi.jpとします。
証明書が有効になるとHTTPSを選べるようになります。
ここまで完了するとHTTPSが有効になります。
この段階でorigin-xxx.mynavi.jpにアクセスすると以下が表示されます。
パブリックIPでアクセスしたものと同じになりました。
cloudfront
ここの作業はlightsailから離れるので割愛します。
設定した内容は以下です。
- Cloudfront
- オリジンはorigin-xxx.mynavi.jp
- ACM
- xxx.mynaiv.jpを設定
- WAF
- Cloudfrontにアタッチ
この段階でxxx.mynavi.jpにアクセスすると以下が表示されます。
アクセス制限について
Cloudfrontのみ443で受け付けたいとします。
ロードバランサーにはファイアウォールが備わっていないのでCloudfront外からもorigin-xxx.mynavi.jpで受けることができてしまいます。
また、インスタンスはファイアウォールがありますがロードバランサーのIPは変動するため制限をかけることができないです。
そのため、インスタンス内で制限をかけるしかなさそうです。
Cloudfront→ALB→EC2の場合は
ALB SGでCloudfront(AWSマネージドプレフィックスリスト)のみ許可し、EC2 SGでALB SGのみ許可することができましたがlightsailではこのようにできませんでした。
費用について
lightsailとEC2の料金を比較してみようと思います。
前提としてスペックは以下とします。
- 4 GB メモリ
- 2 コアプロセッサ
- 80 GB SSD ディスク
比較
lightsail:月額 $20
EC2(t4g.medium):月額 $29.46
lightsailの方が安いことがわかりました。
比較するためにlightsailの中でも真ん中のサイズを選びましたが、一番小さいサイズだと月額$3.5となっていました。
まとめ
簡単に作ることができて、安いというのは確かにそうだなと感じました。
冒頭にも書いた通り、細かい設定ができないところが欠点となりそうです。
・EC2のFirewallはIPベースのみの設定
・ロードバランサーにFirewallがない
・ロードバランサーにWAFがアタッチできない
簡単にたてて使ってみるという点では適しているという印象を持ちました。
※本記事は2022年09月時点の内容です。