LighasailでDrupalを構築する(AWS CLI)

LightsailでDropalを構築していきます
マネージメントコンソールで実施する場合とCLIで実施する場合のそれぞれのメリット、デメリットがあるのでまとめます

コンソール(マネジメントコンソール)

メリット

  • 画面で状態が把握しやすく、初回でも迷いにくい
  • 料金プラン・ブループリントなどを視覚的に比較できる
  • その場でブラウザSSHやスナップショット操作が直感的

デメリット

  • 作業の再現性が低い(人手操作=ミスや設定ドリフトが起きやすい)
  • 複数環境(stg/prod)や再構築のたびに同じ操作を手作業で繰り返す必要
  • 自動化しづらく、履歴(手順の証跡)が残りにくい

今回はSSO設定も整っている為、CLIでDropalのSTG環境を構築していきます。

ステップ 0: 変数の設定

Bash
export AWS_PROFILE=rikkainc
export AWS_REGION=ap-northeast-1
export LS_NAME=rikka-drupal-stg
export LS_BLUEPRINT=drupal
export LS_BUNDLE=nano_2_0           # 最小プラン。必要なら後で拡張可能
export STATIC_IP_NAME=${LS_NAME}-ip
export STG_DOMAIN=stg.rikkainc.jp

まずは変数をセットして、後のコマンドをシンプルにします

ステップ 1: Lightsail インスタンス作成

Bash
aws lightsail create-instances \
  --profile $AWS_PROFILE --region $AWS_REGION \
  --instance-names $LS_NAME \
  --availability-zone ${AWS_REGION}a \
  --blueprint-id $LS_BLUEPRINT \
  --bundle-id $LS_BUNDLE

Bitnami の Drupal イメージを起動します

Bash
aws lightsail get-instance-state \
  --profile $AWS_PROFILE --region $AWS_REGION \
  --instance-name $LS_NAME

状態を確認する(”running” になれば起動完了です)

ステップ 2: 固定IPを割り当て

Bash
aws lightsail allocate-static-ip \
  --profile $AWS_PROFILE --region $AWS_REGION \
  --static-ip-name $STATIC_IP_NAME

aws lightsail attach-static-ip \
  --profile $AWS_PROFILE --region $AWS_REGION \
  --static-ip-name $STATIC_IP_NAME \
  --instance-name $LS_NAME

STATIC_IP=$(aws lightsail get-static-ip \
  --profile $AWS_PROFILE --region $AWS_REGION \
  --static-ip-name $STATIC_IP_NAME \
  --query 'staticIp.ipAddress' --output text); echo $STATIC_IP

この後のDNS設定で使用するので表示された $STATIC_IP を控えておきます

ステップ 3: パブリックポート開放

Bash
for p in 22 80 443; do
  aws lightsail open-instance-public-ports \
    --profile $AWS_PROFILE --region $AWS_REGION \
    --instance-name $LS_NAME \
    --port-info fromPort=$p,toPort=$p,protocol=TCP
done

ステップ 4: SSH でログイン & 管理者パスワード取得

Lightsailはリージョンごとに「規定の秘密鍵」を自動生成しているので、最初に1回コンソールから秘密鍵(.pem)をダウンロードする必要があります。
ダウンロードした鍵はローカルの~/.ssh/に配置してパーミッションを変更します

鍵をダウンロード

  1. AWS コンソール → Lightsail
    1. 右上の「アカウント」 → 「アカウント」
    2. 「SSHキー」タブを開く
    3. 東京リージョン (ap-northeast-1) の Default key をダウンロード
      → 例: LightsailDefaultKey-ap-northeast-1.pem

ローカルに配置

Bash
mv ~/Downloads/LightsailDefaultKey-ap-northeast-1.pem ~/.ssh/
chmod 600 ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem

ターミナルでダウンロードした秘密鍵を移動してパーミッションを変更します

Bash
ssh -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem bitnami@$STATIC_IP

SSHでログインできることを確認します

Drupal 管理パスワード取得

Bash
cat /home/bitnami/bitnami_application_password 2>/dev/null

ログイン出来たらDrupal管理パスワードを取得して控えておきます。
最近のBitmaniはbitmiani_credentialsファイルを使わず、bitnami_application_password に統一されています

ステップ 5: 動作確認

Bash
http://$STATIC_IP/

ブラウザでDrulapが表示されるか確認します
$STATIC_IPにはステップ 3: パブリックポート開放で取得したIPアドレスを入れます

Bash
http://$STATIC_IP/user/login

ブラウザでDrupalが表示されることを確認できたら管理画面に入れるか確認します

Usernameは「user」、PasswordはDrupal 管理パスワード取得で控えておいたパスワードです

ここまででLightsailでDropal環境をCLIで構築出来ました

PAGE TOP