Amazon Kinesis Data Streams ๊ฐ€์ ธ์˜ค๊ธฐ ์ฃผ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ด ๋ฌธ์„œ์—์„œ๋Š” Amazon Kinesis Data Streams ๊ฐ€์ ธ์˜ค๊ธฐ ์ฃผ์ œ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์ ธ์˜ค๊ธฐ ์ฃผ์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๋ฉ”์‹œ์ง€ ์ˆ˜์ง‘์„ ์‹œ์ž‘ํ•œ ํ›„ ๊ด€๋ จ Cloud Monitoring ์ธก์ •ํ•ญ๋ชฉ์„ ํ™•์ธํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ง‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Console์—์„œ ์ฃผ์ œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์ฃผ์ œ๋กœ ์ด๋™

  2. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋Š” Amazon Kinesis Data Streams ๊ฐ€์ ธ์˜ค๊ธฐ ์ฃผ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ฃผ์ œ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์ธก์ •ํ•ญ๋ชฉ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์ฐจํŠธ์—์„œ ์ˆ˜์ง‘ ๋ฐ”์ดํŠธ ์ˆ˜ ์ธก์ •ํ•ญ๋ชฉ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  5. ์ˆ˜์ง‘ ์ค‘์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์ฃผ์ œ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์ฃผ์ œ ์ƒํƒœ ํ•„๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  6. ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ƒํƒœ ์ธก์ •ํ•ญ๋ชฉ์„ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์ฃผ์ œ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์ธก์ •ํ•ญ๋ชฉ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  7. ๋‹ค์Œ์€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

    ์˜ค๋ฅ˜ ์ฝ”๋“œ ์„ค๋ช… ์ˆ˜์ •
    KINESIS_PERMISSION_DENIED ๊ถŒํ•œ ๋ฌธ์ œ๋กœ ์ธํ•ด Kinesis ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. AWS ์—ญํ•  ARN์ด ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•˜๊ณ  AWS ์—ญํ• ์— ํ•„์š”ํ•œ Kinesis ์ฝ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ AWS์—์„œ ์ •์ฑ… ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    ์„œ๋น„์Šค ๊ณ„์ •์ด ์žˆ๊ณ  ์ปค์Šคํ…€ ํŠธ๋Ÿฌ์ŠคํŠธ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ AWS์—์„œ ์—ญํ•  ๋งŒ๋“ค๊ธฐ ์ ˆ์ฐจ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google Cloud์—์„œ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
    Pub/Sub ์„œ๋น„์Šค ๊ณ„์ •์— iam.serviceAccounts.getOpenIdToken ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Pub/Sub ์„œ๋น„์Šค ๊ณ„์ •์— ์„œ๋น„์Šค ๊ณ„์ • ํ† ํฐ ์ƒ์„ฑ์ž ์—ญํ•  ์ถ”๊ฐ€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    ์„œ๋น„์Šค ๊ณ„์ •์— ์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ• ์„ ์ถ”๊ฐ€ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋น„์Šค ๊ณ„์ •์— ์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ•  ์ถ”๊ฐ€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    PUBLISH_PERMISSION_DENIED ๊ถŒํ•œ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ฃผ์ œ์— ๊ฒŒ์‹œํ•˜๋Š” ์ค‘์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Pub/Sub ์„œ๋น„์Šค ๊ณ„์ •์— ํ•„์š”ํ•œ ๊ฒŒ์‹œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Pub/Sub ์„œ๋น„์Šค ๊ณ„์ •์— Pub/Sub ๊ฒŒ์‹œ์ž ์—ญํ•  ์ถ”๊ฐ€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    STREAM_NOT_FOUND ์ง€์ •๋œ Kinesis ์ŠคํŠธ๋ฆผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ ARN์ด ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    CONSUMER_NOT_FOUND Kinesis ์†Œ๋น„์ž๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์†Œ๋น„์ž ARN์ด ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์†Œ๋น„์ž๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ด ์‹œ์ ๊นŒ์ง€ ์˜ค๋ฅ˜๊ฐ€ ์—†์œผ๋ฉด ์ •์ƒ ๊ฒŒ์‹œ์ž ์œ ์ง€์˜ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์„ธ์š”.

Amazon Kinesis Data Streams ๊ฐ€์ ธ์˜ค๊ธฐ ์ฃผ์ œ์— ๋Œ€ํ•ด ํ”Œ๋žซํผ ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Kinesis ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๋Š” ํ•ญ์ƒ Pub/Sub์˜ ๋ฉ”์‹œ์ง€ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ํ˜ธํ™˜๋˜๋ฉฐ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋กœ๊ทธ๊ฐ€ ์ž‘์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Apache Kafkaยฎ๋Š” ๋ฏธ๊ตญ ๋ฐ/๋˜๋Š” ๋‹ค๋ฅธ ๊ตญ๊ฐ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” Apache Software Foundation ๋˜๋Š” ํ•ด๋‹น ๊ณ„์—ด์‚ฌ์˜ ๋“ฑ๋ก ์ƒํ‘œ์ž…๋‹ˆ๋‹ค.