๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ด๐Ÿ’ป/๐€๐–๐’ (8)

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[AWS] ์ฒจ๋ถ€ํŒŒ์ผ AWS S3์— ์ €์žฅ & ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ

๊ณผ๊ฑฐ ํ”„๋กœ์ ํŠธ์—์„œ ๋กœ์ปฌ์— ์ด๋ฏธ์ง€๋ž‘ ํŒŒ์ผ์„ ์ €์žฅ, ์กฐํšŒ, ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ์  ์žˆ๋‹ค. ์ด๊ฑธ ์ด์ œ S3์— ์ €์žฅํ•ด๋ณด๊ณ  ์‹ถ์–ด ํ•œ๋ฒˆ ๋ฆฌํŒฉํ† ๋ง์„ ํ•ด๋ณด์•˜๋‹ค. ์šฐ์„  ๋ฉ€ํ‹ฐํŒŒํŠธ(Multipart) ํŒŒ์ผ ๊ด€๋ จ ์„ค์ •์„ ํ•ด์ค˜์•ผํ•œ๋‹ค. spring: servlet: multipart: enabled: true # ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ์ง€์›์—ฌ๋ถ€ (default: true) max-file-size: 100MB # ํ•œ๊ฐœ ํŒŒ์ผ์˜ ์ตœ๋Œ€ ์‚ฌ์ด์ฆˆ (default: 1MB) max-request-size: 100MB # ์ด์ œ S3๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค. implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' ๊ทธ๋ฆฌ๊ณ  S3 ๋ฒ„ํ‚ท๋ฅผ ๋งŒ..

[AWS] ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ ๋ฐฑ์—”๋“œ ์ฑŒ๋ฆฐ์ง€ 3์›” 1ํšŒ์ฐจ - AWS ๊ตฌ์กฐ

์›ํ‹ฐ๋“œ์—์„œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ ๋ฐฑ์—”๋“œ ์ฑŒ๋ฆฐ์ง€ 3์›” ํ”„๋กœ๊ทธ๋žจ์„ ์ฐธ์—ฌ์‹ ์ฒญ์„ ํ–ˆ๋‹ค. AWS๋ฅผ ํ™œ์šฉํ•œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•ด์ค€๋‹คํ•ด์„œ AWS ๋น ์ˆœ์ด์ธ ๋‚˜๋กœ์จ ๋‹น์žฅ ์‹ ์ฒญํ–ˆ๋‹ค. 1ํšŒ์ฐจ ์ˆ˜์—…์—์„œ๋Š” ์ „๋ฐ˜์ ์ธ AWS ๊ตฌ์กฐ์™€ ํšจ์œจ์ ์ธ ์šด์˜ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์…จ๋‹ค. Agenda ์ข‹์€ ์•„ํ‚คํ…์ฒ˜๋ž€? Monolithic server RDS scaling EC2 scaling Cache CDN Serverless ๋‚ด์šฉ ์š”์•ฝ ์ข‹์€ ์•„ํ‚คํ…์ฒ˜๋ž€? ์„œ๋น„์Šค ์šด์˜ ๋ฐฉ์‹์— ์ ํ•ฉํ•œ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— “์ด๊ฑฐ ๋ฌด์กฐ๊ฑด ํ•ด์•ผ๋ผ์š”" ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ bottleneck์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์•„ํ‚คํ…์ฒ˜ ์„œ๋น„์Šค ์ดˆ๊ธฐ๋‹จ๊ณ„์—์„œ ๊ตณ์ด auto scaling ์•ˆํ•ด๋„ ๋œ๋‹ค. ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ๋งŒ ๋งŒ๋“ค๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ๋Š˜์–ด๋‚œ๋‹ค๋ฉด ๊ทธ๋•Œ ํ™•์žฅํ•˜์ž! โœ”๏ธsca..

[AWS] Private Subnet ๋‚ด๋ถ€ EC2 ์— MySQL ๋งŒ๋“ค๊ณ  SSH ํ„ฐ๋„๋ง์„ ํ†ตํ•ด ๋กœ์ปฌ์—์„œ MySQL ์ ‘์†ํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋„์ปค๋กœ ๋„์šด MySQL๋ฅผ EC2 MySQL๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” MySQL WorkBench์—์„œ ssh ์ ‘์†์„ ์‚ฌ์šฉํ•˜๋Š” Standard TCP/IP over SSH ์œผ๋กœ ์—ฐ๊ฒฐ์„ ์„ฑ๊ณตํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์Šคํ”„๋ง๋ถ€ํŠธ application.yml ํŒŒ์ผ์—์„œ ์›๊ฒฉ DB ์„ค์ •์— ์‹คํŒจํ–ˆ๋‹ค..ใ… ใ…  ๋‹น์—ฐํ•œ๊ฒŒ ์Šคํ”„๋ง๋ถ€ํŠธ(๋กœ์ปฌ)์—์„œ ssh์„ค์ •์ด ์—†์œผ๋ฉด ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค... ์Šคํ”„๋ง๋ถ€ํŠธ์— ssh ์„ค์ •์„ ์‹œ๋„ํ•ด๋ดค์ง€๋งŒ ์ฒ˜์ฐธํžˆ ์‹คํŒจํ–ˆ๋‹คใ…Ž ๊ทธ๋ž˜์„œ ํ•„์ž๋Š” SSH ํ„ฐ๋„์„ ์ƒ์„ฑํ•˜์—ฌ Local Port Forwarding ์œผ๋กœ Private Subnet์•ˆ์˜ EC2 MySQL์— ์ ‘์†ํ•˜์˜€๊ณ  ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ํ˜„์žฌ ์„œ๋ฒ„ ํ™˜๊ฒฝ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์„œ๋ฒ„ ํ™˜๊ฒฝ์€ ๋‘๊ฐœ์˜ ๊ฐ€์šฉ์˜์—ญ(ap-northeast-2a, ap..

[AWS] AWS Certified Solutions Architect Associate(SAA-C03) ๋’ค๋Šฆ์€ ์ทจ๋“ ํ›„๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ AWS๊ฐ€ ๋„ˆ๋ฌด ์žฌ๋ฐŒ์–ด์กŒ๋‹ค...ใ…Žใ…Ž ๊ทธ๋ž˜์„œ 3๋‹ฌ ๋™์•ˆ ๊ณต๋ถ€ ํ›„ AWS Solutions Aritect Associate๋ฅผ ์ทจ๋“ํ•˜์˜€๋Š”๋ฐ, ๊ณต๋ถ€ ๋ฐฉ๋ฒ•๊ณผ ์‹œํ—˜ ํ›„๊ธฐ๋ฅผ ์ ์–ด๋ณธ๋‹ค. ์ฒ˜์Œ AWS ์ ‘ํ•˜๋Š” ๋ถ„๋“ค์€ ์•„๋ž˜์˜ AWS ๊ฐ•์˜์‹ค์˜ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” AWS ๊ธฐ์ดˆ ๊ฐ•์ขŒ๋ฅผ ๋ณด๋ฉด ์ „๋ฐ˜์ ์ธ AWS ๊ธฐ์ดˆ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•„์ž๋„ ์ฒ˜์Œ์— AWS ์ดํ•ด๊ฐ€ ์–ด๋ ค์› ์ง€๋งŒ ํ•ด๋‹น ์žฌ์ƒ๋ชฉ๋ก์„ 3๋ฒˆ ์ด์ƒ ๋Œ๋ ค๋ณด๊ณ ์„œ ์–ด๋Š ์ •๋„ ์ดํ•ด๋ฅผ ํ•œ ํ›„ SAA ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜์˜€๋‹ค. ๊ฐ•์ถ”!!!! https://youtube.com/playlist?list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&si=xAQf_j-hllbC1zCK ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š”AWS ๊ธฐ์ดˆ ๊ฐ•์ขŒ www.youtube.com ์–ด๋Š์ •๋„ ์ดํ•ด๋ฅผ ํ•œํ›„ ๋ณธ๊ฒฉ..

[AWS] deploy.sh log๋ฅผ Crontab ์Šค์ผ€์ฅด๋ง์œผ๋กœ AWS S3์— ์ €์žฅํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰์ค‘, CodeDeploy log ๋ฅผ S3 ๋ฒ„ํ‚ท ์ƒ์„ฑํ›„ ํ•ด๋‹น ๋ฒ„ํ‚ท์— ์ €์žฅํ•ด๋ณด๋ผ๋Š” ๊ณผ์ œ๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค. ์‰˜์Šคํฌ๋ฆฝํŠธ + crontab์„ ํ†ตํ•ด s3์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•ด๋ณธ๋‹ค. ์šฐ์„  ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ๊ตฌ์ถ• ํ™˜๊ฒฝ์„ ์„ค๋ช…ํ•˜์ž๋ฉด, ์  ํ‚จ์Šค๋กœ CI ๊ตฌ์ถ• + AWS CodeDeploy๋ฅผ ํ†ตํ•ด ์ž๋™ CD ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜์˜€๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ์— deploy.sh ํŒŒ์ผ์„ ์ƒ์„ฑํ›„ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑํ•ด ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ–ˆ๋‹ค. 1. deploy.sh ํŒŒ์ผ ์ƒ์„ฑ #!/bin/bash BUILD_JAR=$(ls /home/ubuntu/app/build/libs/*.jar) JAR_NAME=$(basename $BUILD_JAR) echo "> build : $JAR_NAME" >> /home/ubuntu/applog/applog.l..

[AWS] ELB, EFS

ELB(Elastic Load Balancer) ๋‹ค์ˆ˜์˜ ์„œ๋น„์Šค์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ ์‹œ์ผœ์ฃผ๋Š” ์„œ๋น„์Šค Health Check: ์ง์ ‘ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐœ์ƒ์‹œ์ผœ Instance ๊ฐ€ ์‚ด์•„์žˆ๋Š”์ง€ ์ฒดํฌ AutoScaling๊ณผ ์—ฐ๋™ ๊ฐ€๋Šฅ ์—ฌ๋Ÿฌ ๊ฐ€์šฉ์˜์—ญ์— ๋ถ„์‚ฐ ๊ฐ€๋Šฅ ์ง€์†์ ์œผ๋กœ IP ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ์–ด IP ๊ณ ์ • ๋ถˆ๊ฐ€๋Šฅ : ํ•ญ์ƒ ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ด 4๊ฐ€์ง€ ์ข…๋ฅ˜ Application Load Balancer Network Load Balancer Classic Load Balancer Gateway Load Balancer ELB ์˜ ์ข…๋ฅ˜ Application Load Balancer ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ์œ ํ˜• ๋˜‘๋˜‘ํ•จ ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜์—ฌ ๋ผ์šฐํŒ… ๊ฐ€๋Šฅ balacer๊ฐ€ ์ฃผ์†Œ๋ฅผ ์ฝ์–ด ์œ ์ €๊ฐ€ ์–ด๋–ค ๊ฒฝ๋กœ๋กœ ์ ‘์†ํ–ˆ๋Š”์ง€์— ๋”ฐ๋ผ์„œ ๋ผ์šฐํŒ…์„ ํ•ด์ค€๋‹ค. ..

[AWS] EC2, EBS, AMI, Autoscaling

์šด์˜์ฒด์ œ(Operating System) ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ปดํ“จํ„ฐ๋ฅผ ํŽธ๋ฆฌํ•˜๊ณ , ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ์ž„์ด๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ ์‚ฌ์šฉ์ž์™€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ์„œ ๋™์ž‘ํ•˜๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ผ์ข…์œผ๋กœ, ๋‹ค๋ฅธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์œ ์šฉํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. ์‹œ์Šคํ…œ ํ•˜๋“œ์›จ์–ด ์ž์›๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ์ž์›์„ ์šด์˜ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ Windows, Linux, MacOs, Android ํŠน๊ถŒ ๋ช…๋ น(privileged instruction): ์‹œ์Šคํ…œ ์š”์†Œ๋“ค๊ณผ ์†Œํ†ตํ• ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น - OS๋งŒ ๊ฐ€๋Šฅ OS๋Š” ํŠน๊ถŒ ๋ช…๋ น๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํ•˜๋“œ์›จ์–ด ์‹œ์Šคํ…œ(์ปดํ“จํ„ฐ)๋‹น ํ•˜๋‚˜๋ฐ–์— ๋Œ์•„๊ฐˆ์ˆ˜ ์—†์Œ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์€ ํŠน๊ถŒ ๋ช…๋ น์ด ํ•„์š”์—†๊ธฐ๋•Œ๋ฌธ์— ๋งŽ์€ ..

[AWS] ํด๋ผ์šฐ๋“œ, AWS, IAM

ํด๋ผ์šฐ๋“œ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์™€ ์ด๋Ÿฌํ•œ ์„œ๋ฒ„์—์„œ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰ ๊ด‘๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•˜์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ƒํ™”๋œ ์„œ๋ฒ„์™€ ์„œ๋ฒ„์—์„œ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” IT ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•˜๋ฉฐ, ํด๋ผ์šฐ๋“œ(Cloud)๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋งํ•ด์ฃผ๋“ฏ, ์ธํ„ฐ๋„ท ํ†ต์‹ ๋ง ์–ด๋”˜๊ฐ€์—์„œ ๊ตฌ๋ฆ„์— ์‹ธ์—ฌ ๋ณด์ด์ง€ ์•Š๋Š” ์ปดํ“จํŒ… ์ž์›(CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ๋“ฑ) ์„ ์ธํ„ฐ๋„ท์œผ๋กœ ์‰ฝ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ์ˆ˜๋งŽ์€ ์ปดํ“จํ„ฐ๊ฐ€ ๋ถ„์‚ฐํ™”๋˜์–ด์žˆ๋Š”๋ฐ ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋“ฑ์ด ์ค€๋น„๋˜์–ด ์žˆ์ง€ ์•Š์•„๋„ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋‹จ๋ง๊ธฐ๋งŒ ์žˆ์œผ๋ฉด ์–ด๋””์—์„œ๋“  ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์ ‘์†ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์„ค์น˜๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค. AWS, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์• ์ €(Azure), ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ(Goo..