Amazon EC2Spot Instances & Auto Scaling
Deep Dive(Morning Session)
Amazon Web Service Japan K.K.Solutions Architect
Akihiro Tsukada(@akitsukada)
AWS Black Belt Tech Webinar 2015
12 12/02AWS IoT 12/09AWS WAF 12/16Amazon EC2 & Auto Scaling 12/22AWS Black Belt - Black Belts
http://aws.amazon.com/jp/event_schedule/
AWS
AWS Mobile HubAmazon Cognito
Ruby, iOSOOP, SOLID, KISS
@akitsukada
Auto ScalingEC2
Amazon EC2EC2 Auto ScalingQ & A
Amazon EC2
Amazon Elastic Compute Cloud (EC2)
(http://aws.amazon.com/jp/ec2/) 1
11 OS
(http://aws.amazon.com/jp/ec2/pricing/) ($0.02/hour ) (OUT $0.14/GB )
Amazon EC2
1375%
EC290%
Dedicated Hosts
Auto Scaling
(http://aws.amazon.com/jp/autoscaling/) Amazon EC2
EC2
(http://aws.amazon.com/jp/autoscaling/pricing/) Auto Scaling Auto ScalingEC2
Spot
EC2
Auto Scaling group
Desired Capacity
Capacity
AMI Spot
EC2
Amazon EC2 EC2
90%EC2Spot FleetSpot BlockAmazon EMRAuto Scaling
$1 $
2015/04
2015/08
2015/10
Spot Fleet API
Spot Fleet APIModify Fleet2015/10 Spot Fleet
2015/10 Spot Block
EC2(Non Block)Spot FleetSpot Block
EC2(Non Block)EC2RequestSpotInstances APIEC2Auto ScalingEMR
Spot FleetEC2RequestSpotFleet API
Spot Block16APIblockDurationMinutesSpot BlockAuto ScalingEMRSpot Fleet
EC2
EC2 Availability Zone*
Spot Block
Spot Block
12
*+AZ+
Web
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/how-spot-instances-work.html
EC2 (Non Block)
(Non Block)
$0.01
$0.24
$0.30
$0.01
$0.24
$0.30
>
(Non Block)
$0.01
$0.24
$0.30
>
1h 1h1
(Non Block)
$0.01
$0.24
$0.30
>
1h 1h1
(Non Block)
$0.01
$0.24
$0.30
>
1h 1h1
Spot Block
(Spot Block)
$0.24
$0.30
6h
(Spot Block)
$0.24
$0.30
Block
6h
Spot Fleet
Spot Fleet APIDiversifiedLowest Cost
2015/08
https://aws.amazon.com/jp/ec2/spot/bid-advisor/
Auto Scaling
Auto Scaling Concepts
Launch Configuration Auto Scaling GroupEC2 instance Launch Configuration
Launch ConfigurationAMI
Scaling Plan
/SQS
Auto Scaling Groups EC2Auto Scaling Group
Auto Scaling GroupEC2
Benefits of Auto Scaling
: Automatically
adapt capacity to demand
: Counteract
failures of instances or AZs
: With
bootstrapping & lifecycle hooks
3 types of Auto Scaling
Metrics BasedSQSScheduled Action
Scaling on a SQS
Scaling on a Metrics
CloudWatch
Scaling on a Schedule Elastic LoadBalancing
Auto Scaling group
cron-like syntax for recurring scaling events
Schedule individual events (up to 135 events per group)
Auto Scaling CLI & SDK only!Not available in AWS management console
Set min / max / desired capacity
Elastic LoadBalancing
Instance Lifecycle
Scale Out Event
Instance launching: Pending
InService
TerminatingTerminated
Scale In Event
Healthcheck failed
Bootstrapping
- AMI(Golden Image)- AMI +
- Via Userdata (EC2- Via Chef/Puppet/Ansible/- Using AWS CodeDeploy
Bootstrapping
#!/bin/bash
yum y update;
yum install y ruby; yum install y aws-cli;
cd /home/ec2-user;
aws s3 cp s3://aws-codedeploy-us-east-1/latest/ install . --region us-east-1;
chmod +x ./install;
./install auto;