-
Notifications
You must be signed in to change notification settings - Fork 0
InPlace AutoScalingGroup
ot-nemoto edited this page Jan 11, 2019
·
1 revision
cat << EOT > instance-setup.sh
#!/bin/bash
yum -y update
yum install -y ruby
cd /home/ec2-user
curl -O https://aws-codedeploy-ap-northeast-1.s3.amazonaws.com/latest/install
chmod +x ./install
./install auto
EOT
# ami-02e680c4540db351e: Amazon Linux 2 AMI (HVM), SSD Volume Type
aws autoscaling create-launch-configuration \
--launch-configuration-name CodeDeployDemoLaunchConfiguration \
--image-id ami-02e680c4540db351e \
--user-data file://instance-setup.sh \
--instance-type t2.micro \
--iam-instance-profile CodeDeployDemo-EC2-Instance-Profile \
--security-groups CodeDeployDemo-Security-Groupaws autoscaling create-auto-scaling-group \
--auto-scaling-group-name CodeDeployDemoAutoScalingGroup \
--launch-configuration-name CodeDeployDemoLaunchConfiguration \
--min-size 1 \
--max-size 1 \
--desired-capacity 1 \
--availability-zones $(aws ec2 describe-availability-zones --query 'AvailabilityZones[].ZoneName' --output text) \
--tags 'ResourceType=auto-scaling-group,Key=Name,Value=CodeDeployInPlaceAutoScalingDemo'aws deploy create-application \
--application-name CodeDeployInPlaceAutoScalingDemo-Appaws deploy create-deployment-group \
--application-name CodeDeployInPlaceAutoScalingDemo-App \
--auto-scaling-groups CodeDeployDemoAutoScalingGroup \
--deployment-group-name CodeDeployInPlaceAutoScalingDemo-DepGrp \
--service-role-arn $(aws iam get-role --role-name CodeDeployServiceRole --query 'Role.Arn' --output text)aws deploy create-deployment \
--application-name CodeDeployInPlaceAutoScalingDemo-App \
--deployment-config-name CodeDeployDefault.OneAtATime \
--deployment-group-name CodeDeployInPlaceAutoScalingDemo-DepGrp \
--github-location repository=ot-nemoto/CodeDeployDemo,commitId=e22cc3c5494cfacd9b95c6788259903350ebe0b1以下で出力されるパブリックドメイン名にブラウザでアクセス
aws ec2 describe-instances \
--filters Name=tag:Name,Values=CodeDeployInPlaceAutoScalingDemo Name=instance-state-name,Values=running \
--query 'Reservations[].Instances[].PublicDnsName'