実現したいこと:どのAZにあるEC2なのかを表示させるページを作りたい
ELBのテストでAZが記載されているページを表示させて、「ほら、負荷分散されてますね!」と見せているデモをよく見かけるのですが、あれに憧れたのでやってみたいと思います!
↑こんな感じ
1.EC2インスタンスを作成し、ユーザーデータを仕込む
今回はユーザーデータを使ってLinux上で上記のページを作っていきたいと思います。
1.いつも通りEC2インスタンスの作成ボタンをクリック
2.作成画面で名前などを入力していく…
この時、高度な詳細 > メタデータのバージョンでV1およびV2(トークンはオプション) を選択
3.ユーザーデータに以下を入力してインスタンスを起動する
#!/bin/bash
# Install necessary packages
yum update -y
yum install -y httpd
# Start the HTTP server
service httpd start
chkconfig httpd on
# Get the availability zone
AZ=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)
# Create an HTML page to display the Availability Zone
echo "<html><body><h1>Availability Zone: $AZ</h1></body></html>" > /var/www/html/index.html
ALBでマルチAZ構成で冗長化する場合は別AZにもインスタンスを立てて、ALBのDNS名をブラウザに貼り付けるとAZが表示されたページが見られます!
更新してみると…
変わっていることが確認できました!