EC2

リスト2-1 ユーザーデータ(例)
#!/bin/sh
# yum のアップデート yum update -y
# Apache のインストール
yum install -y httpd
cp -p /usr/share/httpd/noindex/index.html /var/www/html/index.html systemctl enable httpd
systemctl start httpd
# MySQL クライアントのインストール
yum install -y https://dev.mysql.com/get/mysql80-community-release-e17-3.noarch.rpm yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install -y mysql-community-client
# AWS CLI アップグレード
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip
./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update rm -f awscliv2.zip

リスト2-2 簡単シェルスクリプト例(shellscript.sh)
      01: #!/bin/bash
      02:
      03: read NAME
      04: echo "Hello $NAME !"

リスト2-3 インスタンスメタデータ(例)
AWS_REGION=$(curl http://169.254.169.254/latest/meta-data/placement/region) AWS_INSTANCE_ID=$(curl http://169.254.169.254/latest/meta-data/instance-id) PUBLIC_IP=$(curl http://169.254.169.254/latest/meta-data/public-ipv4) aws ec2 create-tags \
         --resources $AWS_INSTANCE_ID \
         --region $AWS_REGION \

動画でも解説しています!

■補足情報
1つのEBSを複数のEC2インスタンスにアタッチできる「マルチアタッチ」機能が提供されております。
マルチアタッチ機能を利用するには制約(同一アベイラビリティゾーンであることなど)があります。
詳細は以下公式サイトをご確認ください。

Amazon EBS マルチアタッチを使用した複数のインスタンスへのボリュームのアタッチ
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-volumes-multi.html
#!/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 "===ID=$(curl http://169.254.169.254/latest/meta-data/instance-id) >> /tmp/test==="
echo $(curl http://169.254.169.254/latest/meta-data/instance-id) >> /tmp/test
10:45 cat /var/log/cloud-init-output.logと実行している箇所について

sudo cat /var/log/cloud-init-output.log
とsudoをつけないと権限エラーとなります。
おそらく動画収録当時からファイルのデフォルトのパーミッション設定が変更になったものと思われます。