0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

aws 起動テンプレート、ALBを作成しAutoScalingを試してみた。

Last updated at Posted at 2025-10-04
  • 下の図のように、パブリックサブネットを2つ持ったVPCを作成し、その中にELBとAuto Scaling groupを設定。
    Auto Scaling groupは起動テンプレートから作成されたEC2インスタンスが自動デプロイされ
    自動的にELBのターゲットグループの方にアサインされ、EC2インスタンスを削除してもAuto Scaling groupの最小起動台数がキープされるという事を試しました。

スクリーンショット 2025-10-03 192744.png

ではやってみましょう!

VPC,パブリックサブネット,IGW,ルートテーブルを作成

マネジメントコンソールからVPCの画面を開き、VPC作成を押下。
下記内容で作成する。
スクリーンショット 2025-10-03 193334.png
スクリーンショット 2025-10-03 193402.png

スクリーンショット 2025-10-03 194121.png

EC2から起動テンプレート作成

コンソ-ル画面からEC2を選択し、インスタンスを起動を押下。
下記内容で作成する。(キーペアは作成しなくても可、作成したVPCを選択、
サブネットはどちらかを選択、ユーザーデータは下記を貼り付ける。)
スクリーンショット 2025-10-04 105931.png
スクリーンショット 2025-10-04 105959.png
image.png
image.png
スクリーンショット 2025-10-04 110111.png

#!/bin/bash
echo "===yum -y install httpd==="
yum -y install httpd

echo "===systemctl start httpd.service==="
systemctl start httpd.service

echo "===systemctl enable httpd.service==="
systemctl enable httpd.service

echo "===get token===" #トークンを取得
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")

echo "===get instance-id >> /tmp/test===" #見出し
echo "instance-id:" >> /var/www/html/index.html #見出し
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-id >> /var/www/html/index.html
echo "   " >> /var/www/html/index.html

echo "===get Tag===" #見出し
echo "Name tag:" >> /var/www/html/index.html #見出し
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/Name >> /var/www/html/index.html

パブリックIPv4アドレスをコピーし、ブラウザに貼り付け繋がるか確認する。
スクリーンショット 2025-10-03 200717.png
スクリーンショット 2025-10-03 200843.png

作成したEC2を右クリックし「イメージとテンプレート」、「インスタンスからテンプレートを作成」を押下する。

スクリーンショット 2025-10-04 094548.png

デフォルトのままで「起動テンプレートを作成」を押下する。

スクリーンショット 2025-10-04 094950.png

起動テンプレートが作成された事を確認する。
スクリーンショット 2025-10-04 095657.png

AutoScalingグループとELBを作成し動作確認

EC2の左画面からAutoScalingグループを選択、「AutoScalingグループ」を押下する。
以下、写真の内容で設定する。

スクリーンショット 2025-10-04 100225.png
スクリーンショット 2025-10-04 100309.png

スクリーンショット 2025-10-04 100655.png
スクリーンショット 2025-10-04 100740.png
スクリーンショット 2025-10-04 100851.png

「グループサイズとスケーリングを設定する」は下記写真の内容で設定し「次へ」を押下する。
スクリーンショット 2025-10-04 101150.png
スクリーンショット 2025-10-04 101248.png

「通知を許可する」はデフォルトのままで「次へ」を押下する。
スクリーンショット 2025-10-04 101643.png

「タグを追加する」で下記写真の内容で設定し「次へ」を押下する。
スクリーンショット 2025-10-04 101826.png

内容を確認し「AutoScalingを作成」を押下する。
スクリーンショット 2025-10-04 101932.png

左側「ターゲットグループ」を押下し、ターゲットグループが作成されている事、
インスタンスが2台作成されている事を確認する。
スクリーンショット 2025-10-04 102600.png

ロードバランサーのセキュリティグループを作成する。
左側から「セキュリティグループ」、「セキュリティグループを作成する」を押下する。
下記写真の内容で設定する。
スクリーンショット 2025-10-04 103548.png

デフォルトのセキュリティグループは削除し、作成したセキュリティグループを選択する。
スクリーンショット 2025-10-04 103737.png

スクリーンショット 2025-10-04 103949.png

通信を確認する。
ロードバランサーのDNS名をコピーし、ブラウザに貼り付け何回か更新し
通信が出来ている事、2つのEC2が表示されている事を確認する。
スクリーンショット 2025-10-04 104242.png
スクリーンショット 2025-10-04 104300.png

テスト的に片方のEC2を削除してみる。

片方のEC2を削除する
スクリーンショット 2025-10-04 104648.png
スクリーンショット 2025-10-04 104722.png

AutoScalingグループの「アクティビティ」を確認する。
新しくEC2インスタンスが起動された事を確認する。
スクリーンショット 2025-10-04 105004.png
スクリーンショット 2025-10-04 105116.png

ロードバランサーもブラウザで更新して、新しく作成されたEC2と振り分けられている事を確認する。
スクリーンショット 2025-10-04 105340.png

以上になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?