
рд╢реБрдн рджреЛрдкрд╣рд░
рдЕрдореЗрдЬрд╝реЕрди EC2 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдСрдЯреЛрд╕рд╛рд▓рд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рд╣рд▓ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЕрдм рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рд▓рдЧрд╛ рджрд┐рдпрд╛ред рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛: рдПрдХ рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рддрд╣рдд рдПрдХ рд╕рд░реНрд╡рд░ рдХрд╛ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧред
рдХреНрд▓рд╛рдЙрдб рд╡реЙрдЪ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рдЖрд░рдВрднрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред рдореАрдЯреНрд░рд┐рдХ рд╣рдорд╛рд░реА
рдХрд╕реНрдЯрдо рд▓реЛрдб рдФрд╕рдд
рдореАрдЯреНрд░рд┐рдХ рд╣реЛрдЧреА ред
рддреЛ, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛, рдПрдХ рд╕рдЪреНрдЪреЗ рд▓рд┐рдирдХреНрд╕реЙрдЗрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдСрдЯреЛ-рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ (CLT) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ:
- рд╕рдм рдХреБрдЫ рд╕реАрдПрд▓рдЯреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдХрдВрд╕реЛрд▓ рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрди рдЯреВрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЕрдирдкреИрдХ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдЯрд░реНрдорд┐рдирд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдкреАрдХреЗ - ***ред рдкреАрдо рдФрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ - ***ред рдкреЗрдо рдЗрди / рдСрдкреНрдЯ / рдПрд╡реЗрдиреНрдпреВ / рдХреАрдЬрд╝ред
рдЕрдм .bash_profile рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдбрд╛рд▓рдХрд░ bash рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
.bash_profileexport JAVA_HOME=/usr/java/latest export EC2_CERT=/opt/aws/cert-***.pem export EC2_PRIVATE_KEY=/opt/aws/pk-***.pem export EC2_HOME=/opt/aws/ec2 export PATH=$PATH:$EC2_HOME/bin export AWS_CLOUDWATCH_HOME=/opt/aws/mon export PATH=$PATH:$AWS_CLOUDWATCH_HOME/bin export AWS_ELB_HOME=/opt/aws/elb export PATH=$PATH:$AWS_ELB_HOME/bin export AWS_AUTO_SCALING_HOME=/opt/aws/as export PATH=$PATH:$AWS_AUTO_SCALING_HOME/bin
рддреЛ, рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрд▓рдмреНрдз рдХрдорд╛рдВрдб рдХреА рд╕реВрдЪреА рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдЦреНрдпрд╛ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрдЧреАред
1. рдЪрд▓реЛ рдПрдХ рдмреИрд▓реЗрдВрд╕рд░ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
$ elb-create-lb testlb --headers --listener "lb-port=80,instance-port=8080,protocol=http" --listener "lb-port=443,instance-port=8443,protocol=tcp" --availability-zones us-east-1c DNS_NAME DNS_NAME DNS_NAME testlb-1678377526.us-east-1.elb.amazonaws.com
рдпрд╣рд╛рдВ:
testlb - LB рдХрд╛ рдирд╛рдо
"рдПрд▓рдмреА-рдкреЛрд░реНрдЯ = 80, рдЙрджрд╛рд╣рд░рдг-рдкреЛрд░реНрдЯ = 8080, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ = http" - рдПрд▓рдмреА рдХрд╛ рдмрд╛рд╣рд░реА рдкреЛрд░реНрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдкреЛрд░реНрдЯред рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕реНрдерд┐рддрд┐ рд╣реИред
2. рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ID i-12345678 рдХреЗ рд╕рд╛рде рд░реЗрдбреА-рдЯреВ-рдпреВрдЬрд╝ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдПрд▓рдмреА рдХреЗ рддрд╣рдд рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
$ elb-register-instances-with-lb testlb --instances i-12345678 INSTANCE_ID i-12345678
рдЕрдм рдЙрджрд╛рд╣рд░рдг рдПрд▓рдмреА рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред
3. рдЫрд╡рд┐ (рдЕрдореЗрдЬрд╝реЕрди рдорд╢реАрди рдЫрд╡рд┐ - рдПрдПрдордЖрдИ) рдХреЛ рдХрд╛рдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ:
$ ec2-create-image i-12345678 --no-reboot -n 'Image Name' -d 'Image Description' ami-87654321
4. рдкрд░рд┐рдгрд╛рдореА рдЕрдореА рдХреЗ рд╕рд╛рде, рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ (рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд┐рдЧрд░) рдмрдирд╛рдПрдВ
$ as-create-launch-config testlc -i ami-87654321 --key=keypair --group mygroup --instance-type m1.large OK-Created launch config
рдпрд╣рд╛рдВ:
рдХреАрдкрд░ - рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ;
mygroup - рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдЙрдард╛рдП рдЬрд╛рдПрдВрдЧреЗред
5. рдирдП рдмрдирд╛рдП рдЧрдП рдХреЙрдиреНрдлрд┐рдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдЯреЛрд╕рд╛рд▓рд┐рдВрдЧ рд╕рдореВрд╣ рдмрдирд╛рдПрдВ:
$ as-create-auto-scaling-group testsg -l testlc --availability-zones us-east-1c --min-size 0 --max-size 2 --load-balancers testlb OK-Created AutoScalingGroup
рдпрд╣рд╛рдВ:
testlc - рд╣рдордиреЗ рдЬреЛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдпрд╛ рд╣реИ;
us-east-1c - рдЬрд╝реЛрди рдЬрд┐рд╕рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдЙрдард╛рдП рдЬрд╛рдПрдВрдЧреЗ;
0 рдФрд░ 2 рдХреНрд░рдорд╢рдГ рд╕рдореВрд╣ рдХреЗ рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╣реИрдВ;
testlb рдЖрдкрдХреЗ рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдирд╛рдо рд╣реИ, рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдкреВрд░реЗ рд╕рдореВрд╣ рдХреЛ рдЦрдбрд╝рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рддреЛ, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЧреНрд░реБрдк рдФрд░ рдмреИрд▓реЗрдВрд╕рд░ рддреИрдпрд╛рд░ рд╣реИрдВред
рдЕрдм рдЖрдкрдХреЛ CloudWatch рдЕрд▓рд╛рд░реНрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЧреИрд░-рдХреНрд▓рд╛рдЙрдбрд╡реЙрдЪ рдЖрдзрд╛рд░рд┐рдд рдСрдЯреЛрдХреИрд╕рд▓рд┐рдВрдЧ рдПрдХ
рдиреАрддрд┐ , рдирд┐рд░реНрдзрд╛рд░рд┐рдд
рдиреАрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рдиреАрддрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг 1. рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реИред рдкрд╣рд▓реЗ рд╣рдо рдкреЙрд▓рд┐рд╕реА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдПрдХ
рдЕрд▓рд╛рд░реНрдо рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рд▓реЛрдб рдФрд╕рдд рдПрдХ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП 5 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред
6. рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рдКрдкрд░ рдХреА рдиреАрддрд┐ рд╣реИ:
$ as-put-scaling-policy ScaleUpPolicy --auto-scaling-group testsg --adjustment=1 --type ChangeInCapacity --cooldown 120 arn:aws:autoscaling:us-east-1:278634951321:scalingPolicy:2f3482d2-ca6c-4653-970c-eb68a593cf26:autoScalingGroupName/testsg:policyName/ScaleUpPolicy
рдпрд╣рд╛рдВ:
- рдЙрддреНрдкреАрдбрд╝рди = 1 - +1 рд╕рдореВрд╣ рдореЗрдВ рд╣реЛрд╕реНрдЯ
-рдХреЛрд▓реНрдбрд╛рдЙрди 120 - 2 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрд▓рд╛рд░реНрдо рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдирдП рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдЙрдард╛рдП рдЬрд╛рдПрдВрдЧреЗ
7. рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдЕрд▓рд╛рд░реНрдо:
$ mon-put-metric-alarm HighLoadAvAlarm --comparison-operator GreaterThanOrEqualToThreshold --evaluation-periods 1 --metric-name LoadAverage --namespace CustomMetric --period 60 --statistic Average --threshold 5 --alarm-actions arn:aws:autoscaling:us-east-1:278634951321:scalingPolicy:2f3482d2-ca6c-4653-970c-eb68a593cf26:autoScalingGroupName/testsg:policyName/ScaleUpPolicy OK-Created Alarm
рдпрд╣рд╛рдВ:
--comparison- рдСрдкрд░реЗрдЯрд░ GreaterThanOrEqualToThreshold - >> рдПрдХ рдЯреНрд░реИрд╢рд╣реЛрд▓реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдСрдкрд░реЗрдЯрд░ред
- рдЕрд╡рдореВрд▓реНрдпрди-рдЕрд╡рдзрд┐ 1 - рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ рд╣реБрдЖ
- рдореЗрдЯреНрд░рд┐рдХ-рдирд╛рдо рд▓реЛрдбрдПрд╡рд░реЗрдЬ --namespace CustomMetric - рд╣рдорд╛рд░реА
рдХрд╕реНрдЯрдо рдореАрдЯреНрд░рд┐рдХ-рдСрдкрд░рд┐рдб 60 - рд╕рдХреНрд░рд┐рдпрдг рдорд┐рдирдЯ
- рдЖрд╕реНрддрд┐рдХ рдФрд╕рдд - рдФрд╕рдд рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ
- рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб 5 - рд▓реЛрдб рдФрд╕рдд 5 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдпрд╛рдж рд╣реИ?
- рдЕрд▓рдВрдХрд╛рд░-рдХреНрд░рд┐рдпрд╛рдПрдБ - рдХреМрди рд╕реА рдиреАрддрд┐ред
8. рд╕реНрдХреЗрд▓ рдбрд╛рдЙрди рдкреЙрд▓рд┐рд╕реА:
$ as-put-scaling-policy ScaleDownPolicy --auto-scaling-group testsg --adjustment=-1 --type ChangeInCapacity --cooldown 420 arn:aws:autoscaling:us-east-1:278634951321:scalingPolicy:2f3482d2-ca6c-4653-970c-eb68a593cf26:autoScalingGroupName/testsg:policyName/ScaleDownPolicy
рдпрд╣рд╛рдБ рдХреЛрд▓реНрдбрд╛рдЙрди рдЕрдзрд┐рдХ рд╣реИред рдбрд╛рдЙрдирд╕реНрдХреЗрд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж, рд╕рдореВрд╣ рдХрдо рд╕реЗ рдХрдо 6 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд╕реНрдХреЗрд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЦреИрд░, рд╕рдорд╛рдпреЛрдЬрди = -1ред
9. рд╕реНрдХреЗрд▓ рдбрд╛рдЙрди рдХреЗ рд▓рд┐рдП рдЕрд▓рд╛рд░реНрдо:
$ mon-put-metric-alarm LoLoadAvAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name LoadAverage --namespace CustomMetric --period 120 --statistic Average --threshold 3 --alarm-actions arn:aws:autoscaling:us-east-1:278634951321:scalingPolicy:2f3482d2-ca6c-4653-970c-eb68a593cf26:autoScalingGroupName/testsg:policyName/ScaleDownPolicy OK-Created Alarm
рдпрджрд┐ 2 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдб рдФрд╕рдд 3 рд╕реЗ рдХрдо рдерд╛ рддреЛ рдпрд╣рд╛рдВ рдЕрд▓рд╛рд░реНрдо рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЦреИрд░, рдпрд╣ рдмрд╛рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдм рд▓реЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдорд╛рд░рд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕рдореВрд╣ 3 рдЙрджрд╛рд╣рд░рдгреЛрдВ рддрдХ рдмрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдФрд░ 1 рд╣рдореЗрд╢рд╛ рдЬреАрд╡рд┐рдд рд░рд╣реЗрдЧрд╛ред рдпрд╣рд╛рдБ рдСрдЯреЛрд╕рд╛рд▓рд┐рдВрдЧ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓рд┐рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред