AWS

AWS

[AWS] Cognito๋กœ ์‚ฌ์šฉ์ž ์ธ์ฆํ•˜๊ธฐ (ํšŒ์›๊ฐ€์ž…๋ถ€ํ„ฐ ํƒˆํ‡ด๊นŒ์ง€)

์‚ฌ์šฉ์ž๊ฐ€ ํšŒ์›๊ฐ€์ž…์„ ํ•  ๋•Œ username(userId)๊ณผ ๊ฐ„๋‹จํ•œ ์ •๋ณด๋งŒ DB์— ์ €์žฅํ•˜๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” AWS Cognito์— ์ €์žฅํ•˜๋„๋ก ํ•  ๊ฒƒ์ด๋‹ค. AWS Cognito ๋ž€ ? ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ •๋ฆฌํ•œ ๊ธ€์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž์„ธํ•œ ์„ค๋ช…์€ ์ƒ๋žตํ•˜๊ณ ,์‚ฌ์šฉ์ž ํ’€์„ ์‚ฌ์šฉํ•ด ์ธ์ฆํ•˜๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•œ๋‹ค ! ๋ผ๋Š” ๊ฒƒ๋งŒ ํ™•์ธํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ž.  โœณ๏ธ ์‚ฌ์šฉ์ž ํ’€์„ ์‚ฌ์šฉํ•œ ์ธ์ฆ ๐Ÿ”ท ์ธ์ฆ ํ๋ฆ„ ์‚ฌ์šฉ์ž ๋“ฑ๋ก (Sign Up)์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ํ’€์— ๋“ฑ๋ก์‚ฌ์šฉ์ž ์ด๋ฆ„, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ/์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ์˜ ์‚ฌ์šฉ์ž ์†์„ฑ ์ž…๋ ฅ์ด๋ฉ”์ผ ๋˜๋Š” ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด verification code๋ฅผ ๋ฐ›์•„ ๋“ฑ๋ก ์™„๋ฃŒ์‚ฌ์šฉ์ž ์ธ์ฆ (Sign In)๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์ธ์ฆ์ธ์ฆ ์„ฑ๊ณต ์‹œ, ID ํ† ํฐ, accessToken, refreshToke..

AWS

[AWS] AWS IoT ๋””๋ฐ”์ด์Šค ์‚ญ์ œ ์ ˆ์ฐจ ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด๊ธฐ

๋””๋ฐ”์ด์Šค ์‚ญ์ œ ์ˆœ์„œ๋””๋ฐ”์ด์Šค์— ๋“ฑ๋ก๋œ ์ธ์ฆ์„œ ๋ถ„๋ฆฌํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ ๋น„ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ์ธ์ฆ์„œ์™€ ์—ฐ๊ฒฐ๋œ ์ •์ฑ… ๋ถ„๋ฆฌAWS์—์„œ ์ธ์ฆ์„œ ์‚ญ์ œDB์—์„œ ๋””๋ฐ”์ด์Šค์™€ ์ธ์ฆ์„œ ์‚ญ์ œ๐Ÿ‘‰ ์ด ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ๋””๋ฐ”์ด์Šค๊ฐ€ AWS์™€ DB ๋ชจ๋‘์—์„œ ์‚ญ์ œ๋˜๋„๋ก ํ•˜์˜€๋‹ค.    1. ๋””๋ฐ”์ด์Šค์— ๋“ฑ๋ก๋œ ์ธ์ฆ์„œ ๋ถ„๋ฆฌpublic Mono detachThingPrincipal(String deviceId) { // Thing์— ์—ฐ๊ฒฐ๋œ principals(์ธ์ฆ์„œ ๋“ฑ) ๊ฐ€์ ธ์˜ค๊ธฐ ListThingPrincipalsRequest request = ListThingPrincipalsRequest.builder() .thingName(deviceId) .build(); return Mono.fromFut..

AWS

[AWS] AWS IoT ๋””๋ฐ”์ด์Šค ๋“ฑ๋ก ์ ˆ์ฐจ ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด๊ธฐ

๋””๋ฐ”์ด์Šค ๋“ฑ๋ก ์ˆœ์„œ์ธ์ฆ์„œ ์ƒ์„ฑDB์— ์ธ์ฆ์„œ ์ €์žฅ์ธ์ฆ์„œ์™€ ์ •์ฑ… ์—ฐ๊ฒฐthing ์ƒ์„ฑthing์— ์ธ์ฆ์„œ ๋ฐ ์ •์ฑ… ์—ฐ๊ฒฐ device shadow ๋“ฑ๋กDB์— ๋””๋ฐ”์ด์Šค ์ €์žฅ ๐Ÿ‘‰ ์ด ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ๋””๋ฐ”์ด์Šค๊ฐ€ AWS์™€ DB ๋ชจ๋‘์— ์ €์žฅ๋˜๋„๋ก ํ•˜์˜€๋‹ค.    1. ์ธ์ฆ์„œ ์ƒ์„ฑ ๋ฐ DB์— ์ธ์ฆ์„œ ์ €์žฅimport software.amazon.awssdk.services.iot.IotAsyncClient;import software.amazon.awssdk.services.iot.model.*;public Mono createCertificate() { // ์ธ์ฆ์„œ ํ™œ์„ฑํ™”์‹œํ‚ค๊ธฐ CreateKeysAndCertificateRequest request = CreateKeysAndCertificateRequest.build..

AWS

[AWS] AWS SDK๋ฅผ ํ™œ์šฉํ•ด AWS IoT ๋””๋ฐ”์ด์Šค ๋“ฑ๋กํ•˜๊ธฐ

๋””๋ฐ”์ด์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ธฐ ์ „์— ํ•ด์•ผํ•  ์ผ์ด ์žˆ๋‹ค. ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•ด์„œ ํ•ด๋‹น ๋””๋ฐ”์ด์Šค์— ๋“ฑ๋กํ•ด๋‹น ์ธ์ฆ์„œ์— ์ •์ฑ… ์—ฐ๊ฒฐ ์ด ๊ณผ์ •์„ ๋๋‚ด๊ณ  ๋””๋ฐ”์ด์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ณ ์ž ํ•œ๋‹ค.  ์ธ์ฆ์„œ๋ž‘ ์ •์ฑ…์ด ๋ญ”๋ฐ ์ธ์ฆ์„œ์™€ ์ •์ฑ…์— ๊ด€๋ จํ•ด์„œ ์ด์ „ ๊ธ€์— ๊ธฐ๋กํ–ˆ๋‹ค. ์‚ฌ์‹ค ์ด ๋‘˜์— ๋Œ€ํ•ด ๊นŠ๊ฒŒ ์•Œ์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ.. ๊ฐ„๋‹จํžˆ ์š”์•ฝํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๐Ÿ”ถ ์ธ์ฆ์„œ๋””๋ฐ”์ด์Šค๋ฅผ ์ธ์ฆํ•˜๊ณ  AWS IoT Core์™€ ์•ˆ์ „ํ•˜๊ฒŒ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • (๋””๋ฐ”์ด์Šค ์‹ ์› ํ™•์ธ)์ˆ˜๋งŽ์€ ๋””๋ฐ”์ด์Šค๊ฐ€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด ๋””๋ฐ”์ด์Šค ์ธ์ฆํ•˜๊ณ , ํ†ต์‹  ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธ ๐Ÿ”ถ ์ •์ฑ…์ธ์ฆ์„œ๋ฅผ ๊ฐ€์ง„ ๋””๋ฐ”์ด์Šค๊ฐ€ ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ •์˜MQTT ๋ฉ”์‹œ์ง€ ๊ฒŒ์‹œ ๋ฐ ๊ตฌ๋…, HTTP ์š”์ฒญ ๋“ฑ ๋””๋ฐ”์ด์Šค๊ฐ€ ํ—ˆ์šฉ๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ œํ•œ{ "Version": "2012-10-..

AWS

[AWS] AWS IoT Core ์ด๊ฒƒ์ €๊ฒƒ

๋””๋ฐ”์ด์Šค(์—์–ด์ปจ, ๊ณต๊ธฐ์ฒญ์ •๊ธฐ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฐ€์ „๊ธฐ๊ธฐ)์— ์ธ์ฆ์„œ์™€ ์ •์ฑ… ๋“ฑ์„ ์—ฐ๊ฒฐํ•˜๊ณ  ํ•ด์ œํ•˜๋Š” ๊ณผ์ •์„ AWS IoT ์ฝ˜์†”์—์„œ ์ง์ ‘ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ AWS sdk๋ฅผ ํ™œ์šฉํ•ด java ์ฝ”๋“œ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ์ž‘์—…์„ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค.  AWS IoT API reference๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉฐ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด์ง€๋งŒ, ๊ทธ ์ „์— AWS IoT Core์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์šฉ์–ด์™€ ์ž‘๋™ ๋ฐฉ์‹์„ ์–ด๋Š ์ •๋„ ํŒŒ์•…ํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์˜๋ฏธ์žˆ์„ ๊ฒƒ์œผ๋กœ ๋ณด์•„ ๋ชจ๋ฅด๋Š” ํ˜น์€ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…๋“ค์„ ์ •๋ฆฌํ•˜๊ฒ ๋‹ค ! ๐Ÿ˜€ AWS IoT Core์˜ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์€ ๊ทธ ์ „์— ๊ธฐ๋กํ•œ ๊ฒƒ์ด ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฐœ๋… ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•  ๊ฒƒ์ด๋‹ค.   ๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌAWS IoT๋Š” ์‚ฌ๋ฌผ(Thing)์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.AWS IoT์— ๋“ค์–ด๊ฐ€๋ฉด ์ขŒ..

AWS

[AWS] AWS Cognito์™€ OAuth

AWS Cognito๋ž€ ?์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ์œ„ํ•œ ์ž๊ฒฉ ์ฆ๋ช… ํ”Œ๋žซํผ์œผ๋กœ ์‚ฌ์šฉ์ž ์ธ์ฆ, ๊ถŒํ•œ ๋ถ€์—ฌ, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.ํ˜„์žฌ ํŒ€์—์„œ๋Š” OAuth2.0 access token ๋ฐ ์ž๊ฒฉ ์ฆ๋ช…์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋ถ€์—ฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ํ•™๋ถ€์ƒ ์‹œ์ ˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ์„ ๋•Œ๋Š” Spring Security๋ฅผ ์‚ฌ์šฉํ•ด ์ง์ ‘ JWT๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ  ๊ด€๋ฆฌํ–ˆ๋‹ค. AuthenticationManager ๋˜๋Š” UserDetailsService๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ํ™•์ธํ•˜๊ณ , ์ธ์ฆ ์„ฑ๊ณต ์‹œ ์„œ๋ฒ„๊ฐ€ JWT๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ง์ด๋‹ค.  ํ•˜์ง€๋งŒ ์‹ค๋ฌด์—์„œ๋Š” AWS Cognito๋ฅผ ์‚ฌ์šฉํ•ด JWT๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ณ  ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค. JWT ์ƒ์„ฑ ๋ฐ ๊ฒ€์ฆ ๋กœ์ง์„ ๊ตฌํ˜„ํ•ด์•ผํ•˜๊ณ , ๋ณด์•ˆ ๊ด€..

AWS

[AWS] AWS CloudFormation

AWS CloudFormation์ด๋ž€ ?AWS์—์„œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ(Infrastructure as Code, IaC) ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค. CloudFormation์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธํ”„๋ผ ๋ฆฌ์†Œ์Šค๋ฅผ ํ…์ŠคํŠธ ํŒŒ์ผ(ํ…œํ”Œ๋ฆฟ)๋กœ ์ •์˜ํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด AWS ๋ฆฌ์†Œ์Šค(์˜ˆ: EC2 ์ธ์Šคํ„ด์Šค, S3 ๋ฒ„ํ‚ท, RDS ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ)๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ, ๊ด€๋ฆฌ, ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค. CloudFormation ํ…œํ”Œ๋ฆฟ์„ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ผ๊ด€๋˜๊ณ  ๋ฐ˜๋ณต์ ์œผ๋กœ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ์ธํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ๊ณผ์ •์„ ๋‹จ์ถ•์‹œ์ผœ์ค€๋‹ค ! โœณ๏ธ EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ํ…œํ”Œ๋ฆฟ ์˜ˆ์‹œ AWSTemplateFormatVersion: "2010-09-09"Description: "AWS CloudFormation Template to create ..

AWS

[AWS] AWS IoT Core๋ž€ ?

AWS IoT Core๋ž€ ? ํ˜„์žฌ ํŒ€ ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ฃผ์š” ๊ธฐ์ˆ ๋กœ, ํŒ€ ์ด๋ฆ„์— ๋ถ€ํ•ฉํ•˜์—ฌ ํ™œ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. AWS์—์„œ ๋งŽ์€ ์„œ๋น„์Šค ์ข…๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•Œ๊ณ  ์žˆ์—ˆ์œผ๋‚˜, IoT๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ž…์‚ฌํ•˜๊ณ  ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. AWS IoT Core์˜ ์„œ๋น„์Šค๋ฅผ ์š”์•ฝํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.๐Ÿ‘‰ IoT ๊ธฐ๊ธฐ์™€ ํด๋ผ์šฐ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค๋กœ, ๊ธฐ๊ธฐ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„์„ ์œ„ํ•œ ์ค‘์•™ ํ—ˆ๋ธŒ ์—ญํ•  ์ˆ˜ํ–‰์ฆ‰, ๋‹ค๋ฅธ AWS ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์žฅ์น˜์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก IoT ์žฅ์น˜๋ฅผ ํด๋ผ์šฐ๋“œ์— ์—ฐ๊ฒฐํ•˜๋Š” ์„œ๋น„์Šค ์ œ๊ณต   MQTT (Message Queuing Telemetry Transport)IoT ๋””๋ฐ”์ด์Šค์™€ ํด๋ผ์šฐ๋“œ ๊ฐ„์˜ ๊ฒฝ๋Ÿ‰ ํ†ต์‹  ํ”„..

soogoori
'AWS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก