概要
個人的に大好きなインフラがAWS Lightsail。とてもコストパフォーマンスに優れ、かついわゆるVPSではある ものの、専用インスタンスであるAmazon EC2と変わらない使用感で、小規模なプロジェクトでは頻繁に使っています。
この連載では、Lightsailの2023年度版イメージであるAmazon Linux2023 をLAMP構成で運用開始できるまでを、画像付きで丁寧に解説していきます。本日は第1回、Lightsailインスタンスの立ち上げから、sshでログインできるところまでを書きます。
本連載のゴール
Amazon Linux2023カーネルのLightsailインスタンス・サーバで、インストール済みのWordpressにアクセスできるようにする。
対象読者
- AWSのアカウントを持っている方(まだの方はこちらより開設をお願い致します。)
- Amazon Linux2023でWorpdressを含むLAMP構成の開発を始めてみたいエンジニア・プログラマーの方。
- 開発環境(ローカルPC)がMacの方。Windowsの方は適宜読み替えてみてください。
1. AWS Lightsailインスタンスを立ち上げる
1-1. ログイン〜Lightsailコンソールへ移動
まず、こちらにアクセスします。
![コンソールにサインインを押す](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws1.png&w=3840&q=75)
コンソールにサインインを押す
個人ユーザであれば「ルートユーザーサインイン」で問題ないです。まずメールアドレスを入力。
![aws2.png](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws2.png&w=3840&q=75)
次にパスワードを入力しログインします。
![aws3.png](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws3.png&w=3840&q=75)
上部のアドレスバーに「Lightsail」と入れてエンターを押し、出てきた「Amazon Lightsail」をクリックします。
![aws4.png](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws4.png&w=3840&q=75)
1-2. インスタンス作成
私のアカウントでは立ち上げ済みのインスタンスが並んでいますが、まだの方の場合は何も表示されないはずです。「インスタンスの作成」 をクリック。
![aws5.png?n=1](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws5.png%3Fn%3D1&w=3840&q=75)
2023年11月現在では、デフォルトで、BitnamiイメージとくにWordpressが早く使い始められるイメージが推奨して 選択されているのですが、今回はこちらではなくAmazon Linux 2023を選びたいです。
よって、設計図の選択 から 「OSのみ」を選んで、
![aws6.png?n=1](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws6.png%3Fn%3D1&w=3840&q=75)
「Amazon Linux 2023」を選択します。
![aws7.png?n=1](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws7.png%3Fn%3D1&w=3840&q=75)
1-3. 細かい設定・インスタンスタイプの選択
下にスクロール移動し、
「SSHキーペアの変更」からデフォルトキーを必ずダウンロードしておきます。あとでサーバに入るときに使います。
![aws8.png?n=1](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws8.png%3Fn%3D1&w=3840&q=75)
インスタンスタイプは最小の 「3.5ドル」 のものを選択します。
インスタンス名も今回は 「TestAmazonLinux2023」 としておきます。
実際には利用するプロジェクトのものを選択・入力してください。![aws9.png?n=1](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws9.png%3Fn%3D1&w=3840&q=75)
キーオンリータグ・キー値タグは多数のインスタンスを運用する際には必要になってきます が、今回はあくまで評価ということで 選択は不要になります。
最後に「インスタンスを作成」すると起動します。実際に起動するまで少々待つ必要があります。
![しばらく待つと](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws10.png%3Fn%3D1&w=3840&q=75)
しばらく待つと
![起動状態になります。](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws11.png%3Fn%3D1&w=3840&q=75)
起動状態になります。
2. 必要な事前設定を行う。
Lightsailの場合、インスタンスの停止を行うとパブリックIPが解放され、同じIPを使うことができなくなります。これは、独自ドメインなどの疎通設定を行うに当たり、支障が出てしまいます。
![停止するとパブリックIPは「利用不可」と表示される](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws12.png%3Fn%3D2&w=3840&q=75)
停止するとパブリックIPは「利用不可」と表示される
2-1. 固定IPの取得
よって、固定IPを取得しておく必要が出ます。
Lightsail各画面から、「ネットワーキング」 をクリックし、表示された画面で次は 「静的IPの作成」 をクリックします。
![停止するとパブリックIPは「利用不可」と表示される](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws13.png%3Fn%3D2&w=3840&q=75)
停止するとパブリックIPは「利用不可」と表示される
インスタンスをTestAmazonLinux2023を指定し、静的IPの名称を入力します。(デフォルトのままでもOK)
![aws14.png?n=2](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws14.png%3Fn%3D2&w=3840&q=75)
作成ボタン を押すと静的IPがLightsailインスタンスにくっ付きます。
![aws15.png?n=1](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws15.png%3Fn%3D1&w=3840&q=75)
独自ドメインのDNS設定(Aレコード)はこのIPに行いましょう。
![静的パブリックIPが表示される](/blog/_next/image?url=https%3A%2F%2Fmoldspoon.jp%2Fblog%2Fposts%2Fimages%2F202311%2Faws16.png%3Fn%3D1&w=3840&q=75)
静的パブリックIPが表示される
2-2. 秘密鍵をわかりやすいところに置き、パーミッションを設定する
これでSSH でサーバに入り、ミドルウェア等の設定を進める準備ができました。先ほどダウンロードした秘密鍵を、.sshに置くなど準備をしておきましょう。
DownloadsフォルダにあるLightsailDefaultKey-ap-northeast-1.pem
(私の場合)を、わかりやすいユーザーディレクトリ直下の.ssh
ディレクトリに移しておきましょう。
mv ~/Downloads/LightsailDefaultKey-ap-northeast-1.pem ~/.ssh/
そのまま使おうとすると、以下のようなエラーが出るため、
yuta@yutanoMacStudio ~ % ssh ec2-user@13.112.240.0 -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
The authenticity of host '13.112.240.0 (13.112.240.0)' can't be established.
ED25519 key fingerprint is SHA256:TEvFdvd5x24f3SNaAvThnhOTe468mksMCl+jINi9tEQ.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '13.112.240.0' (ED25519) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/yuta/.ssh/LightsailDefaultKey-ap-northeast-1.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/yuta/.ssh/LightsailDefaultKey-ap-northeast-1.pem": bad permissions
ec2-user@13.112.240.0: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
以下のコマンドで正しい権限設定を行いましょう。
chmod 0600 ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
これで、自分以外はこの秘密鍵は閲覧・更新できない、という意味になります。
2-3. サーバへsshログイン
こちらを使って、以下のコマンドでログインします。
ssh ec2-user@[先ほど取得のIP] -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
-i オプションをつけることで、秘密鍵をつけてログインする という意味になります。
yuta@yutanoMacStudio ~ % ssh ec2-user@13.112.240.0 -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
[ec2-user@ip-172-26-12-12 ~]$
無事ログインができました! 今日のところはここまでにしておきましょう。
まとめ
いかがでしたでしょうか。ここまでGUI(画面から操作するインターフェース)だけで、簡単にサーバを立ち上げることができました。
この環境は 「LightsailのWordpressイメージ」 ほど立ち上げが簡単ではないものの
- 自由度が高く
- 保守性が長期的に保て
- バックエンドとしては習得難易度も低めのLAMP環境
このような環境で、メリットも大きいです。引き続き、第2回でも解説しておりますのでぜひフォローアップくださいませ。
↓下記に続く。
↓第3回はこちら
この記事が何かのお役に立てれば幸いです。
最後までお読みいただきありがとうございました!