AWSの学習でAWS Technical Essentialsを進めています。「デモンストレーション: Amazon EC2 で従業員ディレクトリアプリケーションの起動」の動画の内容が古く、2024年6月時点では動画の通りにやっても動きませんでした。古くなっているポイントと動くユーザーデータを作ったので参考にしてください。
動画で情報が古いポイント
AMI
一番最初のAMIの選択から違っています。動画ではAmazon Linux 2 AMIを選択していますが、これを選択すると最新のnode.jsがインストールできません。新しいAmazon Linux 2023 AMIを選択してください。
画面遷移
動画ではAMIの選択、インスタンスタイプの選択と画面遷移をしていきますが、2024年6月時点では1画面ですべて入力できます。画面をスクロールして入力箇所を探してみてください。
セキュリティグループ作成
動画だとhttpとhttpを追加する手順になっていますが、2024年6月時点ではチェックボックスにチェックを入れるだけでOKです。
ユーザーデータの入力場所
高度な詳細の中にあります。デフォルトでは閉じられているので開いてください。開いた中の一番下にユーザーデータの入力欄があります。
ユーザーデータの入力内容
一番分かりにくいのがユーザーデータです。どこからかダウンロードできるのかもしれませんが私は見つけられませんでした。動画の画面を見ながら手入力してもうまく動きませんでした。エラーを解消して動くようにしたのが以下のスクリプトです。
#!/bin/sh -ex
# Update yum
yum -y update
# Add node's source repo
curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -
# install node.js
dnf install nodejs -y
# Create a dedicated directory for the application
mkdir -p /var/app
# Get the app from S3
wget https://aws-tc-largeobjects.s3-us-west-2.amazonaws.com/ILT-TF-100-TECESS-5/app/app.zip
# Unzip it into a spesific folder
unzip app.zip -d /var/app/
cd /var/app/
# Install dependencies
npm install
# Start your app
npm start
動画のスクリプトから変更した箇所は以下の通りです。
node.jsのバージョンを20に変更
動画で指定している15はサポート切れでインストールできないので20にしています。Amazon Linux 2 AMIでは20をインストールできないのでAmazon Linux 2023 AMIに変更しました。
node.jsのインストールコマンド変更
node.jsのバージョンが変わったのでインストールコマンドもそれに合わせて dnf install
に変更しました。
ユーザーデータでは sudo
を使えないので注意してください。
ユーザーデータの修正方法
ユーザーデータを修正する必要があったのですが、動画には修正の手順が無く調べたのでまとめておきます。
ユーザーデータを修正するにはインスタンスを停止する必要があります。インスタンスを停止したのち、以下の画像のようにユーザーデータを編集を選択することでユーザーデータの編集画面へ遷移することができます。
ユーザーデータはインスタンスの初回起動時にしか実行されません。
私はこれを知らずにユーザーデータを更新・再起動していて、ずっと動かないなぁ~っと悩んでいました……。
まとめ
AWS Technical EssentialsはAWSの基本を学習するには良い教材だと思います。情報が古く見た通りに入力しても先に進めず挫折してしまうともったいないです。AWS Technical Essentialsで学習する人の役に立てると嬉しいです。
コメント