๐ SQS
sqs์ ํต์ฌ์ ๋๊ธฐ์ด์ด๋ค. ๋ฉ์์ง๋ฅผ ๋ด๊ธฐ ์ํด์๋ ๋ฌด์ธ๊ฐ SQS ๋๊ธฐ์ด์ ๋ฉ์์ง๋ฅผ ์ ์กํด์ผ ํ๋๋ฐ SQS ๋๊ธฐ์ด์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ฃผ์ฒด๋ฅผ ์์ฐ์๋ผ๊ณ ํ๋ค. SQS ๋๊ธฐ์ด์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ์ฃผ์ฒด๋ฅผ ์์ฐ์๋ผ ํ๊ณ ์์ฐ์๋ ์ฌ๋ฌ ๊ฐ ์ผ ์ ์์ผ๋ฉฐ ์ฌ๋ฌ ์์ฐ์๊ฐ ์ฌ๋ฌ ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ SQS ๋๊ธฐ์ด์ ๋ณด๋ด๊ฒ ํ ์ ์๋ค. ๋๊ธฐ์ด์์๋ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์ ํด์ผ ํ๋ ๋์์ ์๋น์๋ผ๊ณ ํ ๋ ์๋น์๋ ๋๊ธฐ์ด์์ ๋ฉ์์ง๋ฅผ ํด๋งํ๋๋ฐ ์ด๋ ๋๊ธฐ์ด์๊ฒ ์๋น์ ์์ผ๋ก ์จ ๋ฉ์ธ์ง๊ฐ ์๋์ง๋ฅผ ๋ฌผ์ด๋ณด๋ ๊ฒ์ด๋ค. ๋ง์ผ ๋๊ธฐ์ด์ ๋ฉ์ธ์ง๊ฐ ์์ผ๋ฉด ์๋น์๋ ์ด ๋ฉ์ธ์ง๋ฅผ ํด๋งํด์ ์ ๋ณด๋ฅผ ์ป๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฉ์ธ์ง๋ก ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ๋๊ธฐ์ด์์ ๊ทธ ๋ฉ์ธ์ง๋ฅผ ์ญ์ ํ๋ค. ์ฌ๋ฌ ์๋น์๊ฐ SQS ๋๊ธฐ์ด์์ ๋ฉ์ธ์ง๋ฅผ ์๋นํ ์ ์๋๋ก ํ ์๋ ์๋ค. sqs ์๋น์ค๋ ์์ฐ์์ ์๋น์ ์ฌ์ด๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฒํผ ์ญํ ์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค.
SQS๋ก ์ธํด ์ป๋ ์ฅ์ ์ค ํ๋๋ ๋ฌด์ ํ ์ฒ๋ฆฌ๋์ ์ป์ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ฆ ์ด๋น ์ํ๋ ๋งํผ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๊ณ ๋๊ธฐ์ด์๋ ์ํ๋๋งํผ ๋ฉ์์ง๋ฅผ ํฌํจ์ํฌ ์ ์๋ค. ์ฒ๋ฆฌ๋์ ์ ํ์ด ์๊ณ ๋๊ธฐ์ด์ ์๋ ๋ฉ์ธ์ง ์์๋ ์ ํ์ด ์๋ค. ๋ฉ์ธ์ง๋ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก 4์ผ ๋์ ๋๊ธฐ์ด์ ๋จ์ ์๊ณ ๋๊ธฐ์ด์ ์์ ์ ์๋ ์ต๋ ์๊ฐ์ 14์ผ์ด๋ค. ์ฆ ์๋น์๋ ํด๋น ๋ณด์กด ๊ธฐ๊ฐ ๋ด์ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ ํ ๋๊ธฐ์ด์์ ์ญ์ ํ์ง ์์ผ๋ฉด ๋ณด์กด๋ ๋ฉ์ธ์ง๋ฅผ ์๋๋ค. SQS๋ ํ ๋ฉ์ธ์ง๋น 256KB์ ์ฉ๋์ ํ์ฉํ๊ณ ๋ฉ์ธ์ง๊ฐ ๋ ๋ฒ ๋ณด๋ด๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์์ผ๋ฏ๋ก ์ค๋ณต์ ํ์ฉํ๋ค.
SQS๋ ์ก์ธ์ค ์ ์ด๋ฅผ ์ํด IAM ์ ์ฑ ์ SQS API์ ๋ํ ์ก์ธ์ค๋ฅผ ๊ท์ ํ ์ ์๊ณ S3 ๋ฒํท ์ ์ฑ ๊ณผ ์ ์ฌํ SQS ์ก์ธ์ค ์ ์ฑ ๋ ์์ผ๋ฉฐ, SQS ๋ณด์์ ๋ค์๊ณผ ๊ฐ๋ค.
- HTTPS API๋ฅผ ์ด์ฉํ ์ ์ก ์ค ์ํธํ
- KMS ํค๋ฅผ ์ฌ์ฉํ ์ํธํ
- ํด๋ผ์ด์ธํธ ์ธก ์ํธํ
๐ SQS with ASG
์ด๋ฒ์ ASG(Auto Scaling groups)์ ๋๋ถ์ด SQS ๋ฅผ ์ฌ์ฉํด๋ณด์. ์๋น์๊ฐ ASG์ ๋ด๋ถ์์ EC2 ์ธ์คํด์ค๋ฅผ ์คํํ๊ณ SQS ๋๊ธฐ์ด์์ ๋ฉ์์ง๋ฅผ ํด๋งํ๋ค๊ณ ํ ๋ ASG๋ ์ผ์ข ์ ์งํ์ ๋ฐ๋ผ ํ์ฅ๋์ด์ผ ํ๋๋ฐ ์ด ๋ ์งํ๋ ๋๊ธฐ์ด์ ๊ธธ์ด๊ฐ ๋ ์ ์๋ค. ์ด ๊ธธ์ด๋ ApproximateNumberOfMessages๋ผ๊ณ ํ๋ค. ์ด๋ ๋ชจ๋ SQS ์์ ์ธ ์ ์๋ CloudWatch ์งํ๋ก ์๋์ ์ค์ ํ ์ ์๋๋ฐ ๋๊ธฐ์ด์ ๊ธธ์ด๊ฐ ํน์ ์์ค์ ๋์ด๊ฐ๋ฉด Cloud Watch Alarm์ ์ค์ ํ์ฌ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์ฉ๋์ x๋งํผ ์ฆ๊ฐ์ํฌ ์ ์๋ค.
ํน์ ์๊ฐ์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๋ ์น์ฌ์ดํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๋ง์ ํธ๋ํฝ์ผ๋ก ์ธํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๊ณผ์ ์ ๊ต์ฅํ ๋น ๋ฅธ ์๋๋ก ์ฐ์ฌ์ง ๊ฒ์ด๋ค. ์ด๋ด ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ค๋ฒ๋ก๋ ๋๋ ๋ฑ ํน์ ํธ๋์ญ์ ์ ์ค๋ฅ๋ฅผ ์ ๋ฐํ ์ ์๋๋ฐ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์์ ๋ SQS๋ฅผ ๋ฒํผ๋ก ์ฌ์ฉํ ์ ์๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์์ฒญ ์ฆ ํธ๋์ญ์ ์ ๋ฌดํํ ํ์ฅ ๊ฐ๋ฅํ SQS ๋๊ธฐ์ด์ ๋จผ์ ์์ผ๋ก์จ ์ฒ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ณ ๋ชจ๋ ํธ๋์ญ์ ์ด DB์ ์ฐ์ด๋๋ก ํ์ธํ ์ ์๋ค.
๐ SQS to decouple
๋น๋์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ค๊ณ ๊ฐ์ ํ์. ํ๋ก ํธ์๋๊ฐ ํ์ผ ์ฒ๋ฆฌ ์์ฒญ์ ๋ฐ์ ๋๋ง๋ค SQS ๋๊ธฐ์ด๋ก ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ค๊ณ ํ ๋ ํด๋น ํ์ผ์ SQS ๋๊ธฐ์ด์ ์๊ฒ ๋๋ค. ๋ฐฑ์๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฉ์ธ์ง๋ฅผ ์์ ํ๊ณ ๋น๋์ค๋ฅผ ์ฒ๋ฆฌํ์ฌ S3 ๋ฒํท์ ์ด๋ฅผ ์ฝ์ ํ๋ค. SQS๋ ๋ฌด์ ํ์ผ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๊ดํ ์ ์๊ณ ์ฒ๋ฆฌ๋์ ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ ์์ ์ฑ์ด ๋ฐ์ด๋๊ณ ํ๋ก ํธ ์๋์ ๋ฐฑ์๋ ๊ฐ์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์๋ค๋ ์ ์์ ์ด ์ด ์ํคํ ์ฒ๋ ํ๋ฅญํ ์์ ์ฑ์ ๋ณด์ฅํ๋ค.
๐ SQS ๋ฉ์์ง ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ
์๋น์๊ฐ ๋ฉ์ธ์ง๋ฅผ ํด๋งํ๋ฉด ๊ทธ ๋ฉ์ธ์ง๋ ๋ค๋ฅธ ์๋น์๋ค์๊ฒ ๋ณด์ด์ง ์๊ฒ ๋๋ค. ์ด๋ฏธ์ง์ ๊ฐ์ด ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๋ฅด๋ ์๊ฐ์ด ์๊ณ ์๋น์๊ฐ ์ด๋ ํ ์ง์ ์์ ReceiveMessage API ์์ฒญ์ ํ๊ฒ ๋๋ฉด ๋๊ธฐ์ด์์ ๋ฉ์ธ์ง๊ฐ ๋ฐํ๋๋ค. ๊ทธ ์์ ์ผ๋ก๋ถํฐ ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ๊ฐ ์์๋๋ฉฐ ๋ฉ์ธ์ง ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ์ ๊ธฐ๋ณธ๊ฐ์ 30์ด์ด๋ค. ๊ทธ ๋ง์ ์ฃผ์ด์ง 30 ์ด์ ์๊ฐ๋์ ๋ฉ์ธ์ง๊ฐ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ ๋นจ๊ฐ ๋ฐ์ค ์์ ์๊ฐ ๋์ ๋์ผํ ํน์ ๋ค๋ฅธ ์๋น์๊ฐ ๋ฉ์ธ์ง๋ฅผ ์์ฒญํด๋ ๋ฐํ๋์ง ์๋๋ค. ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ ๊ธฐ๊ฐ ๋ด์์๋ ๊ทธ ๋ฉ์ธ์ง๋ ๋ค๋ฅธ ์๋น์๋ค์๊ฒ ๋ณด์ด์ง ์์ผ๋ฉฐ ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ๊ฐ ๊ฒฝ๊ณผ๋์๋๋ฐ๋ ๋ฉ์ธ์ง๊ฐ ์ญ์ ๋์ง ์์๋ค๋ฉด ๋ฉ์ธ์ง๋ ๋๊ธฐ์ด์ ๋ค์ ๋ฃ์ด์ง๊ณ ๊ทธ์ ์์ผ ๋์ผํ ์๋น์ ํน์ ๋ค๋ฅธ ์๋น์๊ฐ ReceiveMessage API๋ฅผ ํธ์ถํ์์ ๋ ๊ทธ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ ์๊ฒ ๋๋ค.
๊ฒฐ๊ตญ ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ ์์ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ๋ฉ์ธ์ง๊ฐ ๋ ๋ฒ ์ฒ๋ฆฌ ๋ ์ ์์ผ๋ฉฐ ๋ง์ผ ์๋น์๊ฐ ์ ๊ทน์ ์ผ๋ก ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์ง๋ง ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ ์๊ฐ์ด ๋ ํ์ํ ์๋ ์๋ ์ํฉ์ ๊ฐ์ ํด๋ณผ ์ ์๋ค. ์ด๋ด ๊ฒฝ์ฐ ํด๋น ๋ฉ์ธ์ง๋ฅผ ๋ ๋ฒ ์ฒ๋ฆฌํ๊ณ ์ถ์ง ์๋ค๋ฉด ์๋น์๊ฐ ChangeMessageVisibility API๋ฅผ ํธ์ถํ์ฌ SQS์ ์๋ ค ๊ทธ ๋ฉ์ธ์ง๋ฅผ ๋ณด์ด์ง ์๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ๋ฅผ ๊ธธ๊ฒ ์ค์ ํ ์๋ ์๊ฒ ์ง๋ง ๊ทธ๋ ๋ค๊ณ ๋๋ฌด ๊ธธ๊ฒ ์ค์ ํ ๊ฒฝ์ฐ ์๋น์๊ฐ ์ถฉ๋ํ์ ๋ ์ด ๋ฉ์ธ์ง๊ฐ ๋ค์ ๋ํ๋ ๋ ๊น์ง ์ฆ SQS ๋๊ธฐ์ด์ ๋ณด์ด๊ธฐ๊น์ง ๋๋ฌด ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ค ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์์ง ์๋ ์๋ค. ๊ทธ๋์ ๊ฐ์์ฑ ์๊ฐ ์ด๊ณผ ๊ธฐ๊ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง์ถฐ ์ ๋นํ ์๊ฐ์ผ๋ก ์ค์ ๋์ด์ผ ํ๋ฉฐ ์๋น์๋ ๋ ๋ง์ ์๊ฐ์ด ํ์ํ๋ค๋ฉด ChangeMessageVisibility API๋ฅผ ํธ์ถํ๋๋ก ํ๋ก๊ทธ๋๋ฐ ๋์ด ์์ด์ผ ํ๋ค.
๐ SQS Long Polling
์๋น์๊ฐ ๋๊ธฐ์ด์ ๋ฉ์ธ์ง๋ฅผ ์์ฒญํ๋๋ฐ ๋๊ธฐ์ด์ ์๋ฌด๊ฒ๋ ์๋ค๋ฉด ๋ฉ์์ง ๋์ฐฉ์ ๊ธฐ๋ค๋ฆฌ๋ฉด ๋๋๋ฐ ์ด๊ฒ์ Long Polling ์ด๋ผ ํ๋ค.
์ด๋ ๊ฒ ํ๋ ์ด์ ๋ ๋ ๊ฐ์ง๊ฐ ์๋ค. ์ฒซ ๋ฒ์งธ๋ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํจ์ด๊ณ ๋ ๋ฒ์งธ ์ด์ ๋ SQS๋ก ๋ณด๋ด๋ API ํธ์ถ ์ซ์๋ฅผ ์ค์ด๊ธฐ ์ํด์์ด๋ค. ์๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค. ๋น์ด์๋ SQS ๋๊ธฐ์ด์ ์๋น์๊ฐ ํด๋งํ๊ณ ์์ ๋ ๋ฉ์ธ์ง๊ฐ ๋ฐ์ํ๋ฉด ์ฆ ๋ฉ์ธ์ง๊ฐ ๋๊ธฐ์ด์ ๋ง ๋์ฐฉํ ๋ ์๋น์๊ฐ ์ฌ์ ํ ๋กฑํด๋ง ์ค์ด๋ผ๋ฉด ์๋์ ์ผ๋ก ๊ทธ ๋ฉ์ธ์ง๊ฐ ์๋น์์๊ฒ ์ ์ก๋๋ค. ์ด ๋ ์ง์ฐ์๊ฐ์ด ๋งค์ฐ ์งฆ์ผ๋ฏ๋ก ์๋์ผ๋ก ์ต๋ํ ๋ฉ์ธ์ง๋ฅผ ๋นจ๋ฆฌ ๋ฐ๊ฒ ๋ ์ ์์ ๊ฒ์ด๋ค. ๋ฟ๋ง ์๋๋ผ API ํธ์ถ ์๋ก ์ค์์ผ๋ก์จ ํจ์จ์ด ์ข๋ค. ๋กฑํด๋ง์ ์๊ฐ์ 1์ด๋ถํฐ 20์ด ์ฌ์ด๋ก ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
๐ SQS - FIFO Queues
SQS์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ค๋ฅธ ์ข ๋ฅ์ ๋๊ธฐ์ด์ FIFO ์ด๋ค. FIFO ๋ First In First Out์ ์ค์๋ง๋ก ์ ์ ์ ์ถ์ ์๋ฏธํ๋ค. ์ด๋ ํ์ค ๋๊ธฐ์ด๋ณด๋ค ์์๊ฐ ๋ ํ์คํ ๋ณด์ฅ๋์ด ๋ณด๋ธ ๋ฉ์ธ์ง์ ์์๋๋ก ๋ฐ๊ฒ ํด์ค๋ค. ํ์ง๋ง ์ด๋ฐ ๋ณด์ฅ ๋๋ฌธ์ ๋๊ธฐ์ด์ ์ฒ๋ฆฌ๋์ ์ ํ์ด ์๋๋ฐ ๋ฌถ์์ด ์๋ ๊ฒฝ์ฐ ์ด๋น 300๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ฌถ์์ผ๋ก ๋ณด๋ด๋ฉด ์ด๋น 3000๊ฐ ๊น์ง๊ฐ ๋๋ค. ๋ํ ์ค๋ณต์ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ๊ณผ SQS๋ก ๋๋ฌด ๋ง์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ง ์๋๋ก ์ฒ๋ฆฌ๋์ ์ ํ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด ์๋ค.
๐ SNS
๋ฉ์ธ์ง ํ๋๋ฅผ ์ฌ๋ฌ ์์ ์์๊ฒ ๋ณด๋ธ๋ค๊ณ ๊ฐ์ ํด๋ณด์ . ์ง์ ํตํฉ์ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ ํ์ ๊ตฌ๋งคํ์์ ๋, ์ด๋ฉ์ผ ์๋ฆผ์ ๋ณด๋ด๊ณ ์ฌ๊ธฐํ์ง ์๋น์ค์ ๋ฐฐ์ก ์๋น์ค ๊ทธ๋ฆฌ๊ณ SQS ๋๊ธฐ์ด์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค. ํ์ง๋ง ์์ ์๋น์ค๋ฅผ ์๋ก ์ถ๊ฐํ ๋๋ง๋ค ํตํฉ์ ์์ฑํ๊ณ ์์ฑํด์ผ ํ๋ฏ๋ก ๋ฒ๊ฑฐ๋ก์์ด ์๊ธฐ๋๋ฐ Pub/Sub(๊ฒ์/๊ตฌ๋ )์ด๋ผ๋ ๊ฒ์ ์ฌ์ฉํ๋ฉด ๊ตฌ๋งค ์๋น์ค๊ฐ ๋ฉ์ธ์ง๋ฅผ SNS ์ฃผ์ ๋ก ์ ์กํ ์ ์๋ค. ๋ฉ์ธ์ง๋ฅผ ์ฃผ์ ๋ก ๊ฒ์ํ๋ ๊ฒ์ด๋ค. ๊ฐ ๊ตฌ๋ ์๋ SNS ์ฃผ์ ์ ํด๋น ๋ฉ์ธ์ง๋ฅผ ์์ ํ๊ณ ์ด๋ฅผ ๋ณด๊ดํ ์ ์๋ค.
SNS ์๋น์ค๋ฅผ ์ด์ฉํ๋ฉด ์ง์ ์ด๋ฉ์ผ์ ๋ณด๋ผ ์๋ ์๊ณ SMS ๋ฐ ๋ชจ๋ฐ์ผ ์๋ฆผ์ ๋ณด๋ผ ์๋ ์์ผ๋ฉฐ ์ง์ ๋ HTTPS ์๋ ํฌ์ธํธ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์๋ ์๋ค. ๋ํ SNS๋ SQS์ ๊ฐ์ ํน์ AWS ์๋น์ค์ ํตํฉํ์ฌ ๋ฉ์ธ์ง๋ฅผ ๋๊ธฐ์ด๋ก ์ง์ ๋ณด๋ผ ์๋ ์๊ณ ๋ฉ์ธ์ง๋ฅผ ์์ ํ ํ Lambda๊ฐ ์ฝ๋๋ฅผ ์ํํ๋๋ก ํ ์ ์์ผ๋ฉฐ Firehouse๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ S3๋ Redshift๋ก ๋ณด๋ผ ์๋ ์๋ค.
SNS ๋ค์ํ AWS ์๋น์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ธฐ๋ ํ๋ค. SNS๋ก ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋๋ฐ CloudWatch ์๋ ASG ์๋ฆผ CloudFormation State Changes Budgets, S3 ๋ฒํท, DMS, Lambda, Dynamo DB, RDS ์ด๋ฒคํธ ๋ฑ์ด ์๋ค. AWS์์ ์๋ฆผ์ด ๋ฐ์ํ๋ฉด ์ด๋ฌํ ์๋น์ค๊ฐ ์ง์ ๋ SNS ์ฃผ์ ๋ก ์๋ฆผ์ ๋ณด๋ธ๋ค.
SNS ๊ฒ์ ๋ฐฉ๋ฒ์๋ ๋ค์ํ ์ข ๋ฅ๊ฐ ์๋ค. SDK ์ฃผ์ ๊ฒ์๋ฅผ ์ฌ์ฉํด SNS์ ๋ฉ์ธ์ง๋ฅผ ๊ฒ์ํ ์ ์๋๋ฐ ๋จผ์ ์ฃผ์ ๋ฅผ ๋ง๋ ๋ค์ ํ๋ ๋๋ ์ฌ๋ฌ ๊ฐ์ ๊ตฌ๋ ์ ๋ง๋ค๊ณ SNS ์ฃผ์ ์ ๊ฒ์ํ๋ฉด ๋ชจ๋ ๊ตฌ๋ ์๊ฐ ์๋์ผ๋ก ํด๋น ๋ฉ์ธ์ง๋ฅผ ๋ฐ๊ฒ ๋๋ค. ๋ณด์ ์ธก๋ฉด์์ SNS๋ SQS์ ๋์ผํ๋ค.
๐ SNS + SQS : ํฌ ์์
๋ง์ฝ ๋ค์์ SQS ๋๊ธฐ์ด๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ค ํ ๋ ๋ชจ๋ SQS ๋๊ธฐ์ด์ ๊ฐ๋ณ์ ์ผ๋ก ์ ์กํ๋ ค๊ณ ํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ถฉ๋์ด ๋ฐ์ํ์ฌ ์ ์ก์ด ์คํจ๋ ์๋ ์๊ณ , SQS ๋๊ธฐ์ด์ ๋ ์ถ๊ฐํ๊ฒ ๋ ์๋ ์๋ค. ๊ทธ๋์ Fan Out ํจํด์ ์ฌ์ฉํด์ผ ํ๋ค. ๊ฐ๋ ์ SNS ํ ํฝ์ผ๋ก ํ ๋ฒ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๊ณ ์ํ๋ ๋งํผ SQS ๋๊ธฐ์ด์ SNS ํ ํฝ์ ๊ตฌ๋ ์ํค๋ ๊ฒ์ด๋ค. SQS๋ค์ ๊ตฌ๋ ์์ด๊ณ SNS๋ก ๋ณด๋ด์ง ๋ฉ์ธ์ง๋ค์ ๋ชจ๋ ๋ฐ์ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, ์ด๋ค ๋ฌผ๊ฑด์ ๊ตฌ๋งคํ์ ๋ ๋ ๊ฐ์ ๋๊ธฐ์ด๋ก ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๊ณ ์ถ์ ์ํฉ์ผ ๋ ๊ฐ๊ฐ ์ ์กํ๋ ๋์ SNS ํ ํฝ์ ํ ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๊ณ ๋๊ธฐ์ด ๋ ๊ฐ๊ฐ SNS ํ ํฝ์ ๊ตฌ๋ ํ๊ณ ์์ ๊ฒฝ์ฐ Fraud Detector(์ฌ๊ธฐ ํ์ง ์๋น์ค) ์ ๋ฐฐ์ก ์๋น์ค๊ฐ ๊ฐ๊ฐ ์์ ์ SQS ๋๊ธฐ์ด์์ ๋ฉ์ธ์ง๋ฅผ ์ฝ์ ์ ์๋ค. ์ด๋ ์๋ฒฝํ๊ฒ ๋ถ๋ฆฌ๋ ๋ชจ๋ธ๋ก SQS๋ก ๋ฐ์ดํฐ ์ง์์ฑ, ์ง์ฐ ์ฒ๋ฆฌ, ์์ ์ฌ์๋ ๋ฑ์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ผ๋ฉฐ ์ด ํจํด์ผ๋ก ์๊ฐ์ด ์ง๋ ์๋ก SQS ๋๊ธฐ์ด์ SNS ํ ํฝ์ ๊ตฌ๋ ์๋ก ๋ ์ถ๊ฐํ ์ ์๋ค.
์ด๋ฐ ํฌ์์ ํจํด์ S3 ์ด๋ฒคํธ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๋๊ธฐ์ด๋ก ๋ณด๋ผ ๋์ ์ํคํ ์ฒ๋ ๊ตฌ์ํด๋ณผ ์ ์๋ค. ๋ง์ฝ S3 ์ด๋ฒคํธ ์๋ฆผ์ ์ฌ๋ฌ ๊ฐ์ ๋์ผํ SQS ๋ก ๋ณด๋ด๊ณ ์ถ๋ค๋ฉด S3 ๋ฒํท์ ๊ฐ์ฒด๊ฐ ์์ฑ๋์ด ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ SNS ํ ํฝ์ผ๋ก ์ ์กํ๊ณ ์ฌ๋ฌ ๊ฐ์ ๋๊ธฐ์ด์ด SNS ํ ํฝ์ Fan Out ํจํด์ผ๋ก ๊ตฌ๋ ํ๊ฒ ํ๋ฉด ๋๋ค. ์๋๋ฉด ์ด๋ฉ์ผ์ด๋ Lambda ํจ์ ๋ฑ ๋ค๋ฅธ ํ์์ ์ดํ๋ฆฌ์ผ์ด์ ๋ SNS ํ ํฝ์ ๊ตฌ๋ ํ์ฌ S3์ ์ผ์ด๋๋ ์ด๋ฒคํธ์ ๋ํ ๋ฉ์ธ์ง๋ฅผ ์๋ก ๋ค๋ฅธ ๋ชฉ์ ์ง๋ก ์์ ํ๊ฒ ์ ์กํ ์ ์๋ค.
SNS์ ์ค์ํ ๊ธฐ๋ฅ ์ค ํ๋๋ ๋ฉ์ธ์ง ํํฐ๋ง์ธ๋ฐ SNS ํ ํฝ ๊ตฌ๋ ์๋ค์๊ฒ ์ ์กํ ๋ฉ์ธ์ง๋ฅผ ํํฐ๋งํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ตฌ๋งค ์๋น์ค๊ฐ SNS ํ ํฝ์ผ๋ก ๊ฑฐ๋ ๋ด์ฉ์ ์ ์กํ๊ณ ์ฃผ๋ฌธ ๋ด์ฉ์๋ ์ฃผ๋ฌธ ๋ฒํธ, ์ ํ, ์๋, ์ํ ๋ฑ์ด ์๋ค. ์ฌ๊ธฐ์ SQS ๋๊ธฐ์ด์ ์์ฑํด ๋ชจ๋ ์ฃผ๋ฌธ์ด ์๋ ๋ฐ์ฃผ(placed)๋ ์ฃผ๋ฌธ๋ง์ ์ฒ๋ฆฌํ๋๋ก SQS ๋๊ธฐ์ด์ SQS ํ ํฝ์ผ๋ก ๊ตฌ๋ ์ํค๊ณ JSON ํํฐ๋ง ์ ์ฑ ์ ์ ์ฉํจ์ผ๋ก์จ ์ ์ฑ ์ ๋ถํฉํ๋ ๋ฉ์ธ์ง '๋ฐ์ฃผ' ์ํ์ธ ๋ฉ์ธ์ง๋ง SQS ๋๊ธฐ์ด์ ๋ค์ด๊ฐ๊ฒ ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ๋ก์ง์ ์ทจ์ ์ํ์ธ ๋ฉ์ธ์ง๋ก๋ ์์ด๋์ด๋ฅผ ํ์ฅํ ์ ์๊ณ ๋ค๋ฅธ SQS ๋๊ธฐ์ด์ ๋ฐ๋ก ๋ง๋ จํ๋ฉด ์ทจ์๋ ์ฃผ๋ฌธ, ๋ฐ์ฃผ๋ ์ฃผ๋ฌธ์ ๊ฐ SQS ๋๊ธฐ์ด๋ค์ ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ง ์๊ฒ ๋ ๊ฒ์ด๋ค. ๋ํ ์ฃผ๋ฌธ ํํฐ๋ง ์ ์ฑ ์ ์ฌ์ฉํด ์ทจ์๋ ์ฃผ๋ฌธ์ ์ํ ์ด๋ฉ์ผ ๊ตฌ๋ ์ ์์ฑํ ์ ์๊ณ ํน์ ๋ค๋ฅธ SQS ๋๊ธฐ์ด์ ๊ฑฐ์ ๋ ์ฃผ๋ฌธ์ ์ํ ํํฐ๋ง ์ ์ฑ ์ ๋ง๋ค๊ฑฐ๋ ํํฐ๋ง ์ ์ฑ ์ด ์๋ SQS ๋๊ธฐ์ด์ ๋ง๋ค์ด SNS ํ ํฝ์ผ๋ก๋ถํฐ ๋ชจ๋ ๋ฉ์ธ์ง๋ฅผ ๋ฐ๋๋ก ํ ์ ๋ ์๋ค. ์ด๋ฐ Fan Out ํจํด, ๋ฉ์ธ์ง ํํฐ๋ง ์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ฑํ ์ ์๋ค.
'AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[aws] ECS์ EKS (0) | 2024.08.06 |
---|---|
[aws] Kinesis (0) | 2024.08.05 |
[aws] DataSync ๋? (0) | 2024.08.03 |
[aws] ์คํ ๋ฆฌ์ง Gateway (0) | 2024.08.03 |
[aws] Amazon FSx (0) | 2024.08.03 |