์งํ์ค์ธ ํ๋ก์ ํธ์ ์์ด๋, ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ์ ์ด์ฉ๋ ๋ฌธ์ ์์คํ ์ ์ฐ๊ฒฐํด์ผ๋๋ค.
์์ด๋, ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ๋ฑ์ ์ฌ์ฉ๋๋ ๋ฌธ์๋ณด๋ด๋ ์์คํ ์ ๋ค๋ฅธ ๊ณณ๋ ๋ง์ง๋ง aws๋ด์ ์๋น์ค๋ฅผ ์ด์ฉํ ์์ ์ด๋ค.
๋๋ ์์ธ ๋ฆฌ์ ์ ์ฌ์ฉ์ค์ธ๋ฐ, ๋ฌธ์๋ณด๋ด๋ ์๋น์ค๊ฐ ๋ถ๊ฐํ๋ค.
์์ธ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋์ฟ๋ฆฌ์ ์ ์ฌ์ฉ ํด์ผ๋๋ค.
1. IAM ์ ๋ณด ์์ฑ
์ฌํ ๋ ธํฐํผ์ผ์ด์ ์๋น์ค๋ฅผ ์ด์ฉํ๊ธฐ ์ , ๋ฌธ์๋ฅผ ๋ณด๋ด๋ ์๋น์ค์ด๊ธฐ๋๋ฌธ์ ์์ธ์ค ํค๋ฅผ ๋ง๋ค์ด์ผํ๋ค.
AWS=> ๋ณด์ ์๊ฒฉ ์ฆ๋ช ๋ฐ ๊ท์ ์ค์ => IAM ํญ์ผ๋ก ์ด๋ํ์ฌ key_id์ secret_access_key๋ฅผ ์์ฑํ์ฌ ๋ฉ๋ชจํด๋๋ค.
๊ธฐ์กด์ ๊ฐ๋ฐ์๋๊ป์ ๋ฐ์๋์ ๊ฒ ์์ด ๋๋ ๋ฉ๋ชจ๋ง ํด๋์๋น.
2. ๋ฌธ์๋ฉ์์ง ๋ณด๋ด๊ธฐ ๊ธฐ๋ณธ ์ค์
awsํ์ด์ง์ ์ค๋ฅธ์ชฝ ์๋จ์ ์๋ ๋ฆฌ์ ์ ๋์ฟ๋ก ๋ฐ๊พผ ๋ค sns์๋น์ค๋ก ์ด๋ํ๋ค.
์์ธ๋ฆฌ์ ์์ ๋ณด๋ฉด ๋ชจ๋ฐ์ผ -> ํธ์์๋ฆผ๋ง ์กด์ฌํ๋๋ฐ ๋์ฟ๋ฆฌ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋ฌธ์๋ฉ์ธ์ง(SMS) ํญ๋ชฉ์ด ๋ฌ๋ค.
ํด๋ฆญํ์ฌ ๋ฌธ์ ๋ณด๋ด๊ธฐ์ ๊ธฐ๋ณธ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค.
์ฒ์ ์์ฑํ๊ฒ๋๋ฉด ๊ณ์ ์ง์ถํ๋๋ 1์ด ์ต๋์ด๋ค.
๋๋ฆฌ๊ณ ์ถ์ผ๋ฉด ์ ๋ณด๋ค์ ์ ๋ ฅํ์ฌ ์ฆ์ก์์ฒญ์ ํด์ผ๋๋ค.
3. ์ฝ๋ ์์ฑ
// aws์ ๊ธฐ๋ฅ์ ๋์์ฃผ๋ sdk์ค์น
const AWS = require('aws-sdk');
// AWS์ apiVersions์ ํ์ธํ์ฌ์ผ ํ๋ค .
console.log(AWS);
// ๋๋ค 4์๋ฆฌ ์ฝ๋ ์์ฑ, ์ด๋์ 4์๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ๋ ๋ฐ๋ก ์์ธ์ฒ๋ฆฌ๋ฅผ ๊ฑธ์ด์ค์ผํ๋ค.
let code = Math.floor(Math.random()*10000);
// ๋ด๊ฐ ์ฌ์ฉํ ๋ฆฌ์ ์ ์
๋ ฅํด์ค๋ค. ๋๋ ๋์ฟ๋ฆฌ์ ์ด๋ค.
AWS.config.update({region:'ap-northeast-1'})
// ๋ฉ์ธ์ง์ ํธ๋ํฐ๋ฒํธ๋ง ์
๋ ฅํ๋ค.
var params = {
Message : '์ธ์ฆ๋ฒํธ๋ '+code+' ์
๋๋ค.',
PhoneNumber : '+8201011111111'
}
// ์์ AWS์ apiVersion์ ์
๋ ฅํ๋ค.
var publishTextPromise = new AWS.SNS({apiVersion:'ํ์ธํ๋ฒ์ '}).publish(params).promise();
// ์ค์ง์ ์ผ๋ก ๋ฌธ์๋ฅผ ๋ณด๋ด๋ ์ฝ๋์ด๋ค.
publishTextPromise.then(function(data){
console.log("message id is "+data.MessageId);
}).catch(function(err){
console.log("err : "+err)
})
์ด๊ฒ์ api๋ก ์๋ตํ ๋์๋
์ค์ง์ ์ผ๋ก ๋ฌธ์๋ฅผ ๋ณด๋ด๋ ์ฝ๋์์ ์ฑ๊ณตํ๋ฉด ๋๋ค์ผ๋ก ์์ฑ๋ code๋ฅผ ํ๋ก ํธ์ ์ ๋ฌํ๊ณ
ํ๋ก ํธ๋จ์์๋ api๋ก ์๋ต๋ฐ์ ์ฝ๋์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ฝ๋๊ฐ ์ผ์นํ๋ฉด ์ธ์ฆ์ ์ฑ๊ณตํ ๊ฒ์ด๋ค.
ํ๊ณ ๋๋ฉด ์ฝ์ง๋ง ๊ณผ์ ์ ์ฝ์ง๊ฐ ์์๋ ๊ฒ ๊ฐ๋ค.
์ฐธ๊ณ ๋ฌธ์ : https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/sns-examples-sending-sms.html
'์๊ฐ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฐฉ๋ฒ๋ก (0) | 2021.07.06 |
---|---|
Git์ผ๋ก ํ์ ํ๊ธฐ (0) | 2021.07.04 |
git fork ์ฐ๊ฒฐ ๋ฐฉ๋ฒ (0) | 2021.03.04 |
DNS์๋ฒ (0) | 2021.03.01 |
์นดํ24 ํธ์คํ , ๊ฐ๋น์ ๋๋ฉ์ธ ์ฐ๊ฒฐํ๊ธฐ (0) | 2021.03.01 |