0
0

#6 作成したAMIから2つ目のEC2インスタンスを起動する

Last updated at Posted at 2023-07-05

はじめに

#6で作成したAMIから、以下の構成図の通り2つ目のインスタンスを作成します。
ami-2.png

手順

設定値の指定

#リージョンの指定
export AWS_DEFAULT_REGION='ap-northeast-1'

#ec2インスタンスのタグ名
EC2_INSTANCE_TAG_NAME='handson-ec2-1st-instance'

#起動時に利用するAMIイメージ名
EC2_INSTANCE_IMAGE_NAME="cli-ami"

#ec2インスタンスタイプ
EC2_INSTANCE_TYPE="t2.micro"

#ユーザデータファイル名
USER_DATA_NAME='handson-ec2-1st-httpd-userdata'

DIR_USER_DATA="${HOME}/environment/conf-handson-ec2-1st"

FILE_USER_DATA="${DIR_USER_DATA}/${USER_DATA_NAME}.bash" \
  && echo ${FILE_USER_DATA}

設定値の確認

cat << END

  # 0. AWS_DEFAULT_REGION:"ap-northeast-1"
       AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}"

  # 1. EC2_INSTANCE_TAG_NAME:"handson-ec2-1st-instance"
       EC2_INSTANCE_TAG_NAME="${EC2_INSTANCE_TAG_NAME}"
  # 2. EC2_INSTANCE_IMAGE_NAME:"ami-xxxx"
       EC2_INSTANCE_IMAGE_NAME="${EC2_INSTANCE_IMAGE_NAME}"
  # 3. EC2_INSTANCE_TYPE:"t2.micro"
       EC2_INSTANCE_TYPE="${EC2_INSTANCE_TYPE}"
  # 4. FILE_USER_DATA:"${HOME}/environment/conf-handson-ec2-1st/handson-ec2-1st-httpd-userdata.bash"
       FILE_USER_DATA="${FILE_USER_DATA}"

END

処理の実行

  • run-instancesコマンドを使います。
  • EC2_INSTANCE_IMAGE_IDで設定したAMIを--image-idオプションで指定することで、2つ目のEC2インスタンスを作成します。
#イメージID取得
EC2_INSTANCE_IMAGE_ID="ami-xxxx"

#イメージIDの変数確認

cat << END

EC2_INSTANCE_IMAGE_ID="ami-xxxx"
EC2_INSTANCE_IMAGE_ID="${EC2_INSTANCE_IMAGE_ID}"

END


#タグ設定文字列の生成
EC2_TAG_KEY='Name'

STRING_TAG_CONF_INSTANCE="ResourceType=instance,Tags=[{Key=${EC2_TAG_KEY},Value=${EC2_INSTANCE_TAG_NAME}}]" \
  && echo ${STRING_TAG_CONF_INSTANCE}

#2台目のインスタンス作成
aws ec2 run-instances \
--security-group-ids sg-xxxx \
--subnet-id subnet-xxxx \
  --image-id ${EC2_INSTANCE_IMAGE_ID} \
  --instance-type ${EC2_INSTANCE_TYPE} \
  --tag-specifications ${STRING_TAG_CONF_INSTANCE} \
  --user-data file://${FILE_USER_DATA} \
  --associate-public-ip-address

完了確認

  • describe-instancesコマンドで、作成したインスタンスを確認します。
aws ec2 describe-instances \
  --filters Name=tag-key,Values=Name \
            Name=tag-value,Values=${EC2_INSTANCE_TAG_NAME} \
            Name=instance-state-name,Values=running \
  --query 'Reservations[].Instances[].Tags[].Value' \
  --output text

#7 RDSのマルチAZ配置

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