์๋ ํ์ธ์ ๐๐๐๐
์ด๋ฒ ํฌ์คํ ์์๋ ECS์ ๋ํด ์กฐ๊ธ ๋ค๋ค๋ณด๋ ค๊ณ ํฉ๋๋ค.
์ ๋ง ๋ค์ํ ์ปจํ
์ด๋ ์ค์ผ์ด์คํธ๋ ์ด์
ํด์ด ์กด์ฌํ๊ณ , ์ต๊ทผ์๋ Kubernetes(k8s)๊ฐ ๊ฑฐ์ ๋ฉ์ธ ์คํธ๋ฆผ์ธ๋ฐ์,
AWS์๋ EKS๋ผ๋ ๊ด๋ฆฌํ ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค๊ฐ ์์ต๋๋ค.
ํ์ง๋ง, AWS๋ EKS๋ณด๋ค ECS(Amazon Elastic Container Service)๋ฅผ ๋ ๋ฐ๊ณ ์๋๊ฒ ๊ฐ์ต๋๋ค.
์๋ฌดํผ! ์ง๊ธ๋ถํฐ ECS์ ๋ํด ์์๋ด ์๋ค!!
ECS๋ ๋ค๋ฅธ ์ค์ผ์คํธ๋ ์ด์ ํด์ ๋นํด ์ด๋ค ์ฅ์ ์ด ์์๊น์?
1. ๊ฐ๋
์ด ์ ๋ง ๊ฐ๋จํ๊ณ , (์ฟ ๋ฒ๋คํฐ์ค๋ณด๋ค ์ดํดํ๊ธฐ ํจ์ฌ ์ฝ์ต๋๋ค.)
2. ๋ค๋ฅธ AWS์๋น์ค์ ํตํฉ์ด ๊ฐํธํ๊ณ , (์์ ๋ ์ ๋ง ๋ง์ต๋๋ค.)
3. aws Copilot ๊ณผ ๊ฐ์ ECS๋ฅผ ์ํ ์ ์ฉ CLI๊ฐ ์กด์ฌํฉ๋๋ค.
๋ฌผ๋ก , AWS์์ ์ฌ์ฉํ๊ธฐ ๊ธฐ์ค์ด๊ฒ ์ฃ ! ๐
ECS EC2? Fargate? External? ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ.... ๋ญ๊ฐ ๋ค๋ฅธ๊ฐ์?
ECS๋ ์ปจํ
์ด๋๋ฅผ ์ด์ํ๋ ํธ์คํธ ํํ์ ๋ฐ๋ผ EC2, Fargate, External ๋ก ๋๋ ์ง๋๋ค.
์ฆ, ์ด๋์์ ์ปจํ
์ด๋๋ฅผ ๋์ธ๊ฑด์ง์ ๋ํ ์ ์ ์
๋๋ค. ์ดํดํ๊ธฐ ์ฝ๋๋ก ์๋ ๊ทธ๋ฆผ์ ๋ด
์๋ค
ECS ํธ์คํธ ์ ํ 1) EC2
๊ธฐ๋ณธ ์ ํ์ธ EC2 ์ ํ์
๋๋ค. ์ฆ, ์ปจํ
์ด๋๊ฐ ์ด์๋๋ ์ปดํจํฐ๊ฐ AWS EC2์ธ ํ์
์
๋๋ค.
์ฉ๋๊ณต๊ธ์(Capacity Providers)๋ฅผ ํตํด EC2 Auto-ScalingGroup์ ์ฐ๊ฒฐํฉ๋๋ค.
ECS์์ ์ ๊ณตํ๋ ๊ด๋ฆฌํ ์งํ "CapacityProviderReservation"์ ๋ฐ๋ผ EC2๋ฅผ ์ฉ๋์ ์ถ๊ฐ/์ ๊ฑฐ ํ ์ ์์ผ๋ฉฐ,
์ปจํ
์ด๋์ ์ซ์์ ์ฆ๊ฐ/์ถ์์ ๋ฐ๋ผ EC2๋ ํจ๊ป ์ฆ๊ฐ/์ถ์ํ๊ฒ ๋ฉ๋๋ค.
* EC2 ์ ํ ๋น์ฉ: ํธ์คํธ๋ก ์ฌ์ฉํ๋ EC2 ์๊ธ๋ง ๊ณผ๊ธ๋ฉ๋๋ค.
ECS ํธ์คํธ ์ ํ 2) Fargate
Fargate๋ ์๋ฒ๋ฆฌ์ค ์ ํ์ผ๋ก, EC2๋ฅผ ๋ฐฐํฌํ๊ฑฐ๋ ๊ด๋ฆฌํ ํ์ ์์ด ๊ทธ๋ฅ ์๋น์ค๋ง ์ด์ํ๋ฉด ๋๋ ์ ํ ์
๋๋ค.
์ฆ, ์ปจํ
์ด๋๊ฐ ์ด๋์ ์ด์๋๋์ง ๊ณ ๋ฏผ/๊ด๋ฆฌํ ํ์ ์๋ ํ์
์
๋๋ค.
ํ๊ฐ์ง ๋ฌธ์ ์ ์ EC2์ ๋น๊ตํ์๋ ๋น์ธ๋ค๋๊ฒ์
๋๋ค ใ
ใ
๊ทธ๋๋ Savings Plan ๋ฑ์ ํตํด ์๊ธ์ ํ ์ธ๋ฐ์ ์ ์๊ณ , EC2์ ๋ํ ๊ด๋ฆฌ๊ฐ ํ์์์ผ๋ ์ฅ์ ๋ ํฐ๊ฒ๊ฐ์ต๋๋ค.๐
* Fargate ์ ํ ๋น์ฉ: ์๊ฐ๋น vCPU, Storage ์ฉ๋ ๋น์ฉ์ด ๋ถ๊ณผ๋ฉ๋๋ค. Fargate ์๊ธ
ECS ํธ์คํธ ์ ํ 3) External (ECS AnyWhere)
๋ง์ง๋ง ์ ํ์ธ๋ฐ์, Exrernal ์ธ์คํด์ค ํ์
์
๋๋ค. ์ด ์ ํ์ AWS์ธํ๋ผ๊ฐ ์๋ ๊ณณ์ ์์นํ ํธ์คํธ์์๋ ECS์์ ์ ์ํ ์๋น์ค, ์์
์ ์คํผ ํ ์ ์๋๋ก ํฉ๋๋ค.
์ฆ, ํธ์คํธ&์ปจํ
์ด๋ ๋ฑ ์ค์ ์๋น์ค๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก AWS๋ฐ์์ ๋์ํ์ง๋ง, ๊ด๋ฆฌ๋ AWS์ฝ์์์ ํ ์ ์๋ ํ์
์
๋๋ค.
๋ค๋ฅธ ๋ฐ์ดํฐ์ผํฐ์ ํจ๊ป AWS๋ฅผ ์ด์์คํด์ผํ๋ ํ์ด๋ธ๋ฆฌ๋ ํ๊ฒฝ์ ์ ํฉํ ์ต์
์ด ๋ ๊ฑฐ๊ฐ๋ค์.
๋จ, ํธ์คํธ์๋ ECS Agnet, SSM Agent ๊ฐ ์ค์น ๋์ด์ผ ํ๋ฉฐ, ์ธํฐ๋ท์ฐ๊ฒฐ์ด ์์ ์ ์ด์ด์ผ ํฉ๋๋ค.
* External ์ ํ ๋น์ฉ: ๊ธฑ External ์ธ์คํด์ค๋ง๋ค ์๊ฐ๋น 0.01025USD ๋น์ฉ์ด ๋ถ๊ณผ๋ฉ๋๋ค. External ์๊ธ
ECS๋ ๋ฌด์์ผ๋ก ๊ตฌ์ฑ๋๋์?
์ ๊ฐ ์๊ฐํ์๋.. ECS์ ํต์ฌ ๊ตฌ์ฑ์์(์ปดํฌ๋ํธ)๋, ์์ ์ ์ & ์๋น์ค ์ ๋๋ค. (ECS๊ณต์๋ฌธ์)
์์
์ ์ ํ ์๋น์ค๋ง ์ ์์ฑํด๋ ์ปจํ
์ด๋ ์ด์์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๐ค
์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด์ ์์ธํ ํ์ธํด๋ณผ๊น์?
ECS๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ฐ์ฅ๋จผ์ , ์์
์ ์(Task Definition)์ ์์ฑํด์ผํฉ๋๋ค.
์์
์ ์๋, ์ปจํ
์ด๋๋ฅผ ์ค๋ช
ํ๋ Json ํ์ผ์
๋๋ค. ์ ์ํ ์ ์๋ ๋ด์ฉ์ ์์ฃผ ๋ง์ต๋๋ค.
(Task ๋คํธ์ํฌ ๋ชจ๋(Bridge, Host, awsvpc, None)/ ์ปจํ
์ด๋ ์ด๋ฏธ์ง/ ์ปจํ
์ด๋์ ํ ๋น ๋ ๋ฆฌ์์ค(vCPU/MEM) ๋ฑ..)
์์
์ ์๋ฅผ ์์ฑํ๋ค๋ฉด, ์์๋๋ก ECS Cluster, ECS Service๋ฅผ ์์ฑํฉ๋๋ค.
• ECS Cluster : ๋คํธ์ํฌ ๊ตฌ์ฑ ๋ฐ OS๋ฅผ ์ ์ํ๋ ๋จ๊ณ์
๋๋ค. (์ด๋ค VPC๋ฅผ ์ฌ์ฉํ ์ง, ์ด๋ค OS๋ฅผ ์ฌ์ฉํ ์ง (Windows / Linux ))
• ECS Service : ์์ ๋ง๋ค์ด๋์ ์์
์ ์(Task Definition)์ ์ฐ๊ฒฐํ๊ณ , Task ์๋, Auto-Scaling ์ฌ๋ถ ๋ฑ์ ์ค์ ํฉ๋๋ค.
ECS๋ฅผ ์์ฑํ๊ณ ์ถ์ด์, ์ด๋ค ์์๋ก ํ๋์?
์๋์ ๊ทธ๋ฆผ ์์๋๋ก ์งํํ์ฌ ECS์๋น์ค๋ฅผ ๊ฐ๋จํ ํ ์คํธ ํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์คํํ๋ ์์๋ ๋ฐฑ๋ฌธ์ด๋ถ์ฌ์ผ๊ฒฌ! ํ๋ฒ ECS๋ฅผ ์ง์ ๊ตฌ์ฑํด๋ณด์๋๊ฒ์ ๊ถ์ฅ ๋๋ฆฝ๋๋ค!!!
Hands-On ํด๋ณผ ์ ์๋๋ก ๋ช๊ฐ ๋งํฌ ํจ๊ป ๋จ๊น๋๋ค. ๐ ํ์ดํ
!! ๐๐ป
1) CI/CD WORKSHOP FOR AMAZON ECS : https://cicd-for-ecs.workshop.aws/en/
CI/CD workshop for Amazon ECS
CI/CD workshop for Amazon ECS Welcome to the CI/CD Workshop for Amazon ECS! In this workshop, we will use AWS CI/CD tools to implement a number of pipeline patterns that you can use to develop and deploy your Amazon ECS workloads.
cicd-for-ecs.workshop.aws
2) DEMOGO - CATS AND DOGS : https://ecs-cats-dogs.workshop.aws/en/
DemoGo - Amazon ECS Cats and Dogs
DemoGo - Cats and Dogs Searching for Love and Happiness This workshop is designed to educate engineers that might not be familiar with Amazon ECS, Fargate, and possibly even Docker container workflow. Amazon ECS Amazon Elastic Container Service (Amazon ECS
ecs-cats-dogs.workshop.aws
3) Building your first DevOps Blue/Green pipeline with Amazon ECS : https://catalog.us-east-1.prod.workshops.aws/v2/workshops/4b59b9fb-48b6-461c-9377-907b2e33c9df/en-US
Workshop Studio
catalog.us-east-1.prod.workshops.aws