ããã«ã¡ã¯ãã¿ããªïŒ ç§ã®ååã¯ããªã«ã§ããAdapty ã® CTO ã§ãã ç§ãã¡ã®ã¢ãŒããã¯ãã£ã®å€§éšå㯠AWS äžã«ãããŸããä»æ¥ã¯ãæ¬çªç°å¢ã§ã¹ããã ã€ã³ã¹ã¿ã³ã¹ã䜿çšããããšã§ãµãŒã㌠ã³ã¹ãã 3 ååæžããæ¹æ³ãšããã®èªåã¹ã±ãŒãªã³ã°ãèšå®ããæ¹æ³ã«ã€ããŠèª¬æããŸãã æåã«ãã®ä»çµã¿ã®æŠèŠã説æããã次ã«éå§ããããã®è©³çŽ°ãªæé ã説æãããŸãã
ã¹ãããã€ã³ã¹ã¿ã³ã¹ãšã¯äœã§ãã?
以äžã¯ãã¹ããã ã€ã³ã¹ã¿ã³ã¹ã®äŸ¡æ Œå±¥æŽã瀺ãããã€ãã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãã
eu-west-5 (ã¢ã€ã«ã©ã³ã) ãªãŒãžã§ã³ã® m1.largeã äŸ¡æ Œã¯ 3 ãæéã»ãŒå®å®ããŠãããçŸåš 2.9 åã®å²åŒã«ãªã£ãŠããŸãã
us-east-5 å°å (ããŒãžãã¢åéš) ã® m1.largeã äŸ¡æ Œã¯ 3 ãæã«ããã£ãŠåžžã«å€åããŠãããçŸåšãã¢ãã€ã©ããªãã£ãŒãŸãŒã³ã«å¿ã㊠2.3 åãã 2.8 åãŸã§å²åŒãããŠããŸãã
us-east-3 ãªãŒãžã§ã³ (ããŒãžãã¢åéš) ã® t1.smallã äŸ¡æ Œã¯ 3 ãæéå®å®ããŠãããçŸåš 3.4 åã®å²åŒã«ãªã£ãŠããŸãã
ãµãŒãã¹ã¢ãŒããã¯ãã£
ãã®èšäºã§èª¬æãããµãŒãã¹ã®åºæ¬çãªã¢ãŒããã¯ãã£ã次ã®å³ã«ç€ºããŸãã
ã¢ããªã±ãŒã·ã§ã³ ããŒã ãã©ã³ãµãŒ â EC2 ã¿ãŒã²ãã ã°ã«ãŒã â Elastic Container Service
Application Load Balancer (ALB) ã¯ãEC2 ã¿ãŒã²ãã ã°ã«ãŒã (TG) ã«ãªã¯ãšã¹ããéä¿¡ãããã©ã³ãµãŒãšããŠäœ¿çšãããŸãã TG ã¯ãALB ã®ã€ã³ã¹ã¿ã³ã¹ã§ããŒããéãããããã Elastic Container Service (ECS) ã³ã³ããã®ããŒãã«æ¥ç¶ãã責任ããããŸãã ECS ã¯ãAWS ã® Kubernetes ã«çžåœããDocker ã³ã³ããã管çããŸãã
XNUMX ã€ã®ã€ã³ã¹ã¿ã³ã¹ã«ã¯åãããŒããæã€è€æ°ã®ã³ã³ãããå®è¡ãããå¯èœæ§ããããããããããåºå®çã«èšå®ããããšã¯ã§ããŸããã ECS ã¯ãæ°ããã¿ã¹ã¯ (Kubernetes ã®çšèªã§ã¯ãããããããšåŒã³ãŸã) ãèµ·åããŠããããšã TG ã«äŒããã€ã³ã¹ã¿ã³ã¹äžã®ç©ºãããŒãã確èªãããã®ãã¡ã® XNUMX ã€ãèµ·åãããã¿ã¹ã¯ã«å²ãåœãŠãŸãã ãŸããTG ã¯ãã«ã¹ãã§ãã¯ã䜿çšããŠã€ã³ã¹ã¿ã³ã¹ãš API ãåäœããŠãããã©ãããå®æçã«ãã§ãã¯ããåé¡ãèŠã€ãã£ãå Žåã¯ãªã¯ãšã¹ãã®éä¿¡ãåæ¢ããŸãã
EC2 Auto Scaling ã°ã«ãŒã + ECS ãã£ãã·ã㣠ãããã€ããŒ
äžã®å³ã«ã¯ãEC2 Auto Scaling Groups (ASG) ãµãŒãã¹ã¯ç€ºãããŠããŸããã ååãããã€ã³ã¹ã¿ã³ã¹ã®ã¹ã±ãŒãªã³ã°ãæ åœããããšãããããŸãã ãã ããAWS ã«ã¯æè¿ãŸã§ãECS ããå®è¡äžã®ãã·ã³ã®æ°ã管çããæ©èœãçµã¿èŸŒãŸããŠããŸããã§ããã ECS ã«ãããCPU 䜿çšçãRAMããªã¯ãšã¹ãæ°ãªã©ã«ãã£ãŠã¿ã¹ã¯ã®æ°ãã¹ã±ãŒã«ã§ããããã«ãªããŸããã ãã ããã¿ã¹ã¯ããã¹ãŠã®ç©ºãã€ã³ã¹ã¿ã³ã¹ãå æããŠããå Žåãæ°ãããã·ã³ã¯èªåçã«äœæãããŸããã
ããã¯ãECS ãã£ãã·ã㣠ãããã€ã㌠(ECS CP) ã®åºçŸã«ããå€ãããŸããã ECS ã®åãµãŒãã¹ã ASG ã«é¢é£ä»ããããšãã§ããããã«ãªããã¿ã¹ã¯ãå®è¡äžã®ã€ã³ã¹ã¿ã³ã¹ã«é©åããªãå Žåã¯ãæ°ããã¿ã¹ã¯ãçºçããŸã (ãã ãã確ç«ããã ASG å¶éå ã§)ã ããã¯éæ¹åã«ãæ©èœããECS CP ãã¿ã¹ã¯ã®ãªãã¢ã€ãã«ç¶æ ã®ã€ã³ã¹ã¿ã³ã¹ãæ€åºããå Žåãããããã·ã£ããããŠã³ãã ASG ã³ãã³ããäžããŸãã ECS CP ã«ã¯ãã€ã³ã¹ã¿ã³ã¹è² è·ã®ç®æšããŒã»ã³ããŒãžãæå®ããæ©èœããããç¹å®ã®æ°ã®ãã·ã³ãã¿ã¹ã¯ãè¿ éã«ã¹ã±ãŒãªã³ã°ã§ããããã«åžžã«ç©ºããŸããããã«ã€ããŠã¯åŸã»ã©èª¬æããŸãã
EC2 èµ·åãã³ãã¬ãŒã
ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæã«ã€ããŠè©³ãã説æããåã«ãæåŸã«èª¬æãããµãŒãã¹ã¯ EC2 Launch Templates ã§ãã ããã«ããããã¹ãŠã®ãã·ã³ãèµ·åãããã³ãã¬ãŒããäœæã§ãããããæ¯åæåãããããç¹°ãè¿ãå¿
èŠããªããªããŸãã ããã§ã¯ãèµ·åãããã·ã³ã®ã¿ã€ããã»ãã¥ãªã㣠ã°ã«ãŒãããã£ã¹ã¯ ã€ã¡ãŒãžããã®ä»å€ãã®ãã©ã¡ãŒã¿ãéžæã§ããŸãã èµ·åããããã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ã«ã¢ããããŒãããããŠãŒã¶ãŒ ããŒã¿ãæå®ããããšãã§ããŸãã ãŠãŒã¶ãŒããŒã¿å
ã§ã¹ã¯ãªãããå®è¡ã§ããŸããããšãã°ããã¡ã€ã«ã®å
容ãç·šéã§ããŸãã
ãã®èšäºã®æãéèŠãªæ§æãã©ã¡ãŒã¿ã® XNUMX ã€ã¯æ¬¡ã®ãšããã§ãã
æè¿ã®ãã£ã¹ã¯ - AWS ã«ã€ããŠ
ãµãŒãã¹ã®äœæ
説æãããµãŒãã¹ã®äœæã«é²ã¿ãŸãããã ãã®éçšã§ãäžã§ã¯è§Šããªãã£ãããã€ãã®åœ¹ç«ã€ãã€ã³ãã«ã€ããŠã説æããŸãã äžè¬ã«ãããã¯æ®µéçãªèª¬æã§ãããéåžžã«åºæ¬çãªå Žåããéã«éåžžã«ç¹æ®ãªå Žåã«ã€ããŠã¯èæ ®ããŸããã ãã¹ãŠã®ã¢ã¯ã·ã§ã³ã¯ AWS ããžã¥ã¢ã« ã³ã³ãœãŒã«ã§å®è¡ãããŸãããCloudFormation ãŸã㯠Terraform ã䜿çšããŠããã°ã©ã ã§åçŸã§ããŸãã Adapty ã§ã¯ Terraform ã䜿çšããŠããŸãã
EC2 èµ·åãã³ãã¬ãŒã
ãã®ãµãŒãã¹ã¯ã䜿çšããããã·ã³ã®æ§æãäœæããŸãã ãã³ãã¬ãŒãã¯ã[EC2] -> [ã€ã³ã¹ã¿ã³ã¹] -> [ãã³ãã¬ãŒãã®èµ·å] ã»ã¯ã·ã§ã³ã§ç®¡çãããŸãã
Amazon ãã·ã³ã€ã¡ãŒãž (AMI) â ãã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ãèµ·åãããã£ã¹ã¯ ã€ã¡ãŒãžãæå®ããŸãã ECS ã®å Žåãã»ãšãã©ã®å ŽåãAmazon ããæé©åãããã€ã¡ãŒãžã䜿çšãã䟡å€ããããŸãã å®æçã«æŽæ°ãããECS ãåäœããããã«å¿
èŠãªãã®ããã¹ãŠå«ãŸããŠããŸãã çŸåšã®ã€ã¡ãŒãž ID ã確èªããã«ã¯ã次ã®ããŒãžã«ã¢ã¯ã»ã¹ããŠãã ããã
ã€ã³ã¹ã¿ã³ã¹ã¿ã€ã â ã€ã³ã¹ã¿ã³ã¹ã®ã¿ã€ãã瀺ããŸãã ããªãã®ã¿ã¹ã¯ã«æé©ãªãã®ãéžæããŠãã ããã
ããŒã㢠(ãã°ã€ã³) â å¿ èŠã«å¿ããŠãSSH çµç±ã§ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ã§ãã蚌ææžãæå®ããŸãã
ãããã¯ãŒã¯èšå® â ãããã¯ãŒã¯ãã©ã¡ãŒã¿ãæå®ããŸãã ãããã¯ãŒãã³ã°ãã©ãããã©ãŒã ã»ãšãã©ã®å ŽåãVirtual Private Cloud (VPC) ãå¿ èŠã§ãã ã»ãã¥ãªãã£ã°ã«ãŒã â ã€ã³ã¹ã¿ã³ã¹ã®ã»ãã¥ãªã㣠ã°ã«ãŒãã ã€ã³ã¹ã¿ã³ã¹ã®åã«ãã©ã³ãµãŒã䜿çšãããããããã§ãã©ã³ãµãŒããã®åä¿¡æ¥ç¶ã®ã¿ãèš±å¯ããã°ã«ãŒããæå®ããããšããå§ãããŸãã ã€ãŸãã2 ã€ã®ã»ãã¥ãªã㣠ã°ã«ãŒããååšããŸãã80 ã€ã¯ãã©ã³ãµãŒçšã§ãããŒã 443 (http) ãš XNUMX (https) äžã®ä»»æã®å Žæããã®åä¿¡æ¥ç¶ãèš±å¯ããŸããXNUMX ã€ç®ã¯ãã·ã³çšã§ããã©ã³ãµãŒ ã°ã«ãŒãããã®ä»»æã®ããŒãã§ã®åä¿¡æ¥ç¶ãèš±å¯ããŸãã ã äž¡æ¹ã®ã°ã«ãŒãã®ã¢ãŠãããŠã³ãæ¥ç¶ã¯ãTCP ãããã³ã«ã䜿çšããŠããã¹ãŠã®ããŒãã®ãã¹ãŠã®ã¢ãã¬ã¹ã«å¯ŸããŠéãããå¿ èŠããããŸãã çºä¿¡æ¥ç¶ã®ããŒããšã¢ãã¬ã¹ãå¶éããããšã¯ã§ããŸããããã®å Žåã¯ãéããããããŒãäžã§äœãã«ã¢ã¯ã»ã¹ããããšããŠããªãããšãåžžã«ç£èŠããå¿ èŠããããŸãã
ã¹ãã¬ãŒãž (ããªã¥ãŒã ) â ãã·ã³ã®ãã£ã¹ã¯ãã©ã¡ãŒã¿ãæå®ããŸãã ãã£ã¹ã¯ ãµã€ãºã¯ãAMI ã§æå®ããããµã€ãºããå°ããããããšã¯ã§ããŸãããECS æé©åã®å Žåããã£ã¹ã¯ ãµã€ãºã¯ 30 GiB ã§ãã
é«åºŠãªè©³çŽ° â è¿œå ãã©ã¡ãŒã¿ãæå®ããŸãã
è³Œå ¥ãªãã·ã§ã³ â ã¹ãããã€ã³ã¹ã¿ã³ã¹ãè³Œå ¥ãããã©ããã åžæããŸãããããã§ã¯ãã®ããã¯ã¹ããã§ãã¯ããŸãããAuto Scaling ã°ã«ãŒãã§èšå®ããŸããããã«ã¯ããã«ãªãã·ã§ã³ããããŸãã
IAMã€ã³ã¹ã¿ã³ã¹ãããã¡ã€ã« â ã€ã³ã¹ã¿ã³ã¹ãèµ·åãããããŒã«ã瀺ããŸãã ã€ã³ã¹ã¿ã³ã¹ã ECS ã§å®è¡ããã«ã¯ãæš©éãå¿
èŠã§ããæš©éã¯éåžžãããŒã«ã«ãããŸãã ecsã€ã³ã¹ã¿ã³ã¹ããŒã«ã å Žåã«ãã£ãŠã¯äœæã§ããå ŽåããããŸãããäœæã§ããªãå Žåã¯ããã§
次ã«å€ãã®ãã©ã¡ãŒã¿ããããŸããåºæ¬çã«ã©ãã§ãããã©ã«ãå€ã®ãŸãŸã§å€§äžå€«ã§ãããããããã«æ確ãªèª¬æããããŸãã EBS ã«æé©åãããã€ã³ã¹ã¿ã³ã¹ãš T2/T3 Unlimited ãªãã·ã§ã³ã䜿çšããå Žåã¯åžžã«æå¹ã«ããŸã
æäœå®åæé â ãŠãŒã¶ãŒããŒã¿ã瀺ããŸãã ãã¡ã€ã«ãç·šéããŠãããŸã /etc/ecs/ecs.config
ãããã«ã¯ ECS ãšãŒãžã§ã³ãèšå®ãå«ãŸããŸãã
ãŠãŒã¶ãŒããŒã¿ã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
#!/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
â ãã®ãã©ã¡ãŒã¿ãŒã¯ãã¹ããã ã€ã³ã¹ã¿ã³ã¹ããªãã«ããä¿¡å·ãåä¿¡ãããšãã«ããã®ã€ã³ã¹ã¿ã³ã¹äžã®ãã¹ãŠã®ã¿ã¹ã¯ããã¬ã€ã³ ã¹ããŒã¿ã¹ã«è»¢éããå¿
èŠãããããšãæå®ããŸãã
ECS_CONTAINER_STOP_TIMEOUT=1m
- ãã®ãã©ã¡ãŒã¿ãŒã¯ãSIGINT ã·ã°ãã«ãåä¿¡ããåŸããã¹ãŠã®ã¿ã¹ã¯ã匷å¶çµäºããããŸã§ 1 åéã®ç¶äºãããããšãæå®ããŸãã
ECS_ENGINE_AUTH_TYPE=docker
â ãã®ãã©ã¡ãŒã¿ãŒã¯ãDocker ã¹ããŒã ãæ¿èªã¡ã«ããºã ãšããŠäœ¿çšãããããšã瀺ããŸã
ECS_ENGINE_AUTH_DATA=...
â Docker ã€ã¡ãŒãžãä¿åãããŠãããã©ââã€ããŒã ã³ã³ãã㌠ã¬ãžã¹ããªãžã®æ¥ç¶ãã©ã¡ãŒã¿ãŒã ãããªãã¯ã®å Žåã¯ãäœãæå®ããå¿
èŠã¯ãããŸããã
ãã®èšäºã§ã¯ãDocker Hub ã®ãããªã㯠ã€ã¡ãŒãžã䜿çšããã®ã§ããã©ã¡ãŒã¿ãŒãæå®ããŸãã ECS_ENGINE_AUTH_TYPE
О ECS_ENGINE_AUTH_DATA
ããã¯å¿
èŠãããŸããã
ç¥ã£ãŠãããšããã§ã: æ°ããããŒãžã§ã³ã§ã¯ DockerãLinuxãECS ãšãŒãžã§ã³ããªã©ã®ããŒãžã§ã³ãæŽæ°ããããããAMI ãå®æçã«æŽæ°ããããšããå§ãããŸãããããå¿ããªãããã«ããã«ã¯ã次ã®ããã«ããŸãã
EC2ãªãŒãã¹ã±ãŒãªã³ã°ã°ã«ãŒã
Auto Scaling ã°ã«ãŒãã¯ãã€ã³ã¹ã¿ã³ã¹ã®èµ·åãšã¹ã±ãŒãªã³ã°ãæ åœããŸãã ã°ã«ãŒãã¯ã[EC2] -> [Auto Scaling] -> [Auto Scaling Groups] ã»ã¯ã·ã§ã³ã§ç®¡çãããŸãã
èµ·åãã³ãã¬ãŒã â åã®ã¹ãããã§äœæãããã³ãã¬ãŒããéžæããŸãã ããã©ã«ãããŒãžã§ã³ã®ãŸãŸã«ããŠãããŸãã
è³Œå ¥ãªãã·ã§ã³ãšã€ã³ã¹ã¿ã³ã¹ ã¿ã€ã â ã¯ã©ã¹ã¿ãŒã®ã€ã³ã¹ã¿ã³ã¹ã®ã¿ã€ããæå®ããŸãã èµ·åãã³ãã¬ãŒãã«æºæ ãããšãèµ·åãã³ãã¬ãŒãã®ã€ã³ã¹ã¿ã³ã¹ ã¿ã€ãã䜿çšãããŸãã è³Œå ¥ãªãã·ã§ã³ãšã€ã³ã¹ã¿ã³ã¹ ã¿ã€ããçµã¿åãããããšã§ãã€ã³ã¹ã¿ã³ã¹ ã¿ã€ããæè»ã«æ§æã§ããŸãã 䜿ãããŠããã ããŸãã
ãªãã·ã§ã³ã®ãªã³ããã³ãããŒã¹ â åžžã«åäœããéåžžã®éã¹ããã ã€ã³ã¹ã¿ã³ã¹ã®æ°ã
åºæºãäžåããªã³ããã³ãã®å²å â éåžžã€ã³ã¹ã¿ã³ã¹ãšã¹ããã ã€ã³ã¹ã¿ã³ã¹ã®å²åã50 ïœ 50 ãåçã«é åãããéåžžã€ã³ã¹ã¿ã³ã¹ããšã« 20 ïœ 80 ã® 4 ã€ã®ã¹ããã ã€ã³ã¹ã¿ã³ã¹ãçºçããŸãã ãã®äŸã§ã¯ 50 ïœ 50 ãšããŸãããå®éã«ã¯ 20 ïœ 80 ãæãå€ããå Žåã«ãã£ãŠã¯ 0 ïœ 100 ã«ãªããŸãã
ã€ã³ã¹ã¿ã³ã¹ã¿ã€ã â ããã§ãã¯ã©ã¹ã¿ãŒã§äœ¿çšãããè¿œå ã®ã€ã³ã¹ã¿ã³ã¹ã®ã¿ã€ããæå®ã§ããŸãã 話ã®æå³ãããåãããªãã®ã§äžåºŠã䜿ããŸããã§ããã ããããããã¯ãç¹å®ã®çš®é¡ã®ã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿããå¶éãåå ã§ããããµããŒããéããŠç°¡åã«å¢ããããšãã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ããåç¥ã®å Žåã¯ãã³ã¡ã³ããèªãã§ããã ãããšå¹žãã§ãïŒ
ãããã¯ãŒã¯ â ãããã¯ãŒã¯èšå®ããã·ã³ã® VPC ãšãµãããããéžæããŸããã»ãšãã©ã®å Žåãå©çšå¯èœãªãã¹ãŠã®ãµãããããéžæããå¿ èŠããããŸãã
ããŒããã©ã³ã·ã³ã° - ãã©ã³ãµãŒã®èšå®ã§ãããããã¯åå¥ã«è¡ããŸããããã§ã¯äœã觊ããŸããã ãã«ã¹ãã§ã㯠ãããåŸã§èšå®ããŸãã
ã°ã«ãŒããµã€ãº â ã¯ã©ã¹ã¿ãŒå ã®ãã·ã³æ°ã®å¶éãšãéå§æã«å¿ èŠãªãã·ã³æ°ã瀺ããŸãã ã¡ããªãã¯ã«åŸã£ãŠã¹ã±ãŒãªã³ã°ãçºçããå¿ èŠãããå Žåã§ããã¯ã©ã¹ã¿ãŒå ã®ãã·ã³ã®æ°ãæå®ãããæå°å€ãäžåã£ãããæ倧å€ãè¶ ãããããããšã¯ãããŸããã
ã¹ã±ãŒãªã³ã°ããªã·ãŒ â ã¹ã±ãŒãªã³ã°ãã©ã¡ãŒã¿ã§ãããå®è¡äžã® ECS ã¿ã¹ã¯ã«åºã¥ããŠã¹ã±ãŒãªã³ã°ãããããåŸã§ã¹ã±ãŒãªã³ã°ãèšå®ããŸãã
ã€ã³ã¹ã¿ã³ã¹ã®ã¹ã±ãŒã«ã€ã³ä¿è· â ã¹ã±ãŒã«ããŠã³æã«ã€ã³ã¹ã¿ã³ã¹ãåé€ãããªãããã«ä¿è·ããŸãã ASG ãã¿ã¹ã¯ãå®è¡ããŠãããã·ã³ãåé€ããªãããã«ããããæå¹ã«ããŸãã ECS Capacity Provider ã¯ãã¿ã¹ã¯ãæããªãã€ã³ã¹ã¿ã³ã¹ã®ä¿è·ãç¡å¹ã«ããŸãã
ã¿ã°ãè¿œå ãã â ã€ã³ã¹ã¿ã³ã¹ã®ã¿ã°ãæå®ã§ããŸã (ãã®ããã«ã¯ã[æ°ããã€ã³ã¹ã¿ã³ã¹ã«ã¿ã°ãä»ãã] ãã§ãã¯ããã¯ã¹ããªã³ã«ããå¿ èŠããããŸã)ã Name ã¿ã°ãæå®ããããšããå§ãããŸããããããã°ãã°ã«ãŒãå ã§èµ·åããããã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ãåãååã«ãªããã³ã³ãœãŒã«ã§è¡šç€ºããã®ã«äŸ¿å©ã§ãã
ã°ã«ãŒããäœæããåŸããããéã㊠[詳现èšå®] ã»ã¯ã·ã§ã³ã«ç§»åããŸããäœæ段éã§ãã¹ãŠã®ãªãã·ã§ã³ãã³ã³ãœãŒã«ã«è¡šç€ºãããªãã®ã¯ãªãã§ããã
çµäºããªã·ãŒ â ã€ã³ã¹ã¿ã³ã¹ãåé€ãããšãã«èæ ®ãããã«ãŒã«ã ãããã¯é çªã«é©çšãããŸãã æ®æ®µã¯äžã®åçã®ãã®ã䜿ã£ãŠããŸãã ãŸããæãå€ãèµ·åãã³ãã¬ãŒããæã€ã€ã³ã¹ã¿ã³ã¹ãåé€ãããŸã (ããšãã°ãAMI ãæŽæ°ããå Žåãæ°ããããŒãžã§ã³ãäœæãããŸãããããã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ã¯ãã®ããŒãžã§ã³ã«åãæ¿ããããšãã§ããŸãã)ã 次ã«ã次ã®è«æ±æéã«æãè¿ãã€ã³ã¹ã¿ã³ã¹ãéžæãããŸãã ãããŠãçºå£²æ¥ã«åºã¥ããŠæãå€ããã®ãéžæãããŸãã
ç¥ã£ãŠãããšããã§ã: ã¯ã©ã¹ã¿ãŒå
ã®ãã¹ãŠã®ãã·ã³ãæŽæ°ããããã䟿å©ã«äœ¿çšã§ããŸãã
Application Load Balancer ãš EC2 ã¿ãŒã²ãã ã°ã«ãŒã
ãã©ã³ãµãŒã¯ããEC2ãâãããŒãã»ãã©ã³ã·ã³ã°ãâãããŒãã»ãã©ã³ãµãŒãã»ã¯ã·ã§ã³ã§äœæãããŸãã Application Load Balancer ã䜿çšããŸããããŸããŸãªã¿ã€ãã®ãã©ã³ãµãŒã®æ¯èŒã«ã€ããŠã¯ã次㮠URL ãåç
§ããŠãã ããã
ãªã¹ã㌠- ããŒã 80 ãš 443 ãäœæããåŸã§ãã©ã³ãµãŒ ã«ãŒã«ã䜿çšã㊠80 ãã 443 ã«ãªãã€ã¬ã¯ãããã®ãåççã§ãã
ã¢ãã€ã©ããªãã£ãŒãŸãŒã³ â ã»ãšãã©ã®å Žåãç§ãã¡ã¯å šå¡ã察象ãšããã¢ã¯ã»ã·ããªã㣠ãŸãŒã³ãéžæããŸãã
ã»ãã¥ãªãã£èšå®ãæ§æãã â ãã©ã³ãµãŒã® SSL 蚌ææžãããã«ç€ºãããŠããŸããæã䟿å©ãªãªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã ELBSecurityPolicy-2016-08
ã ãã©ã³ãµãŒãäœæãããšãããã衚瀺ãããŸã DNSåããã¡ã€ã³ã® CNAME ãæ§æããããã«å¿
èŠã§ãã ããšãã°ãCloudflare ã§ã¯æ¬¡ã®ããã«ãªããŸãã
ã»ãã¥ãªãã£ã°ã«ãŒã â ãã©ã³ãµãŒã®ã»ãã¥ãªã㣠ã°ã«ãŒããäœæãŸãã¯éžæããŸããããã«ã€ããŠã¯ãäžèšã®ãEC2 èµ·åãã³ãã¬ãŒããâããããã¯ãŒã¯èšå®ãã»ã¯ã·ã§ã³ã§è©³ããæžããŸããã
ã¿ãŒã²ããã°ã«ãŒã â ãã©ã³ãµãŒãããã·ã³ã«ãªã¯ãšã¹ããã«ãŒãã£ã³ã°ããåé¡ãçºçããå Žåã«ãããã眮ãæããããã«ãããã®å¯çšæ§ããã§ãã¯ãã責任ãè² ãã°ã«ãŒããäœæããŸãã 察象ã¿ã€ã ã€ã³ã¹ã¿ã³ã¹ã§ããå¿ èŠããããŸãã ãããã³ãŒã« О ããŒã ä»»æããã©ã³ãµãŒãšã€ã³ã¹ã¿ã³ã¹éã®éä¿¡ã« HTTPS ã䜿çšããå Žåã¯ããã©ã³ãµãŒãšã€ã³ã¹ã¿ã³ã¹ã«èšŒææžãã¢ããããŒãããå¿ èŠããããŸãã ãã®äŸã§ã¯ãããã¯è¡ãããåã«ããŒã 80 ã®ãŸãŸã«ããŸãã
ãã«ã¹ãã§ã㯠â ãµãŒãã¹ã®æ©èœããã§ãã¯ããããã®ãã©ã¡ãŒã¿ã å®éã®ãµãŒãã¹ã§ã¯ãããã¯ããžãã¹ ããžãã¯ã®éèŠãªéšåãå®è£ ããå¥ã®ãªã¯ãšã¹ãã§ããå¿ èŠããããŸããããã®äŸã§ã¯ããã©ã«ãèšå®ã®ãŸãŸã«ããŸãã 次ã«ããªã¯ãšã¹ãééãã¿ã€ã ã¢ãŠããæåã³ãŒããªã©ãéžæã§ããŸãããã®äŸã§ã¯ã䜿çšããã Docker ã€ã¡ãŒãžã 200 ã³ãŒããè¿ããããæåã³ãŒã 399 ïœ 304 ã瀺ããŸãã
ã¿ãŒã²ãããç»é²ãã â ããã§ã¯ã°ã«ãŒãã®è»ãéžæãããŠããŸããããã®å Žåããã㯠ECS ã«ãã£ãŠè¡ãããããããã®ã¹ããããã¹ãããããŸãã
ç¥ã£ãŠãããšããã§ã: ãã©ã³ãµãŒ ã¬ãã«ã§ãç¹å®ã® S3 ã«ä¿åããããã°ãæå¹ã«ããããšãã§ããŸãã
ECS ã¿ã¹ã¯ã®å®çŸ©
åã®æé ã§ã¯ããµãŒãã¹ ã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢é£ãããã¹ãŠãäœæããŸããã次ã«ãèµ·åããã³ã³ãããŒã®èª¬æã«é²ã¿ãŸãã ããã¯ããECSãâãã¿ã¹ã¯å®çŸ©ãã»ã¯ã·ã§ã³ã§è¡ãããŸãã
èµ·åã¿ã€ãã®äºææ§ - EC2ãéžæããŸãã
ã¿ã¹ã¯å®è¡ IAM ããŒã« - éžã¶ ecsTaskExecutionRole
ã ããã䜿çšãããšããã°ãæžã蟌ãŸããç§å¯å€æ°ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŸãã
ãã³ã³ããå®çŸ©ãã»ã¯ã·ã§ã³ã§ããã³ã³ããã®è¿œå ããã¯ãªãã¯ããŸãã
ç»å â ãããžã§ã¯ã ã³ãŒããå«ãã€ã¡ãŒãžãžã®ãªã³ã¯ããã®äŸã§ã¯ãDocker Hub ã®ãããªã㯠ã€ã¡ãŒãžã䜿çšããŸãã
ã¡ã¢ãªå¶é â ã³ã³ããã®ã¡ã¢ãªå¶éã ããŒããªããã â ããŒããªããããã³ã³ãããŒãæå®ãããå€ãè¶ ãããšãdocker kill ã³ãã³ããå®è¡ãããã³ã³ãããŒã¯ããã«åæ¢ããŸãã ãœãããªããã â ãœããå¶éãã³ã³ãããŒã¯æå®ãããå€ãè¶ ããããšãã§ããŸããããã®ãã©ã¡ãŒã¿ãŒã¯ã¿ã¹ã¯ããã·ã³ã«é 眮ãããšãã«èæ ®ãããŸãã ããšãã°ããã·ã³ã« 4 GiB ã® RAM ãæèŒãããŠãããã³ã³ããã®ãœããå¶éã 2048 MiB ã§ããå Žåããã®ãã·ã³ã¯ãã®ã³ã³ããã§æ倧 2 ã€ã®ã¿ã¹ã¯ãå®è¡ã§ããŸãã å®éã«ã¯ã4 GiB ã® RAM 㯠4096 MiB ãããããã«å°ãªããããã¯ã¯ã©ã¹ã¿ãŒã® [ECS ã€ã³ã¹ã¿ã³ã¹] ã¿ãã§ç¢ºèªã§ããŸãã ãœããå¶éã¯ããŒãå¶éãè¶ ããããšã¯ã§ããŸããã XNUMX ã€ã®ã¿ã¹ã¯ã«è€æ°ã®ã³ã³ãããããå Žåããããã®å¶éã¯åèšãããããšãç解ããããšãéèŠã§ãã
ããŒããããã³ã° - 㧠ãã¹ãããŒã 0 ã瀺ããŸããããã¯ãããŒããåçã«å²ãåœãŠãããã¿ãŒã²ãã ã°ã«ãŒãã«ãã£ãŠç£èŠãããããšãæå³ããŸãã ã³ã³ãã枯 â ã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããããŒãã¯ãå€ãã®å Žåãå®è¡ã³ãã³ãã§æå®ãããããã¢ããªã±ãŒã·ã§ã³ ã³ãŒããDockerfile ãªã©ã§å²ãåœãŠãããŸãã ãã®äŸã§ã¯ã次ã®ãªã¹ãã«ãã 3000 ã䜿çšããŸãã
å¥åº·èšºæ â ã³ã³ãããŒã®ãã«ã¹ãã§ãã¯ãã©ã¡ãŒã¿ãŒãã¿ãŒã²ããã°ã«ãŒãã§æ§æããããã©ã¡ãŒã¿ãŒãšæ··åããªãã§ãã ããã
ç°å¢ - ç°å¢èšå®ã CPUãŠããã - ã¡ã¢ãªå¶éãšåæ§ãããã»ããµã«é¢ãããã®ã®ã¿ã åããã»ããµ ã³ã¢ã¯ 1024 ãŠãããã§ããããããµãŒããŒã«ãã¥ã¢ã«ã³ã¢ ããã»ããµãæèŒãããŠãããã³ã³ãããŒã 512 ã«èšå®ãããŠããå Žåããã®ã³ã³ãããŒã䜿çšã㊠4 ã€ã®ã¿ã¹ã¯ã XNUMX å°ã®ãµãŒããŒã§èµ·åã§ããŸãã CPU ãŠãããã¯åžžã«ã³ã¢ã®æ°ã«å¯Ÿå¿ããŠãããã¡ã¢ãªã®å Žåãšåæ§ã«ãCPU ãŠããããå°ãã§ãå°ãªããªããšããããšã¯ãããŸããã
Command â ã³ã³ããå
ã§ãµãŒãã¹ãéå§ããã³ãã³ãããã¹ãŠã®ãã©ã¡ãŒã¿ã¯ã«ã³ãã§åºåã£ãŠæå®ããŸãã ããã¯ãgunicornãnpm ãªã©ã§ãã æå®ããªãå Žåã¯ãDockerfile ã® CMD ãã£ã¬ã¯ãã£ãã®å€ã䜿çšãããŸãã 衚瀺ããŸã npm,start
.
ç°å¢å€æ° â ã³ã³ããç°å¢å€æ°ã ããã¯ãåçŽãªããã¹ã ããŒã¿ãŸãã¯ç§å¯å€æ°ã®ããããã§ãã
ã¹ãã¬ãŒãžãšãã®ã³ã° â ããã§ã¯ãCloudWatch Logs (AWS ã®ãã°çšãµãŒãã¹) ã§ã®ãã°èšé²ãèšå®ããŸãã ãããè¡ãã«ã¯ã[CloudWatch Logs ã®èªåæ§æ] ãã§ãã¯ããã¯ã¹ãæå¹ã«ããã ãã§ãã ã¿ã¹ã¯å®çŸ©ãäœæãããšãCloudWatch ã«ãã°ã®ã°ã«ãŒããèªåçã«äœæãããŸãã ããã©ã«ãã§ã¯ããã°ã¯ç¡æéã«ä¿åããããããä¿ææéãç¡æéããå¿ èŠãªæéã«å€æŽããããšããå§ãããŸãã ãã㯠CloudWatch Log ã°ã«ãŒãã§è¡ãããçŸåšã®æéãã¯ãªãã¯ããŠæ°ããæéãéžæããå¿ èŠããããŸãã
ECS ã¯ã©ã¹ã¿ãŒãš ECS ãã£ãã·ã㣠ãããã€ããŒ
ECS â Clusters ã»ã¯ã·ã§ã³ã«ç§»åããŠã¯ã©ã¹ã¿ãŒãäœæããŸãã ãã³ãã¬ãŒããšã㊠EC2 Linux + Networking ãéžæããŸãã
ã¯ã©ã¹ã¿ãŒå - éåžžã«éèŠã§ããããã§ã¯ãLaunch Template ãã©ã¡ãŒã¿ãŒã§æå®ãããã®ãšåãååãäœæããŸãã ECS_CLUSTER
ã ç§ãã¡ã®å Žåã«ã¯ - DemoApiClusterProd
ã ã空ã®ã¯ã©ã¹ã¿ãŒãäœæããããã§ãã¯ããã¯ã¹ããªã³ã«ããŸãã ãªãã·ã§ã³ã§ãContainer Insights ãæå¹ã«ããŠãCloudWatch ã®ãµãŒãã¹ã®ã¡ããªã¯ã¹ã衚瀺ã§ããŸãã ãã¹ãŠãæ£ããè¡ã£ãå Žåã¯ã[ECS ã€ã³ã¹ã¿ã³ã¹] ã»ã¯ã·ã§ã³ã« Auto Scaling ã°ã«ãŒãã§äœæããããã·ã³ã衚瀺ãããŸãã
ã¿ãã«ç§»å ãã£ãã·ãã£ãããã€ã㌠æ°ãããã®ãäœæããŸãã å®è¡äžã® ECS ã¿ã¹ã¯ã®æ°ã«å¿ããŠãã·ã³ã®äœæãšã·ã£ããããŠã³ãå¶åŸ¡ããå¿ èŠãããããšãæãåºãããŠãã ããã ãããã€ããŒã¯ XNUMX ã€ã®ã°ã«ãŒãã«ã®ã¿å²ãåœãŠãããããšã«æ³šæããããšãéèŠã§ãã
ãªãŒãã¹ã±ãŒãªã³ã°ã°ã«ãŒã â 以åã«äœæããã°ã«ãŒããéžæããŸãã
管çãããã¹ã±ãŒãªã³ã° â ãããã€ããŒããµãŒãã¹ãæ¡åŒµã§ããããã«æå¹ã«ããŸãã
ç®æšå®¹é% â ã¿ã¹ã¯ãããŒãããããã·ã³ã®äœããŒã»ã³ããå¿ èŠãã 100% ãæå®ãããšããã¹ãŠã®ãã·ã³ãåžžã«ã¿ã¹ã¯ã®å®è¡ã§ããžãŒç¶æ ã«ãªããŸãã 50% ãæå®ãããšãè»ã®ååã¯åžžã«ç¡æã«ãªããŸãã ãã®å Žåãè² è·ãæ¥æ¿ã«å¢å ããå Žåãæ°ããã¿ã¯ã·ãŒã¯ã€ã³ã¹ã¿ã³ã¹ã®é åãåŸ ã€ããšãªãããã ã¡ã«ç¡æã®è»äž¡ã«ä¹è»ããŸãã
管çãããçµäºä¿è· â æå¹ã«ãããšããã®ãã©ã¡ãŒã¿ãŒã䜿çšãããšããããã€ããŒã¯ã€ã³ã¹ã¿ã³ã¹ã®åé€ããã®ä¿è·ã解é€ã§ããŸãã ããã¯ããã·ã³äžã«ã¢ã¯ãã£ããªã¿ã¹ã¯ããªããã¿ãŒã²ãã容é% ãèš±å¯ãããŠããå Žåã«çºçããŸãã
ECS ãµãŒãã¹ãšã¹ã±ãŒãªã³ã°ã®ã»ããã¢ãã
æåŸã®ã¹ããã:) ãµãŒãã¹ãäœæããã«ã¯ã[ãµãŒãã¹] ã¿ãã§ä»¥åã«äœæããã¯ã©ã¹ã¿ãŒã«ç§»åããå¿ èŠããããŸãã
çºå°ã¿ã€ã â [容éãããã€ããŒæŠç¥ã«åãæ¿ãã] ãã¯ãªãã¯ãã以åã«äœæãããããã€ããŒãéžæããå¿ èŠããããŸãã
ã¿ã¹ã¯å®çŸ© â 以åã«äœæããã¿ã¹ã¯å®çŸ©ãšãã®ãªããžã§ã³ãéžæããŸãã
ãµãŒãã¹å â æ··ä¹±ãé¿ãããããåžžã«ã¿ã¹ã¯å®çŸ©ãšåããã®ã瀺ããŸãã
ãµãŒãã¹ã®çš®é¡ - åžžã«ã¬ããªã«ã
ã¿ã¹ã¯ã®æ° â ãµãŒãã¹å ã®ã¢ã¯ãã£ããªã¿ã¹ã¯ã®å¿ èŠãªæ°ã ãã®ãã©ã¡ãŒã¿ã¯ã¹ã±ãŒãªã³ã°ã«ãã£ãŠå¶åŸ¡ãããŸãããããã§ãæå®ããå¿ èŠããããŸãã
æäœéã®å¥åº·ç О æ倧ããŒã»ã³ã â å°å ¥æã®ã¿ã¹ã¯ã®åäœã決å®ããŸãã ããã©ã«ãå€ã¯ 100 ãš 200 ã§ããããã€ã¡ã³ãæã«ã¿ã¹ã¯ã®æ°ãæ°åã«å¢å ãããã®åŸæãŸããå€ã«æ»ãããšã瀺ããŸãã æå° = 1ãæ倧 = 0 ã® 100 ã€ã®ã¿ã¹ã¯ãå®è¡ãããŠããå Žåããããã€ã¡ã³ãäžã«ã¿ã¹ã¯ã匷å¶çµäºããããã®åŸæ°ããã¿ã¹ã¯ãçºçããŸããã€ãŸããããŠã³ã¿ã€ã ã«ãªããŸãã 1 ã€ã®ã¿ã¹ã¯ãå®è¡äž (æå° = 50ãæ倧 = 150) ã®å Žåã1 ã€ã®ã¿ã¹ã¯ãååã«åå²ããã XNUMX åã«å¢ããããšã¯ã§ããªãããããããã€ã¡ã³ãã¯ãŸã£ããè¡ãããŸããã
å±éã¿ã€ã â ããŒãªã³ã°ã¢ããããŒããçµäºããŸãã
é 眮ãã³ãã¬ãŒã â ã¿ã¹ã¯ããã·ã³ã«é 眮ããããã®ã«ãŒã«ã ããã©ã«ã㯠AZ Balanced Spread ã§ããããã¯ããã¹ãŠã®ã¢ãã€ã©ããªãã£ãŒãŸãŒã³ã®ãã·ã³ã皌åãããŸã§ãæ°ããã¿ã¹ã¯ãããããæ°ããã€ã³ã¹ã¿ã³ã¹ã«é 眮ãããããšãæå³ããŸãã éåžžãBinPack - CPU ããã³ Spread - AZ ã䜿çšããŸãããã®ããªã·ãŒã§ã¯ãã¿ã¹ã¯ã¯ CPU ããšã« XNUMX ã€ã®ãã·ã³ã«ã§ããã ãé«å¯åºŠã«é 眮ãããŸãã æ°ãããã·ã³ãäœæããå¿ èŠãããå Žåã¯ãæ°ããã¢ãã€ã©ããªã㣠ãŸãŒã³ã«äœæãããŸãã
ããŒããã©ã³ãµã®çš®é¡ â [ã¢ããªã±ãŒã·ã§ã³ ããŒã ãã©ã³ãµãŒ] ãéžæããŸãã
ãµãŒãã¹ IAM ããŒã« - éžã¶ ecsServiceRole
.
ããŒããã©ã³ãµå â 以åã«äœæãããã©ã³ãµãŒãéžæããŸãã
ãã«ã¹ãã§ãã¯ã®ç¶äºæé â æ°ããã¿ã¹ã¯ã®ããŒã«ã¢ãŠãåŸã«ãã«ã¹ãã§ãã¯ãå®è¡ããåã«äžæåæ¢ããŸããé垞㯠60 ç§ã«èšå®ããŸãã
ã³ã³ããããè² è·åæ£ãž â [ã¿ãŒã²ãã ã°ã«ãŒãå] é ç®ã§ã以åã«äœæããã°ã«ãŒããéžæãããšããã¹ãŠãèªåçã«å ¥åãããŸãã
ãµãŒãã¹èªåã¹ã±ãŒãªã³ã° â ãµãŒãã¹ã®ã¹ã±ãŒãªã³ã°ãã©ã¡ãŒã¿ã [ãµãŒãã¹ã®èªåã¹ã±ãŒãªã³ã°ã®æ§æ] ãéžæããŠããµãŒãã¹ã®å¿ èŠãªæ°ã調æŽããŸãã ã¹ã±ãŒãªã³ã°æã«ã¿ã¹ã¯ã®æå°æ°ãšæ倧æ°ãèšå®ããŸãã
Service Auto Scaling ã® IAM ããŒã« - éžã¶ AWSServiceRoleForApplicationAutoScaling_ECSService
.
èªåã¿ã¹ã¯ã¹ã±ãŒãªã³ã°ããªã·ãŒ â ã¹ã±ãŒãªã³ã°ã®ã«ãŒã«ã 2 ã€ã®ã¿ã€ãããããŸã:
- ã¿ãŒã²ãã远跡 â ã¿ãŒã²ããã¡ããªã¯ã¹ (CPU/RAM 䜿çšçãŸãã¯åã¿ã¹ã¯ã®ãªã¯ãšã¹ãæ°) ã远跡ããŸãã ããšãã°ãããã»ããµã®å¹³åè² è·ã 85% ã«ããããšããŸãããããé«ããªããšãç®æšå€ã«éãããŸã§æ°ããã¿ã¹ã¯ãè¿œå ãããŸãã éã«ãè² è·ãäœãå Žåã¯ãã¹ã±ãŒã«ããŠã³ã«å¯Ÿããä¿è·ãæå¹ã«ãªã£ãŠããªãéããã¿ã¹ã¯ã¯åé€ãããŸã(ã¹ã±ãŒã«ã€ã³ãç¡å¹ã«ãã).
- ã¹ãããã¹ã±ãŒãªã³ã° - ä»»æã®ã€ãã³ãã«å¯Ÿããåå¿ã ããã§ã¯ãä»»æã®ã€ãã³ã (CloudWatch ã¢ã©ãŒã ) ã«å¯Ÿããåå¿ãæ§æã§ããã€ãã³ããçºçãããšãã«ãæå®ããæ°ã®ã¿ã¹ã¯ãè¿œå ãŸãã¯åé€ããããã¿ã¹ã¯ã®æ£ç¢ºãªæ°ãæå®ãããã§ããŸãã
ãµãŒãã¹ã«ã¯è€æ°ã®ã¹ã±ãŒãªã³ã° ã«ãŒã«ãããå ŽåããããŸããããã¯äŸ¿å©ã§ããéèŠãªã®ã¯ãããããäºãã«ç«¶åããªãããã«ããããšã§ãã
ãŸãšã
æ瀺ã«åŸã£ãŠåã Docker ã€ã¡ãŒãžã䜿çšããå ŽåããµãŒãã¹ã¯æ¬¡ã®ãããªããŒãžãè¿ãã¯ãã§ãã
- ãµãŒãã¹å ã®ãã¹ãŠã®ãã·ã³ãèµ·åããããã³ãã¬ãŒããäœæããŸããã ãŸãããã³ãã¬ãŒããå€æŽããããšãã«ãã·ã³ãæŽæ°ããæ¹æ³ãåŠã³ãŸããã
- ã¹ããã ã€ã³ã¹ã¿ã³ã¹åæ¢ä¿¡å·ã®åŠçãæ§æãããããåä¿¡åŸ XNUMX å以å ã«å®è¡äžã®ãã¹ãŠã®ã¿ã¹ã¯ããã·ã³ããåé€ããããããäœã倱ããããäžæããããããããšã¯ãããŸããã
- è² è·ããã·ã³å šäœã«åçã«åæ£ããããã«ãã©ã³ãµãŒãäžããŸããã
- ã¹ããã ã€ã³ã¹ã¿ã³ã¹äžã§å®è¡ããããµãŒãã¹ãäœæããããããã·ã³ã®ã³ã¹ããçŽ 3 åã® XNUMX ã«åæžãããŸãã
- ããŠã³ã¿ã€ã ã³ã¹ããçºçãããããšãªãå¢å ããã¯ãŒã¯ããŒããåŠçã§ããããã«ãäž¡æ¹åã®èªåã¹ã±ãŒãªã³ã°ãæ§æããŸããã
- ã¢ããªã±ãŒã·ã§ã³ãã€ã³ãã©ã¹ãã©ã¯ã㣠(ãã·ã³) ã管çããã®ã§ã¯ãªãããã®éã§ã¯ãªãããã«ãCapacity Provider ã䜿çšããŸãã
- ç§ãã¡ã¯çŽ æŽãããã§ãã
倧èŠæš¡ãªé»åã¡ãŒã« ãã£ã³ããŒã³ã§åºåãæ²èŒããŠããå Žåãªã©ãè² è·ã®æ¥å¢ãäºæž¬ã§ããå Žåã¯ã次ã®æ¹æ³ã§ã¹ã±ãŒãªã³ã°ãèšå®ã§ããŸãã
ã·ã¹ãã ã®ããŸããŸãªéšåããã®ããŒã¿ã«åºã¥ããŠæ¡åŒµããããšãã§ããŸãã ããšãã°ã次ã®ãããªæ©èœããããŸã
ã¹ããã ã€ã³ã¹ã¿ã³ã¹ãš ECS ã䜿çšããèå³æ·±ãäºäŸãã¹ã±ãŒãªã³ã°ã«ã€ããŠã³ã¡ã³ãã§æããŠããã ããã°å¹žãã§ãã
ãŸããªããäž»ã«ãµãŒããŒã¬ã¹ ã¹ã¿ãã¯ã§ XNUMX ç§ãããæ°åã®åæã€ãã³ãã (è³éã䜿ã£ãŠ) åŠçããæ¹æ³ããGitLab CI ãš Terraform Cloud ã䜿çšããŠãµãŒãã¹ã®ãããã€ã¡ã³ããã©ã®ããã«æ©èœãããã«ã€ããŠã®èšäºãæ²èŒãããäºå®ã§ãã
ãã²è³ŒèªããŠãã ããããã£ãšé¢çœãã§ãããïŒ
ç»é²ãŠãŒã¶ãŒã®ã¿ãã¢ã³ã±ãŒãã«åå ã§ããŸãã
å®çšŒåç°å¢ã§ã¹ããã ã€ã³ã¹ã¿ã³ã¹ã䜿çšããŸãã?
-
èŠèŽè ã®ïŒïŒ%ãã¯ã6
-
èŠèŽè ã®ïŒïŒ%ãNo18
-
èŠèŽè ã®ïŒïŒ%ãèšäºã§ç¥ãã䜿çšããäºå®ã§ã3
27 人ã®ãŠãŒã¶ãŒãæ祚ããŸããã 5åã®ãŠãŒã¶ãŒãæ£æš©ããã
åºæïŒ habr.com