[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