Amazon SNS

  • ๋ฉ”์‹œ์ง€ ํ•˜๋‚˜๋ฅผ ์—ฌ๋Ÿฌ ์ˆ˜์‹ ์ž์—๊ฒŒ ๋ณด๋‚ธ๋‹ค๊ณ  ๊ฐ€์ •
  • ์ด๋Ÿฐ ๊ฒฝ์šฐ ์ง์ ‘ ํ†ตํ•ฉ (Direct Integration) ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ตฌ๋งค ์„œ๋น„์Šค App์„ ์˜ˆ๋กœ ๋“ค๋ฉด ์ด๋ฉ”์ผ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ณ  ์‚ฌ๊ธฐํƒ์ง€ ์„œ๋น„์Šค์™€ ๋ฐฐ์†ก ์„œ๋น„์Šค ๊ทธ๋ฆฌ๊ณ  SQS๋Œ€๊ธฐ์—ด์—๋„ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ์ˆ˜์‹  ์„œ๋น„์Šค๋ฅผ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ํ†ตํ•ฉ์„ ์ƒ์„ฑํ•˜๊ณ  ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜ ์žˆ๋‹ค.
  • ๋Œ€์‹  Pub/Sub ์ฆ‰, ๊ฒŒ์‹œ/๊ตฌ๋… ์ด๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋งŽ์€ ๊ตฌ๋…์ž(subscriber) ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ฐ ๊ตฌ๋…์ž๋Š” SNS Topic ์—์„œ ํ•ด๋‹น message๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • pub/sub ํŒจํ„ด์ด๋ผ๊ณ  ํ•œ๋‹ค.

image-20221005021616018

Pub/Sub

  • โ€œ์ด๋ฒคํŠธ ์ƒ์‚ฐ์žโ€๋Š” ํ•˜๋‚˜์˜ SNS Topic ์—๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค.
  • โ€œ์ด๋ฒคํŠธ ์ˆ˜์‹ ์žโ€ ๋˜๋Š” ๊ตฌ๋…์ž๋Š” ํ•ด๋‹น Topic๊ณผ ๊ด€๋ จํ•œ SNS ์•Œ๋ฆผ์„ ๋ฐ›์œผ๋ ค๋Š” ์‚ฌ๋žŒor์„œ๋น„์Šค ์ด๋‹ค.
    • SNS Topic ๊ตฌ๋…์ž๋Š” ํ•ด๋‹น ์ฃผ์ œ๋กœ ์ „์†ก๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ชจ๋‘ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
    • ๋ฉ”์‹œ์ง€๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  • SNS Topic๋ณ„ ์ตœ๋Œ€ ๊ตฌ๋…์ž ์ˆ˜๋Š” 1,200๋งŒ์ด์ƒ๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • AWS ๊ณ„์ •๋‹น ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” Topic ์ˆ˜๋Š” ์ตœ๋Œ€ ์•ฝ 10๋งŒ๊ฐœ (๋ณ€๋™๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋Œ€๋žต์ ์ž„)
  • SNS ์—์„œ ์ง์ ‘ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๊ณ , ๋ชจ๋ฐ”์ผ ์•Œ๋ฆผ์„ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์ง€์ •๋œ HTTP, HTTPS ์—”๋“œ ํฌ์ธํŠธ๋กœ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค.
  • SQS์™€ ๊ฐ™์€ ํŠน์ • AWS์„œ๋น„์Šค์™€ ํ†ตํ•ฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€๊ธฐ์—ด๋กœ ์ง์ ‘ ๋ณด๋‚ผ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•œ ํ›„ ํ•จ์ˆ˜๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก Lambda ์— ๋ณด๋‚ด๊ฑฐ๋‚˜ Firehose๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ S3 ๋‚˜ RedShift ๋กœ ๋ณด๋‚ผ์ˆ˜๋„ ์žˆ๋‹ค.

image-20221007123206551

SNS Integrates with a lot of AWS Services

SNS ๋Š” ๋‹ค์–‘ํ•œ AWS์„œ๋น„์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋งŽ์€ AWS์„œ๋น„์Šค๋“ค์€ SNS๋กœ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„œ๋น„์Šค์—์„œ SNS๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • AWS์—์„œ ์•Œ๋ฆผ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๊ฐ€ ์ง€์ •๋œ SNS Topic์œผ๋กœ ์•Œ๋ฆผ์„ ๋ณด๋‚ธ๋‹ค๋Š”๊ฒƒ๋งŒ ๊ธฐ์–ตํ•˜๋ฉด ๋œ๋‹ค.

image-20221007123447173

SNS - How to publish

SNS Topic์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž

  • Topic Publish (using the SDK)
    • ํ† ํ”ฝ ์ƒ์„ฑ
    • ๊ตฌ๋… ์ƒ์„ฑ (ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ)
    • Topic์— publish
  • ์œ„์™€ ๊ฐ™์ด ํ•˜๊ฒŒ๋˜๋ฉด ๋ชจ๋“  ๊ตฌ๋…์ž๊ฐ€ ์ž๋™์œผ๋กœ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค.

  • Direct Publish (for mobile apps SDK)
    • ๋ชจ๋ฐ”์ผ ์•ฑ SDK ์ „์šฉ ์ง์ ‘ publish ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
    • ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑํ•œ ๋’ค,
    • ํ”Œ๋žซํผ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ ,
    • ํ”Œ๋žซํผ ์—”๋“œ ํฌ์ธํŠธ์— publish ํ•˜๋ฉด ๋œ๋‹ค.
    • ์ˆ˜์‹  ๊ฐ€๋Šฅ ๋Œ€์ƒ (๊ตฌ๋…์ž)
      • Google
      • GCM
      • Apple APNS
      • Amazon ADM
  • ๋ชจ๋‘ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์•Œ๋ฆผ์„ ์ˆ˜์‹ ํ•˜๊ฒŒ ๋œ๋‹ค.

SNS - Security

SNS ๋ณด์•ˆ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

๋ณด์•ˆ์ธก๋ฉด์—์„œ SNS๋Š” SQS์™€ ๋™์ผํ•˜๋‹ค.

  • ๋ณด์•ˆ
    • HTTPS API๋ฅผ ์‚ฌ์šฉํ•œ ์ „์†ก์ค‘ ์•”ํ˜ธํ™”
    • KMS Keys๋ฅผ ์‚ฌ์šฉํ•œ ์ €์žฅ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ SNS์— ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ ค๋Š” ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•œ ํด๋ผ์ด์–ธํŠธ ์ธก ์•”ํ˜ธํ™”
      • ์•”ํ˜ธํ™” ๋ฐ ์•”ํ˜ธ ํ•ด๋…์€ ํด๋ผ์ด์–ธํŠธ ๋ชซ


  • ์•ก์„ธ์Šค ์ œ์–ด (Access Control)
    • IAM ์ •์ฑ… ์ค‘์‹ฌ
    • ๋ชจ๋“  SNS API๊ฐ€ IAM ์ •์ฑ…์œผ๋กœ ๊ทœ์ œ๋œ๋‹ค.


  • SNS ์•ก์„ธ์Šค ์ •์ฑ… (S3 ๋ฒ„ํ‚ท ์ •์ฑ…๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•จ)
    • SNS Topic์— ๊ต์ฐจ ๊ณ„์ • ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๊ฐ–๊ฑฐ๋‚˜
    • S3 ์ด๋ฒคํŠธ์™€ ๊ฐ™์€ ์„œ๋น„์Šค๊ฐ€ SNS ์ฃผ์ œ์— ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ์œ ์šฉ

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ