[AWS] ECS: Service Connect
ECS Connect๋ ECS์์ ์ ๊ณต๋๋ ํน์ํ ํ์ฅ ๊ธฐ๋ฅ ์ค ํ๋๋ค.
ECS ์๋น์ค๋ค๋ผ๋ฆฌ ๋ด๋ถํต์ ์ ๋งบ์ด์ค ์ ์๊ฒ ํด์ฃผ๋ ํธ๋ฆฌํ๊ณ ์ ์ฉํ ๊ธฐ๋ฅ์ด๋ค.
๋ด๋ถ์ ์ผ๋ก๋ AWS Cloud Map ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค.
๋น์ฉ
๋ด๋ถ ๊ตฌ์กฐ๋ก ์ฌ์ฉํ๋ Cloud Map ์์ฒด๋ ์ ๋ฃ์ง๋ง, ECS Connect ์ฌ์ฉ์ฌ๋ก์ ์์ด์๋ ๊ฑฐ์ ์์ ๋ฌด๋ฃ๋ค.
์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํ ์ฌ์ง๋ ๊ฑฐ์ ์์ผ๋, ์ปจํ ์ด๋๋ง๋ค ๋ชฐ๋ ์ฐ๊ฒฐ์ ์ํ ํ๋ก์๋ฅผ ๋์ฐ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฐ์ ์ปดํจํ ๋ฆฌ์์ค ์๋ชจ๋ ์๊ธธ ์ ์๋ค.
์ฌ์ฉ์ฒ
์ด๊ฑธ ์ธ์ ์จ์ผํ ๊น? ํ๋ฒ ์์๋ฅผ ๋ค์ด๋ณด๊ฒ ๋ค.
ํํ ECS์ ์ฌ์ฉ ํจํด์ ๋๋ถ๋ถ ์ด๋ด ๊ฒ์ด๋ค.
ECS ์๋น์ค์ ๋ก๋๋ฐธ๋ฐ์ ๋ฌผ๋ฆฌ๊ณ , ๋ก๋๋ฐธ๋ฐ์๋ฅผ ํตํด์ ์์ฒญ์ ๋ฐ๋๋ก ๊ตฌ์ฑํ๋ค.
๊ทผ๋ฐ, ์ฌ๊ธฐ์ ์๋น์ค ๊ฐ์ ํต์ ์ ํ๊ฒ ๋๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
์ผ๋ฐ์ ์ผ๋ก๋ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ํตํด์, ์๋ก๊ฐ ์๋ฌด ์ฐ๊ด ์๋ 3์์ธ ๊ฒ์ฒ๋ผ ์ธ ์๋ ์์ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ด๋ฐ ๊ตฌ์กฐ๋ ๋น์ฉ/์ฑ๋ฅ/๋ณด์์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋ ์๋ ์๋ค. ํนํ๋, ํต์ ์ด ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์๋ ๋ถํ์ํ ํธ๋ํฝ ์๊ธ์ด ๊ณผ๋ค์ฒญ๊ตฌ๋ ์๋ ์๋ค.
์ธ๋ถํต์ ์ VPC ๋ด์ ๋ด๋ถํต์ ๋ณด๋ค ํจ์ฌ ๋น์ธ๊ธฐ ๋๋ฌธ์ด๋ค.
ECS Connect๋ ์ด๋ ๊ฒ ์ง์ ์ํธ๊ฐ์ ํต์ ์ ๋งบ์ด์ฃผ๋ ์ญํ ์ ํด์ค๋ค.
์ด๋ฌ๋ฉด ๋น์ฐํ VPC ๋ด๋ถํต์ ์ ํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ ์ผ๋ก๋, ์ฑ๋ฅ์ ์ผ๋ก๋ ์ด๋์ด ์๊ธด๋ค.
๋ก๋๋ฐธ๋ฐ์๋ฅผ ์ง์ ์ ์ผ๋ก ๊ฑฐ์น์น ์์ง๋ง, ALB์ Target Group Health Check ๊ตฌ์ฑ์ ์ ๋๋ก ํ๋ค๋ฉด, ํฌ์ค์ฒดํฌ ๊ธฐ๋ฐ์ผ๋ก ์ ์ด์์๋ ์๋ฒ์ ๋ํด์๋ง ๋ผ์ฐํ ์ ์์์ ์ ํด์ค๋ค.
์ฌ์ฉํด๋ณด๊ธฐ
ํ๋ฒ ์ค์ ํ๋ฉด์ ๊ทธ ์ฌ์ฉ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด์.
๋จผ์ , ์๋ฒ ์ญํ ์ ํ ECS ์๋น์ค์ ๋ค์ด๊ฐ์ "์๋ฒ"๋ก์์ ์ญํ ์ ํ ์ ์๋๋ก ๊ตฌ์ฑํด์ค์ผ ํ๋ค.
์๋น์ค ํญ์์ ๋คํธ์ํฌ ๊ตฌ์ฑ ํญ์ ๋ณด๋ฉด ์ด๋ฐ๊ฒ ์๋๋ฐ
"ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ"๋ก ์ ํํ๊ณ
๋ค์์คํ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
์ด "๋ค์์คํ์ด์ค"๋ผ๋ ๊ณต์ ์์ญ์ ๊ธฐ์ค์ผ๋ก ์๋ก๊ฐ์ ์์ ๋กญ๊ฒ ํต์ ์ ํ ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ด์ด์ค ํฌํธ๋ ์ฌ๊ธฐ์ ์ง์ ํ๋ค. ํด๋น ๊ฐ๋ณ ํ์คํฌ๋ค์ด 80 ํฌํธ๋ก ๋ฆฌ์ค๋์ ํ๋ค๋ฉด 80 ํฌํธ๋ก ์ด์ด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ ๊ฒ ์์ฑํ๋ฉด, ์ด๋ ๊ฒ ์๋ํฌ์ธํธ๊ฐ ์์ฑ๋๋ค.
์ ์ํธํฌ์ธํธ๋ ์ ๋ค์์คํ์ด์ค์ ์ํ ์๋น์ค๋ค์ด ์ ๋ถ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ด๋ถ ์๋ํฌ์ธํธ๊ฐ ๋๋ค.
๋ฐ์์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค.
์ค์ ์ ์๋ฃํ๋ฉด, ECS๊ฐ ํด๋น ์ค์ ์ ๋ฐ์ํด์ ์๋์ผ๋ก ์๋น์ค๋ฅผ ์ฌ์์ํ๋ค.
์ด์ ์๋ฒ๋ ์ค๋น๊ฐ ๋๋ค.
์ด๋ฒ์๋ ํด๋ผ์ด์ธํธ ์ญํ ์ ํ ์น๊ตฌ์๊ฒ ๊ฐ๋ณด์.
์๋ฒ์ ๊ผญ ๊ฐ์ ํด๋ฌ์คํฐ์ ์์ง ์์๋ ๋๋ค. ๊ฐ์ VPC ์์๋ง ์์ผ๋ฉด ๋๋ค.
๋ค๋ฅธ VPC ๊ฐ์๋ ์ด๋ป๊ฒ ํ ์๋ ์๋๋ฐ, ํผ์ด๋ง ๊ฑธ๊ณ ์ด๊ฒ์ ๊ฒ ๊ฑด๋๋ฆด๊ฒ ๋ง์์ง๋ค.
์ผ๋จ, ์ด์ ํด๋ผ์ด์ธํธ๋ ๋ฐฉ๊ธ ๋ง๋ค์ด์ง ๋ด๋ถ ์๋ํฌ์ธํธ๋ฅผ ํตํด์ ์ ๊ทผ์ ํ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ฐฌ๊ฐ์ง๋ก service connect๋ฅผ ํ์ฑํํ๋ฉด ๋๋๋ฐ

๋์ค์ ์๋ฒ ์ญํ ๋ ํ ์ฌ์ง๊ฐ ์๋ค๋ฉด ํด๋ผ์ด์ธํธ ๊ฒธ ์๋ฒ๋ก ๋์๋ ๋๋ค.
์ด๋ ๊ฒ ํ๊ณ ์ฐ๋ฅด๊ฒ ํ๋ฉด ๋์ด๋ค.
์ฃผ์์ฌํญ: ํ์์์
์ฌ๊ธฐ์๋ ๊ฝค ๊ณต๋ค์ฌ ๋ง๋ ํจ์ ์ด ํ๋ ์๋ค.
์ด Connect๋ฅผ ํ์ฑํํ ๋ ์๋ฒ ๋ชจ๋๋ ํ์ฑํํ๋ค๋ฉด, ๊ทธ Agent ๊ตฌ์ฑ์ด ์ ์ฒด ๋คํธ์ํฌ ๊ตฌ์ฑ์ ๋ฎ์ด์์๋ฒ๋ฆฐ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ๋ด๋ถํต์ ์ ํ์ง ์๊ณ ์ธ๋ถํต์ ์ผ๋ก ์ธ์ ๋ ๋๋ Connect Agent๋ฅผ ํตํด์ ๋ค์ด์จ๋ค.
๊ทผ๋ฐ ๋ฌธ์ ๋ Connect Agent ์์ฒด์๋ ํ์์์ ์ค์ ์ด ์๋ค๋ ๊ฒ์ด๋ค.
๋ฌดํฑ๋๊ณ ์ด๊ฑธ ํ์ฑํํ๋ฉด ๊ธฐ์กด API๋ค์ ๋ํด์๋ ์ผ๊ด์ ์ผ๋ก 15์ด ์ ํ์ด ์๊ธฐ๋ ์
์ด๋ค.
๊ทธ๋ฐ ์ํฉ์ ์ํ์ง ์๋๋ค๋ฉด ํ์์์์ ๋๋ํ๊ฒ ์ค์ ํ ์ฑ๋ก ํ์ฑํํด์ผ ํ๋ค.
์ด๊ฑธ ์ ์ด๋ฐ์๋ก ๋ง๋ ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ค... ํ์์์์ ์๋ ์ฑ๋ก ๋ง๋ค ์๋ ์๋๊ฑด๊ฐ?
์ฐธ์กฐ
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-concepts-deploy.html#service-connect-concepts-proxy
https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/service-connect.html
https://repost.aws/questions/QUpDdKAKH7Q4SadXuudBFK7w/ecs-service-connect-health-check
https://stackoverflow.com/questions/70405903/ecs-service-discovery-from-other-service-outside-vpc
https://repost.aws/questions/QU5cJgi78kTfKOAC4TVZ0JVQ/ecs-service-connect-504-timeout