๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

AWS

(8)
AWS Amplify๋ฅผ ์ด์šฉํ•œ React Native ์•ฑ ๊ฐœ๋ฐœ๊ธฐ (2) ์ธ์ฆ(authentication) ์ธ์ฆ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด AWS Cognito๋ฅผ Amplify ์ƒ์—์„œ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.๊ธฐ์กด AWS Cognito ๋ฆฌ์†Œ์Šค์™€ ํ†ตํ•ฉํ•  ์ˆ˜๋„ ์žˆ๊ณ , Amplify Studio์—์„œ ์ƒˆ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค. Cognito๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค. Cognito์—์„œ ์‚ฌ์šฉ์ž ํ’€์„ ์ƒ์„ฑํ•˜๋ฉด ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์•ฑ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.1. AWS - ์ธ์ฆ ๊ตฌ์„ฑ ๋ฐ ๋ฐฐํฌAmplify ์ŠคํŠœ๋””์˜ค์—์„œ ์ธ์ฆ ๊ธฐ๋Šฅ์„ ์„ค์ •ํ•˜๋ฉด CloudFormation์—์„œ Cognito๋ฅผ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค. ๋กœ๊ทธ์ธ ๋ฐฉ์‹๊ณผ ํšŒ์›๊ฐ€์ž… ๋ฐฉ์‹์„ ์„ ํƒํ•œ ํ›„, Deployment๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ๋กœ๊ทธ์ธ ๋ฐฉ์‹์€ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์ „ํ™”๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ, ์œ ์ €๋ช…, ๊ฐ„ํŽธ๋กœ๊ทธ์ธ(ํŽ˜์ด์Šค๋ถ, ๊ตฌ๊ธ€, ์•„๋งˆ์กด, ์• ํ”Œ) ์ค‘ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ณ , ํšŒ์›๊ฐ€์ž… ๋ฐฉ..
AWS Amplify๋ฅผ ์ด์šฉํ•œ React Native ์•ฑ ๊ฐœ๋ฐœ๊ธฐ (1) ํ™˜๊ฒฝ์„ค์ • Local - ๊ธฐ๋ณธ ๋„๊ตฌ ์„ค์น˜ ๋ฐ ํ™•์ธnode -vnpm -vnpm install -g yarnnpm install -g expo-clinpm install -g @aws-amplify/cli  Local - Expo(React Native) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑexpo-cli init expo-cli init ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ํ›„, ์•ฑ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์ฃผ๋ฉด ๊ด€๋ จ ํด๋” ๋ฐ ํŒŒ์ผ๋“ค์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.   Local - AWS profile ์„ค์ •์•ก์„ธ์Šค ํ‚ค๋Š” IAM > ์‚ฌ์šฉ์ž ์—์„œ ์ƒ์„ฑ ๊ฐ€๋Šฅamplify configure ๋ฆฌ์ „์„ ์„ ํƒํ•˜๊ณ , ์•ก์„ธ์Šค ํ‚ค๋ฅผ ์ž…๋ ฅํ•ด ํ”„๋กœํ•„ ์„ค์ •์„ ์™„๋ฃŒํ•œ๋‹ค. Local - Amplify, React Native ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜yarn add @aws-amplify/ui-react-native aws..
AWS Amplify๋ž€ Amplify๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ ์ด์œ  ! 2023 AWS ์œˆํ„ฐ์บ ํ”„์—์„œ ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ ๋„ํ™”ํ•˜๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ, ์ด์ „์—๋Š” AWS Cloud9์„ ์‚ฌ์šฉํ•ด Streamlit์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ–ˆ๋‹ค๋ฉด, ์ด๋ฒˆ์— ๊ณ ๋„ํ™”๋ฅผ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉฐ ์„œ๋น„์Šค ์ œ๊ณต ํ˜•ํƒœ๋ฅผ ์•ฑ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. Amplify๊ฐ€ ๋‹ค์–‘ํ•œ ํ”„๋ŸฐํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•˜๊ณ , Cognito๋‚˜ DynamoDB ๋“ฑ์˜ AWS์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋“ค๊ณผ ์‰ฝ๊ฒŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด ๋ฐฑ์—”๋“œ ์ธก์˜ ๋ถ€๋‹ด๋„ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐฐํฌ๋„ ์ง€์›ํ•œ๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ์–ด์„œ ์ด๋ฒˆ ๊ธฐํšŒ์— ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. Amplify๋ž€ ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค: ๋ฐฑ์—”๋“œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ AWS ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ..
[AWS] CLF-C02: Cloud Practitioner Essentials ๊ฐ•์˜ ๋…ธํŠธ (3) 5. ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค EBS, S3, EFS, RDS, DynamoDB ์ธ์Šคํ„ด์Šค ์Šคํ† ์–ด ๋ฐ Amazon EBS(Elastic Block Store) ์ธ์Šคํ„ด์Šค ์Šคํ† ์–ด ๋ณผ๋ฅจ ๋ธ”๋ก ์ˆ˜์ค€ ์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ์€ ๋ฌผ๋ฆฌ์  ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•จ (SSD, HDD) ๋ธ”๋ก ์ˆ˜์ค€ ์Šคํ† ๋ฆฌ์ง€: ํŒŒ์ผ์ด ์ˆ˜์ •๋˜๋ฉด ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ → ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ํšจ์œจ์  EC2 ์ธ์Šคํ„ด์Šค์— ์ž„์‹œ ๋ธ”๋ก ์ˆ˜์ค€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ œ๊ณต (๋กœ์ปฌ ์ €์žฅ์†Œ) ์ธ์Šคํ„ด์Šค ์Šคํ† ์–ด๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ EC2 ์ธ์Šคํ„ด์Šค์˜ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , ๋”ฐ๋ผ์„œ ์ธ์Šคํ„ด์Šค์™€ ์ˆ˜๋ช…์ด ๋™์ผํ•œ ๋””์Šคํฌ ์Šคํ† ๋ฆฌ์ง€์ž„ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ค‘์ง€ ๋˜๋Š” ์ข…๋ฃŒ๋˜๋ฉด ์ธ์Šคํ„ด์Šค ์Šคํ† ์–ด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋จ (์žฌ์‹œ์ž‘ํ•˜๋ฉด ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ ์‹œ์ž‘๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ) ์ž„์‹œ ํŒŒ์ผ, ์Šคํฌ๋ž˜์น˜ ๋ฐ์ดํ„ฐ ๋“ฑ์˜ ..
[AWS] CLF-C02: Cloud Practitioner Essentials ๊ฐ•์˜ ๋…ธํŠธ (2) 3. ๊ธ€๋กœ๋ฒŒ ์ธํ”„๋ผ ๋ฐ ์‹ ๋ขฐ์„ฑ ๊ธ€๋กœ๋ฒŒ ์ธํ”„๋ผ์˜ ์ด์ , ๊ฐ€์šฉ ์˜์—ญ, CloudFront, ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜ ๋ฆฌ์ „ ์„ ํƒ ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๋น„์ฆˆ๋‹ˆ์Šค ์š”์†Œ ๋ฐ์ดํ„ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฐ ๋ฒ•์  ์š”๊ตฌ ์‚ฌํ•ญ ์ค€์ˆ˜ ํšŒ์‚ฌ์˜ ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๊ทœ์ •์— ๋”ฐ๋ฅด๋Š” ๊ฒฝ์šฐ ๊ณ ๊ฐ๊ณผ์˜ ๊ทผ์ ‘์„ฑ ๊ณ ๊ฐ๊ณผ ๊ฐ€๊นŒ์šด ๋ฆฌ์ „ ์„ ํƒ: ์ฝ˜ํ…์ธ ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ œ๊ณต ๊ฐ€๋Šฅ ๋ฆฌ์ „ ๋‚ด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฆฌ์ „์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์š”๊ธˆ ์„œ๋น„์Šค ๋น„์šฉ์ด ๋ฆฌ์ „๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ ๊ฐ€์šฉ ์˜์—ญ (Availability Zone, AZ) ๊ฐ€์šฉ ์˜์—ญ ๋ฆฌ์ „ ๋‚ด์˜ ๋‹จ์ผ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๋˜๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๊ทธ๋ฃน ๊ฐ€์šฉ ์˜์—ญ์€ ์„œ๋กœ ์ˆ˜์‹ญ ๋งˆ์ผ ๋–จ์–ด์ ธ ์žˆ์Œ ์ด ๊ฐ„๊ฒฉ์€ ๊ฐ€์šฉ ์˜์—ญ ๊ฐ„์˜ ์ง€์—ฐ ์‹œ๊ฐ„(์ฝ˜ํ…์ธ ๊ฐ€ ์š”์ฒญ๋œ ์‹œ์ ๊ณผ ์ˆ˜์‹ ๋œ ์‹œ์  ๊ฐ„์˜ ์ฐจ์ด)์ด ์งง์„ ์ •๋„๋กœ ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์›€ ๊ทธ๋Ÿฌ๋‚˜ ๋ฆฌ์ „์˜..
[AWS] CLF-C02: Cloud Practitioner Essentials ๊ฐ•์˜ ๋…ธํŠธ (1) 1. Amazon Web Services ์†Œ๊ฐœ AWS ๋ฐ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์˜ ์ด์  AWS์˜ ์ด์  ์ข…๋Ÿ‰ ๊ณผ๊ธˆ์ œ: ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ์ง€๋ถˆ (AWS์—์„œ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜์— ๋Œ€ํ•œ ํ•ต์‹ฌ ๊ฐ€์น˜) ์˜จ๋””๋งจ๋“œ ์ œ๊ณต: AWS๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•„์š”ํ•œ ์ˆœ๊ฐ„์— ์ „๋‹ฌ IT์˜ ํš์ผ์ ์ธ ์ž‘์—… ๋ถ€๋‹ด(์„ค์น˜, ๋ฐฑ์—… ๋“ฑ์˜ ๋ฐ˜๋ณต ์ž‘์—…) ํ•ด์†Œ ์ธํ„ฐ๋„ท์„ ํ†ตํ•จ: ์•ˆ์ „ํ•œ ์›น ํŽ˜์ด์ง€ ์ฝ˜์†” ์ด์šฉ, ํ”„๋กœ๊ทธ๋žจ ๋ฐฉ์‹์œผ๋กœ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Œ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์„ ์œ„ํ•œ ๋ฐฐํฌ ๋ชจ๋ธ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๋ฐฐํฌ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์šฐ๋“œ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํด๋ผ์šฐ๋“œ์—์„œ ์ƒˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ ๋ฐ ๋นŒ๋“œ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐฐํฌ (ํ”„๋ผ์ด๋น— ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ) ๊ฐ€์ƒํ™” ๋ฐ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค ๋ฐฐํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ ๋ฐ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„๋ฅผ ๋†’์ž„ ํ•˜์ด๋ธŒ๋ฆฌ..
[AWS] API Gateway + Lambda + RDS(MySQL) ์—ฐ๊ฒฐ (2) ์ด์ „ ๊ธ€์— ์ด์–ด Lambda์™€ RDS๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•ด๋ณด์ž. RDS๋กœ๋Š” MySQL์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค. RDS 1. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์„ค์ • RDS ์ƒ์„ฑ ํ›„ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์—์„œ ๋ช‡ ๊ฐ€์ง€ ํ™˜๊ฒฝ ์„ค์ • ์ž‘์—…์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. - ํƒ€์ž„์กด ์„ค์ • - Character Set - Max Connection RDS > ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน > ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์ƒ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ํŒจ๋ฐ€๋ฆฌ์—๋Š” RDB ์ƒ์„ฑ ์‹œ ์„ ํƒํ–ˆ๋˜ MySQL ๋ฒ„์ „์„ ์„ ํƒํ•œ๋‹ค. ์ƒ์„ฑ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ํด๋ฆญํ•˜๊ณ  ํŽธ์ง‘์„ ์„ ํƒํ•œ๋‹ค. time_zone → Asia/Seoul character_set_client, character_set_connection, character_set_database, character_set_filesystem, character_set_re..
[AWS] API Gateway + Lambda + RDS(MySQL) ์—ฐ๊ฒฐ (1) ์œ ์ € ์ธก์—์„œ API๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์ „๋‹ฌํ–ˆ์„ ๋•Œ, RDS์— ๊ฐ’์„ ์ ์žฌํ•˜๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์šฐ์„  API Gateway์™€ Lambda๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  API์— ์ „๋‹ฌํ•œ ๊ฐ’์ด ์ œ๋Œ€๋กœ ๋ฐ˜ํ™˜๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. API Gateway 1. API ์ƒ์„ฑ POST ์š”์ฒญ์„ ๋ณด๋‚ผ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— REST API๋ฅผ ์„ ํƒํ•œ๋‹ค. ์ด๋ฆ„ ์ž…๋ ฅํ•˜๊ณ  ๋‚˜๋จธ์ง„ ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ๋‘๊ณ  ์ƒ์„ฑํ•œ๋‹ค. ๋”๋ณด๊ธฐ ์ฐธ๊ณ : API ์—”๋“œํฌ์ธํŠธ ์œ ํ˜• - ์ง€์—ญ (๋ฆฌ์ „ API): ํ˜„์žฌ ๋ฆฌ์ „์— ๋ฐฐํฌ๋จ - ์ตœ์ ํ™”๋œ ์—์ง€ (์—ฃ์ง€ ์ตœ์ ํ™” API): CloudFront์— ๋ฐฐํฌ๋จ - ํ”„๋ผ์ด๋น— (ํ”„๋ผ์ด๋น— API): ํŠน์ • VPC์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ 2. ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ Lambda์— ์ ‘๊ทผํ•  ๊ฒฝ๋กœ ๊ฐ’์„ ์ž…๋ ฅํ•œ๋‹ค. 3. ๋ฉ”์„œ๋“œ ์ƒ์„ฑ ๋ฉ”์„œ๋“œ ์œ ํ˜•์—๋Š” ANY, GET, POST, PUT..