Amazon SNS
- ๋ฉ์์ง ํ๋๋ฅผ ์ฌ๋ฌ ์์ ์์๊ฒ ๋ณด๋ธ๋ค๊ณ ๊ฐ์
- ์ด๋ฐ ๊ฒฝ์ฐ ์ง์ ํตํฉ (Direct Integration) ์ธ ์ ์๋ค.
- ๊ตฌ๋งค ์๋น์ค App์ ์๋ก ๋ค๋ฉด ์ด๋ฉ์ผ ์๋ฆผ์ ๋ณด๋ด๊ณ ์ฌ๊ธฐํ์ง ์๋น์ค์ ๋ฐฐ์ก ์๋น์ค ๊ทธ๋ฆฌ๊ณ SQS๋๊ธฐ์ด์๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
- ํ์ง๋ง ์์ ์๋น์ค๋ฅผ ์๋ก ์ถ๊ฐํ ๋๋ง๋ค ํตํฉ์ ์์ฑํ๊ณ ์์ฑํด์ผ ํ๋ฏ๋ก ๋ฒ๊ฑฐ๋ก์ธ ์ ์๋ค.
- ๋์ Pub/Sub ์ฆ, ๊ฒ์/๊ตฌ๋
์ด๋ผ๋ ๊ฒ์ ์ฌ์ฉํ ์ ์๋ค.
- ๋ง์ ๊ตฌ๋ ์(subscriber) ๊ฐ ์์ผ๋ฉฐ, ๊ฐ ๊ตฌ๋ ์๋ SNS Topic ์์ ํด๋น message๋ฅผ ์์ ํ๊ณ ๋ณด๊ดํ ์ ์๋ค.
- pub/sub ํจํด์ด๋ผ๊ณ ํ๋ค.
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 ๋ก ๋ณด๋ผ์๋ ์๋ค.
SNS Integrates with a lot of AWS Services
SNS ๋ ๋ค์ํ AWS์๋น์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ธฐ๋ ํฉ๋๋ค.
- ๋ง์ AWS์๋น์ค๋ค์ SNS๋ก ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ค.
- ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ง ์๋น์ค์์ SNS๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค.
- AWS์์ ์๋ฆผ์ด ๋ฐ์ํ๋ฉด ์ด๋ฌํ ์๋น์ค๊ฐ ์ง์ ๋ SNS Topic์ผ๋ก ์๋ฆผ์ ๋ณด๋ธ๋ค๋๊ฒ๋ง ๊ธฐ์ตํ๋ฉด ๋๋ค.
SNS - How to publish
SNS Topic์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์
- Topic Publish (using the SDK)
- ํ ํฝ ์์ฑ
- ๊ตฌ๋ ์์ฑ (ํ๋ ๋๋ ์ฌ๋ฌ๊ฐ)
- Topic์ publish
-
์์ ๊ฐ์ด ํ๊ฒ๋๋ฉด ๋ชจ๋ ๊ตฌ๋ ์๊ฐ ์๋์ผ๋ก ํด๋น ๋ฉ์์ง๋ฅผ ๋ฐ๊ฒ ๋๋ค.
- Direct Publish (for mobile apps SDK)
- ๋ชจ๋ฐ์ผ ์ฑ SDK ์ ์ฉ ์ง์ publish ๋ฐฉ๋ฒ์ด ์๋ค.
- ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์์ฑํ ๋ค,
- ํ๋ซํผ ์๋ํฌ์ธํธ๋ฅผ ์์ฑํ๊ณ ,
- ํ๋ซํผ ์๋ ํฌ์ธํธ์ publish ํ๋ฉด ๋๋ค.
- ์์ ๊ฐ๋ฅ ๋์ (๊ตฌ๋
์)
- 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 ์ฃผ์ ์ ์์ฑํ ์ ์๋๋ก ํ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ๋งค์ฐ ์ ์ฉ
๋๊ธ๋จ๊ธฐ๊ธฐ