shootacean's blog

shootacean

Web engineer's tech & life blog

AWS CLI で ec2 を起動して パブリックDNS名 を取得するシェルスクリプト

AWS CLI で EC2 を起動し、インスタンスのパブリックDNS名を取得するシェルスクリプトを紹介します。

shootacean

1

AWS CLI で EC2 を起動し、インスタンスのパブリックDNS名を取得するシェルスクリプトを紹介します。

実務では Makefile として作成したので、書き方が独特かもしれません。

処理としては、

  1. EC2を作成して、インスタンスIDを変数に保持
  2. EC2の起動開始を待つ
  3. EC2のパブリックDNS名を取得する
  4. EC2の起動完了を待つ

という感じです。

@echo "--- Start"
$(eval INSTANCE_ID := $(shell aws ec2 run-instances \
    --launch-template LaunchTemplateId=lt-1234567890abcdefg \
    --query 'Instances[0].InstanceId' \
))

@echo "--- Launching"
aws ec2 wait instance-running --instance-ids ${INSTANCE_ID}

$(eval PUBLIC_DNS := $(shell aws ec2 describe-instances \
    --instance-ids $(INSTANCE_ID) \
    --query 'Reservations[].Instances[].PublicDnsName | [0]')
)
@echo ${PUBLIC_DNS}

aws ec2 wait instance-status-ok \
--instance-ids ${INSTANCE_ID}
@echo "--- Complete"

See more

Web engineer's tech & life blog