ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠΈΡΠΈΠ»Π», Ρ CTO Π² Adapty. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π½Π°ΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° AWS, ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΈ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ° Π² 3 ΡΠ°Π·Π° Π·Π° ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ²ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π‘Π½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΏΠΎΡΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ?
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅Π½ Π½Π° ΡΠΏΠΎΡΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ.
m5.large Π² ΡΠ΅Π³ΠΈΠΎΠ½Π΅ eu-west-1 (Ireland). Π¦Π΅Π½Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π° Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ 3 ΠΌΠ΅ΡΡΡΠ΅Π², Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ 2.9x.
m5.large Π² ΡΠ΅Π³ΠΈΠΎΠ½Π΅ us-east-1 (N. Virginia). Π¦Π΅Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ 3 ΠΌΠ΅ΡΡΡΠ΅Π², Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΎΡ 2.3x Π΄ΠΎ 2.8x Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·ΠΎΠ½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
t3.small Π² ΡΠ΅Π³ΠΈΠΎΠ½Π΅ us-east-1 (N. Virginia). Π¦Π΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π° Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ 3 ΠΌΠ΅ΡΡΡΠ΅Π², Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ 3.4x.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°
ΠΠ°Π·ΠΎΠ²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅.
Application Load Balancer β EC2 Target Group β Elastic Container Service
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Application Load Balancer (ALB), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ Π² EC2 Target Group (TG). TG ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠ°Ρ ΠΏΠΎΡΡΡ Π΄Π»Ρ ALB ΠΈ ΡΠ²ΡΠ·Π°ΡΡ ΠΈΡ Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Elastic Container Service (ECS). ECS β ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ Kubernetes Π² AWS, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠΎΠΌ Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
ΠΠ° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΡΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΠΈΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ. ECS ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ TG, ΡΡΠΎ ΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΡΠΊ (Π² ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Kubernetes ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄), ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΡΠΎΠ² Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠ΅ ΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΡΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ TG ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΈ Π°ΠΏΠΈ Π½Π° Π½ΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ health check, ΠΈ Π΅ΡΠ»ΠΈ Π²ΠΈΠ΄ΠΈΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠ΄Π° Π·Π°ΠΏΡΠΎΡΡ.
EC2 Auto Scaling Groups + ECS Capacity Providers
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ΅ΡΠ²ΠΈΡ EC2 Auto Scaling Groups (ASG). ΠΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² AWS Π½Π΅ Π±ΡΠ»ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΈΠ· ECS. ECS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΊΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ CPU, RAM ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΡΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈ Π²ΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ, ΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π»ΠΈΡΡ.
ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ECS Capacity Providers (ECS CP). Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² ECS ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Ρ ASG, ΠΈ Π΅ΡΠ»ΠΈ ΡΠ°ΡΠΊΠΈ Π½Π΅ ΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΠΈΠ½ΡΡΠ°Π½ΡΠ°Ρ , ΡΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ (Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π»ΠΈΠΌΠΈΡΠΎΠ² ASG). ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ ECS CP Π²ΠΈΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ Π±Π΅Π· ΡΠ°ΡΠΊΠΎΠ², ΡΠΎ ΠΎΠ½ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ASG, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΈΡ Π²ΡΠΊΠ»ΡΡΠΈΠ»Π°. Π£ ECS CP Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΈΠ½ Π±ΡΠ»ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΠΊΠΎΠ², ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
EC2 Launch Templates
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, β EC2 Launch Templates. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Ρ Π½ΡΠ»Ρ. Π’ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΠΏ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ±ΡΠ°Π· Π΄ΠΈΡΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°Π»ΠΈΡΡ Π½Π° Π²ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ. Π ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ
Π² ΡΠ°ΠΌΠΊΠ°Ρ
Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ β
ΠΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ Π΄ΠΈΡΠΊΠ° β AWS Π½Π΅Π΄Π°Π²Π½ΠΎ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅. Π ΡΠ΅Π»ΠΎΠΌ ΡΡΠΎ ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΠΊΠ΅ΠΉΡΡ Ρ Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ. ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ AWS, Π½ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CloudFormation ΠΈΠ»ΠΈ Terraform. Π Adapty ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Terraform.
EC2 Launch Template
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ EC2 -> Instances -> Launch templates.
Amazon machine image (AMI) β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠ±ΡΠ°Π· Π΄ΠΈΡΠΊΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ. ΠΠ»Ρ ECS Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ°Π· ΠΎΡ Amazon. ΠΠ½ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ECS. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ID ΠΎΠ±ΡΠ°Π·Π°, Π·Π°Ρ
ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ
Instance type β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏ ΠΈΠ½ΡΡΠ°Π½ΡΠ°. ΠΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ.
Key pair (login) β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ Ρ ΠΈΠ½ΡΡΠ°Π½ΡΡ ΠΏΠΎ SSH, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ.
Network settings β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΠΈ. Networking platform Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Virtual Private Cloud (VPC). Security groups β Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π΄Π΅ΡΡ Π³ΡΡΠΏΠΏΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. Π’ΠΎ Π΅ΡΡΡ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ 2 Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ΄Π½Π° Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ (inbound) ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ ΠΏΠΎ ΠΏΠΎΡΡΠ°ΠΌ 80 (http) ΠΈ 443 (https), Π° Π²ΡΠΎΡΠ°Ρ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎ Π»ΡΠ±ΡΠΌ ΠΏΠΎΡΡΠ°ΠΌ ΠΎΡ Π³ΡΡΠΏΠΏΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ (outbound) ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ Π³ΡΡΠΏΠΏΠ°Ρ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎ TCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π½Π° Π²ΡΠ΅ ΠΏΠΎΡΡΡ Π½Π° Π²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΏΠΎΡΡΡ ΠΈ Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π½ΠΎ ΡΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊΡΠ΄Π°-ΡΠΎ ΠΏΠΎ Π·Π°ΠΊΡΡΡΠΎΠΌΡ ΠΏΠΎΡΡΡ.
Storage (volumes) β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΈΡΠΊΠΎΠ² Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½. ΠΠ±ΡΡΠΌ Π΄ΠΈΡΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π·Π°Π΄Π°Π½ Π² AMI, Π΄Π»Ρ ECS Optimized β 30 GiB.
Advanced details β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
Purchasing option β Ρ ΠΎΡΠΈΠΌ Π»ΠΈ ΠΌΡ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΡΠΏΠΎΡΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ. ΠΡ Ρ ΠΎΡΠΈΠΌ, Π½ΠΎ Π·Π΄Π΅ΡΡ ΡΡΡ Π³Π°Π»ΠΎΡΠΊΡ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, Π½Π°ΡΡΡΠΎΠΈΠΌ ΡΡΠΎ Π² Auto Scaling Group, ΡΠ°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠΈΠΉ.
IAM instance profile β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΎΠ»Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΡΠ°Π½ΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π² ECS, ΠΈΠΌ Π½ΡΠΆΠ½Ρ ΠΏΡΠ°Π²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π»Π΅ΠΆΠ°Ρ Π² ΡΠΎΠ»ΠΈ ecsInstanceRole. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π°, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Π·Π΄Π΅ΡΡ
ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Π΅Π·Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅. Π― Π²ΡΠ΅Π³Π΄Π° Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ EBS-optimized instance ΠΈ T2/T3 Unlimited, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ
User data β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» /etc/ecs/ecs.config
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π°Π³Π΅Π½ΡΠ° ECS.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ user data:
#!/bin/bash
echo ECS_CLUSTER=DemoApiClusterProd >> /etc/ecs/ecs.config
echo ECS_ENABLE_SPOT_INSTANCE_DRAINING=true >> /etc/ecs/ecs.config
echo ECS_CONTAINER_STOP_TIMEOUT=1m >> /etc/ecs/ecs.config
echo ECS_ENGINE_AUTH_TYPE=docker >> /etc/ecs/ecs.config
echo "ECS_ENGINE_AUTH_DATA={"registry.gitlab.com":{"username":"username","password":"password"}}" >> /etc/ecs/ecs.config
ECS_CLUSTER=DemoApiClusterProd
β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎ Π΅ΡΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠ°ΡΠΊΠΈ. ΠΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ, Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΈΠΌΡ.
ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΏΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠ°, Π²ΡΠ΅ ΡΠ°ΡΠΊΠΈ Π½Π° Π½ΡΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΡΠ°ΡΡΡ Draining.
ECS_CONTAINER_STOP_TIMEOUT=1m
β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° SIGINT, Ρ Π²ΡΠ΅Ρ
Π·Π°Π΄Π°Ρ Π΅ΡΡΡ 1 ΠΌΠΈΠ½ΡΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡ
ΡΠ±ΡΡΡ.
ECS_ENGINE_AUTH_TYPE=docker
β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ docker-ΡΡ
Π΅ΠΌΠ°
ECS_ENGINE_AUTH_DATA=...
β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΌΡ container registry, Π³Π΄Π΅ Ρ
ΡΠ°Π½ΡΡΡΡ Π²Π°ΡΠΈ Docker ΠΎΠ±ΡΠ°Π·Ρ. ΠΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
Π ΡΠ°ΠΌΠΊΠ°Ρ
Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· ΠΈΠ· Docker Hub, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ECS_ENGINE_AUTH_TYPE
ΠΈ ECS_ENGINE_AUTH_DATA
Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ: ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ AMI, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½ΠΎΠ²ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π²Π΅ΡΡΠΈΠΈ Docker, Linux, ECS Π°Π³Π΅Π½ΡΠ° ΠΈ Π΄Ρ. Π§ΡΠΎΠ±Ρ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ
EC2 Auto Scaling Group
Auto Scaling Group ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π·Π°ΠΏΡΡΠΊ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ². Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ EC2 -> Auto Scaling -> Auto Scaling Groups.
Launch template β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ ΡΠ°Π±Π»ΠΎΠ½. ΠΠ΅ΡΡΠΈΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ.
Purchase options and instance types β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Adhere to launch template ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΏ ΠΈΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠ· Launch Template. Combine purchase options and instance types ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΈΠΏΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ². ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
Optional On-Demand base β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΡΠ½ΡΡ , Π½Π΅ ΡΠΏΠΎΡΠΎΠ²ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
On-Demand percentage above base β ΠΏΡΠΎΡΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ ΠΈ ΡΠΏΠΎΡΠΎΠ²ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², 50-50 Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΡΠΎΠ²Π½Ρ, 20-80 Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΠ°Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ 4 ΡΠΏΠΎΡΠΎΠ²ΡΡ . Π ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΠΊΠ°ΠΆΡ 50-50, Π½ΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ 20-80, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ 0-100.
Instance types β ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΠΌΡΡΠ» ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»ΠΎ Π² Π»ΠΈΠΌΠΈΡΠ°Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², Π½ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π»Π΅Π³ΠΊΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π±ΡΠ΄Ρ ΡΠ°Π΄ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ )
Network β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠΈ, Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ VPC ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ.
Load balancing β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, Π½ΠΎ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π·Π΄Π΅ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°Π΅ΠΌ. Health checks ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΠ·ΠΆΠ΅.
Group size β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π»ΠΈΠΌΠΈΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΈΠ½ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΈΠ½ Π½Π° ΡΡΠ°ΡΡΠ΅. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΈΠ½ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Scaling policies β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ ΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ECS ΡΠ°ΡΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΆΠ΅.
Instance scale-in protection β Π·Π°ΡΠΈΡΠ° ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΠΎΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π½ΠΈΠ·. ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ, ΡΡΠΎΠ±Ρ ASG Π½Π΅ ΡΠ΄Π°Π»ΠΈΠ»Π° ΠΌΠ°ΡΠΈΠ½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠ°ΡΠΊΠΈ. ΠΡΠΊΠ»ΡΡΠ°ΡΡ Π·Π°ΡΠΈΡΡ Π΄Π»Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΡΠ°ΡΠΊΠΎΠ², Π±ΡΠ΄Π΅Ρ ECS Capacity Provider.
Add tags β ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π³ΠΈ Π΄Π»Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² (Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΎΡΡΡ Π³Π°Π»ΠΎΡΠΊΠ° Tag new instances). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π³ Name, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π³ΡΡΠΏΠΏΡ, Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ, ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΡΠΏΠΏΡ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Ρ ΠΈ Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Advanced configurations, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΠΈΠ΄Π½Ρ Π½Π΅ Π²ΡΠ΅ ΠΎΠΏΡΠΈΠΈ.
Termination policies β ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ². ΠΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. ΠΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΡ Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΌ Launch Template (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ AMI, Ρ Π½Π°Ρ ΡΠΎΠ·Π΄Π°Π»Π°ΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ, Π½ΠΎ Π²ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ ΡΡΠΏΠ΅Π»ΠΈ Π½Π° Π½Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ). ΠΠΎΡΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°ΡΡΡΡΠ½ΠΎΠΌΡ ΡΠ°ΡΡ ΠΏΠΎ Π±ΠΈΠ»Π»ΠΈΠ½Π³Ρ. Π Π΄Π°Π»ΡΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎ Π΄Π°ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°.
ΠΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ: Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΌΠ°ΡΠΈΠ½ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Application Load Balancer ΠΈ EC2 Target Group
ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ EC2 β Load Balancing β Load Balancers. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Application Load Balancer, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π°
Listeners β ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ΄Π΅Π»Π°ΡΡ 80 ΠΈ 443 ΠΏΠΎΡΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡ Ρ 80 Π½Π° 443 Ρ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.
Availability Zones β Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ΠΌ Π·ΠΎΠ½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
Configure Security Settings β Π·Π΄Π΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ SSL-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΠ°ΠΌΡΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ELBSecurityPolicy-2016-08
. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΅Π³ΠΎ DNS name, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ CNAME Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π² Cloudflare.
Security Group β ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΈΠ»ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΈΡΠ°Π» ΡΡΡΡ Π²ΡΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ EC2 Launch Template β Network settings.
Target group β ΡΠΎΠ·Π΄Π°ΡΠΌ Π³ΡΡΠΏΠΏΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎΡΡΠΈΠ½Π³ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Target type Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Instance, Protocol ΠΈ Port Π»ΡΠ±ΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ HTTPS Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, ΡΠΎ Π½Π° Π½ΠΈΡ Π½Π°Π΄ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. Π ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²ΠΈΠΌ 80 ΠΏΠΎΡΡ.
Health checks β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ, Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΠΎΡΡΠ°Π²Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ°ΠΉΠΌΠ°ΡΡ, ΠΊΠΎΠ΄Ρ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΈ Π΄Ρ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΠ°ΠΆΠ΅ΠΌ Success codes 200-399, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Docker ΠΎΠ±ΡΠ°Π·, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 304 ΠΊΠΎΠ΄.
Register Targets β Π·Π΄Π΅ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ, Π½ΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ECS, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΠΎΡ ΡΠ°Π³.
ΠΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ: Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² S3 Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ
ECS Task Definition
ΠΠ° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ°Π³Π°Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²ΡΡ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ECS β Task Definitions.
Launch type compatibility β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ EC2.
Task execution IAM role β Π²ΡΠ±ΠΈΡΠΈΠ°Π΅ΠΌ ecsTaskExecutionRole
. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Ρ ΠΏΠΈΡΡΡΡΡ Π»ΠΎΠ³ΠΈ, Π΄Π°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈ Π΄Ρ.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ Container Definitions Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Add Container.
Image β ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ°Π· Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΡΠ°ΠΌΠΊΠ°Ρ
Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· Ρ Docker Hub
Memory Limits β Π»ΠΈΠΌΠΈΡΡ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Hard Limit β ΠΆΡΡΡΠΊΠΈΠΉ Π»ΠΈΠΌΠΈΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²ΡΠΉΠ΄Π΅Ρ Π·Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° docker kill, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΡΠΌΡΡΡ. Soft Limit β ΠΌΡΠ³ΠΊΠΈΠΉ Π»ΠΈΠΌΠΈΡ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΉΡΠΈ Π·Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΊΠΎΠ² Π½Π° ΠΌΠ°ΡΠΈΠ½Ρ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ 4 GiB ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π° soft limit ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° β 2048 MiB, ΡΠΎ Π½Π° ΡΡΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 2 Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΠΊΠ° Ρ ΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ 4 GiB ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ β ΡΡΠΎ ΡΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ 4096 MiB, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ECS Instances Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. Soft limit Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ hard limit. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΡΠΊΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΠΎ ΠΈΡ Π»ΠΈΠΌΠΈΡΡ ΡΡΠΌΠΌΠΈΡΡΡΡΡΡ.
Port mappings β Π² Host port ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ 0, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΠΎΡΡ Π±ΡΠ΄Π΅Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Target Group. Container Port β ΠΏΠΎΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Dockerfile ΠΈ ΡΠ΄. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ 3000, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΡΠΊΠ°Π·Π°Π½ Π²
Health check β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΡΡΠΎΠ΅Π½ Π² Target Group.
Environment β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. CPU units β ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Memory limits, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ΄ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° β 1024 ΡΠ½ΠΈΡΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π΄Π²ΡΡ ΡΡΠ΄Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΠΎΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 512, ΡΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ 4 ΡΠ°ΡΠΊΠ° Ρ ΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ. CPU units Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ΄Π΅Ρ, ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ.
Command β ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ gunicorn, npm ΠΈ ΡΠ΄. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ CMD ΠΈΠ· Dockerfile. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ npm,start
.
Environment variables β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·
Storage and Logging β Π·Π΄Π΅ΡΡ Π½Π°ΡΡΡΠΎΠΈΠΌ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² CloudWatch Logs (ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ Π»ΠΎΠ³ΠΎΠ² ΠΎΡ AWS). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π³Π°Π»ΠΎΡΠΊΡ Auto-configure CloudWatch Logs. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Task Definition Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π³ΡΡΠΏΠΏΠ° Π»ΠΎΠ³ΠΎΠ² Π² CloudWatch. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π»ΠΎΠ³ΠΈ Π² Π½Π΅ΠΉ Ρ ΡΠ°Π½ΡΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Retention period Ρ Never Expire Π½Π° ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΡΡΠΎΠΊ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² CloudWatch Log groups, Π½Π°Π΄ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ.
ECS Cluster ΠΈ ECS Capacity Provider
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ°Π·Π΄Π΅Π» ECS β Clusters, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ EC2 Linux + Networking.
Cluster name β ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, Π΄Π΅Π»Π°Π΅ΠΌ Π·Π΄Π΅ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΈΠΌΡ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Launch Template Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ECS_CLUSTER
, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β DemoApiClusterProd
. ΠΡΠΌΠ΅ΡΠ°Π΅ΠΌ Π³Π°Π»ΠΎΡΠΊΡ Create an empty cluster. ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Container Insights, ΡΡΠΎΠ±Ρ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π² CloudWatch. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ECS Instances Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π² Auto Scaling group.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Capacity Providers ΠΈ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΠΎΠ½ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΠΈΠ½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ECS ΡΠ°ΡΠΊΠΎΠ². ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅.
Auto Scaling group β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ Π³ΡΡΠΏΠΏΡ.
Managed scaling β Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΌΠΎΠ³ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ.
Target capacity % β ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ ΡΠ°ΡΠΊΠ°ΠΌΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ 100%, ΡΠΎ Π²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ ΡΠ°ΡΠΊΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ 50%, ΡΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΌΠ°ΡΠΈΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌΠΈ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ»ΡΡΠΈΡΡΡ ΡΠ΅Π·ΠΊΠΈΠΉ ΡΠΊΠ°ΡΠΎΠΊ Π² Π½Π°Π³ΡΡΠ·ΠΊΠ΅, Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΊΡΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΆΠ΄Π°ΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ².
Managed termination protection β Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ, ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΡΠ±ΠΈΡΠ°ΡΡ Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΠΎΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°ΡΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Target capacity %.
ECS Service ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³:) Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ, Π½Π°Π΄ΠΎ Π·Π°ΠΉΡΠΈ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Services.
Launch type β Π½Π°Π΄ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ Π½Π° Switch to capacity provider strategy ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ.
Task Definition β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π½Π΅Π΅ Task Definition ΠΈ Π΅Π³ΠΎ ΡΠ΅Π²ΠΈΠ·ΠΈΡ.
Service name β ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΡΠ°ΡΡΡΡ, ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Task Definition.
Service type β Π²ΡΠ΅Π³Π΄Π° Replica.
Number of tasks β ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°ΡΠΊΠΎΠ² Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ.
Minimum healthy percent ΠΈ Maximum percent β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΊΠΎΠ² ΠΏΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 100 ΠΈ 200, Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΊΠΎΠ² ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ Π² ΡΠ°Π·Π°, Π° ΠΏΠΎΡΠΎΠΌ Π²Π΅ΡΠ½ΡΡΡΡ ΠΊ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΌΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ 1 ΡΠ°ΡΠΊ, min=0, Π° max=100, ΡΠΎ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ±ΠΈΠ²Π°ΡΡΡΡ, ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ, ΡΠΎ Π΅ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ. ΠΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ 1 ΡΠ°ΡΠΊ, min=50, max=150, ΡΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ»ΡΡΠΈΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ 1 ΡΠ°ΡΠΊ Π½Π΅Π»ΡΠ·Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π² ΠΏΠΎΠ»ΡΠΎΡΠ° ΡΠ°Π·Π°.
Deployment type β ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Rolling update.
Placement Templates β ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΠΊΠΎΠ² Π½Π° ΠΌΠ°ΡΠΈΠ½Π°Ρ . ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΠΈΡ AZ Balanced Spread β ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΠΊΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΡΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΠ°Π½Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Π²ΠΎ Π²ΡΠ΅Ρ Π·ΠΎΠ½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ. ΠΡ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ BinPack β CPU ΠΈ Spread β AZ, ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ ΡΠ°ΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠ»ΠΎΡΠ½ΠΎ ΠΏΠΎ Π½Π° ΠΎΠ΄Π½Ρ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΠΎ CPU. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π·ΠΎΠ½Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
Load balancer type β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Application Load Balancer.
Service IAM role β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ecsServiceRole
.
Load balancer name β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ.
Health check grace period β ΠΏΠ°ΡΠ·Π° ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΊΠ°ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΠ°, ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ°Π²ΠΈΠΌ 60 ΡΠ΅ΠΊΡΠ½Π΄.
Container to load balance β Π² ΠΏΡΠ½ΠΊΡΠ΅ Target group name Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ Π³ΡΡΠΏΠΏΡ, ΠΈ Π²ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡΡ.
Service Auto Scaling β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Configure Service Auto Scaling to adjust your serviceβs desired count. ΠΠ°Π΄Π°ΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΊΠΎΠ² ΠΏΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
IAM role for Service Auto Scaling β Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ AWSServiceRoleForApplicationAutoScaling_ECSService
.
Automatic task scaling policies β ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΡ 2 ΡΠΈΠΏΠ°:
- Target tracking β ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠΈ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ CPU/RAM ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΡΠΊ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠ΅Π΄Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π±ΡΠ»Π° 85%, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡΡΠ°Π½Π΅Ρ Π²ΡΡΠ΅, ΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ ΠΏΡΠΈΠ΄ΡΡ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½ΠΈΠΆΠ΅, ΡΠΎ ΡΠ°ΡΠΊΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ Π±ΡΠ΄ΡΡ ΡΠ±ΠΈΡΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΠΈΠ· (Disable scale-in).
- Step scaling β ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. Π’ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π»ΡΠ±ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ (CloudWatch Alarm), ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΊΠΎΠ², Π»ΠΈΠ±ΠΎ ΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΊΠΎΠ².
Π£ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ» ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠ»Π΅Π΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°Π»ΠΈ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΡ ΠΆΠ΅ Docker ΠΎΠ±ΡΠ°Π·, Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ°ΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
- ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π±Π»ΠΎΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°.
- ΠΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΏΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠ°ΡΠΊΠΈ ΡΠ±ΠΈΡΠ°ΡΡΡΡ Ρ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΅ΡΡΠ΅ΡΡΡ ΠΈ Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ.
- ΠΡ ΠΏΠΎΠ΄Π½ΡΠ»ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ, ΡΡΠΎΠ±Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΏΠΎ ΠΌΠ°ΡΠΈΠ½Π°ΠΌ.
- ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΏΠΎΡΠΎΠ²ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠ°Ρ , Π·Π° ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡΡΡ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 3 ΡΠ°Π·Π°.
- ΠΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΎΠΊ, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° ΠΏΡΠΎΡΡΠΎΠΉ.
- ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Capacity Provider, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ»ΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ (ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ), Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
- ΠΡ ΠΌΠΎΠ»ΠΎΠ΄ΡΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠ΅ Π²ΡΠΏΠ»Π΅ΡΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΡΠ΅ΡΠ΅ΡΡ Π² Π±ΠΎΠ»ΡΡΠΎΠΉ email-ΡΠ°ΡΡΡΠ»ΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ
ΠΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»
ΠΡΠ΄Ρ ΡΠ°Π΄, Π΅ΡΠ»ΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠ΅ΠΉΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ²ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΠΈ ECS ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎ-ΡΠΎ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘ΠΊΠΎΡΠΎ Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²Π΅Π½ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ serverless ΡΡΡΠΊΠ΅ (Ρ Π΄Π΅Π½ΡΠ³Π°ΠΌΠΈ) ΠΈ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitLab CI ΠΈ Terraform Cloud.
ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Π½Π°Ρ, Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ!
Π’ΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΎΠΏΡΠΎΡΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ spot instances Π½Π° ΠΏΡΠΎΠ΄Π΅?
-
22,2%ΠΠ°6
-
66,7%ΠΠ΅Ρ18
-
11,1%Π£Π·Π½Π°Π» ΠΎ Π½ΠΈΡ ΠΈΠ· ΡΡΠ°ΡΡΠΈ, ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ3
ΠΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 27 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΠΈΡΡ 5 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com