Featured image of post AWS

AWS

What is Amazon Web Services

๐Ÿ“Œ๊ฐœ์š”

“AWS๋ž€ ๋ฌด์—‡์ธ๊ฐ€” ๋ฌป๊ณ  ๋˜ ๋ฌป๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฑด ๊ฐœ๋ฐœ์ž, ๊ธฐ์—…, ๋น„์ฆˆ๋‹ˆ์Šค ์˜์‚ฌ ๊ฒฐ์ •์ž ๋ชจ๋‘์—๊ฒŒ ์ค‘์š”ํ•œ ์ถœ๋ฐœ์ ์ด๋‹ค. AWS(Amazon Web Services)์˜ ๊ฐœ๋…, ์ฃผ์š” ์„œ๋น„์Šค ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ๊ฐ€์ ธ๋‹ค์ฃผ๋Š” ์‹ค์งˆ์ ์ธ ๊ฐ€์น˜์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์ž.

๐Ÿ“Œ๋‚ด์šฉ

AWS๋ž€?

AWS๋Š” Amazon์ด ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค ํ”Œ๋žซํผ์œผ๋กœ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์˜จ๋””๋งจ๋“œ ๋ฐฉ์‹์œผ๋กœ ์ปดํ“จํŒ… ํŒŒ์›Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ† ๋ฆฌ์ง€, ์ปจํ…์ธ  ์ „์†ก ๋“ฑ IT ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋‹ค.

๊ฐœ๋ฐœ์ž๋Š” ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€ ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๊ณผ ์„œ๋น„์Šค ์šด์˜์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์˜จ๋””๋งจ๋“œ(On-demand): ์ˆ˜์š”์ž๊ฐ€ ์š”์ฒญํ•˜๋Š” ์‹œ์ ์— ๋งž์ถฐ ์ฆ‰์‹œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹

AWS์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ

AWS๋Š” ์ˆ˜๋งŽ์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ ๋Œ€ํ‘œ์ ์ธ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ์„ค๋ช…
EC2๊ฐ€์ƒ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค
S3ํŒŒ์ผ ์ €์žฅ์šฉ ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค
RDS๊ด€๋ฆฌํ˜• ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋น„์Šค
VPC์‚ฌ์šฉ์ž ์ „์šฉ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์„œ๋น„์Šค
IAM์‚ฌ์šฉ์ž ๋ฐ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์„œ๋น„์Šค
CloudWatch๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋กœ๊น… ์„œ๋น„์Šค
CloudFormation์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ๋„๊ตฌ

AWS์˜ ์žฅ์ 

  • ํ™•์žฅ์„ฑ: ์„œ๋น„์Šค ์ˆ˜์š”์— ๋”ฐ๋ผ ๋ฆฌ์†Œ์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ ๋˜๋Š” ์ถ•์†Œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋น„์šฉ ํšจ์œจ์„ฑ: ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋Š” pay-as-you-go ๋ชจ๋ธ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ์‹ ๋ขฐ์„ฑ ๋ฐ ์•ˆ์ •์„ฑ: ์ „ ์„ธ๊ณ„์— ๊ฑธ์ณ ์žˆ๋Š” AWS ๋ฆฌ์ „๊ณผ ๊ฐ€์šฉ ์˜์—ญ์„ ํ†ตํ•ด ๊ณ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.
  • ์ž๋™ํ™” ๋ฐ ๋ฐฐํฌ: CodeDeploy, Elastic Beanstalk, App Runner ๋“ฑ ๋‹ค์–‘ํ•œ ์ž๋™ ๋ฐฐํฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

CodeDeploy

  • CI/CD๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๊ณ  ๋ฐฐํฌ ์ „๋žต์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ
  • EC2, ECS์— ์ง์ ‘ ๋ฐฐํฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ EC2, Lambda, ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„์— ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•ด์ฃผ๋Š” ์„œ๋น„์Šค
  • ๋ฐฐํฌ ์ „๋žต(Blue/Green, In-place)์„ ์ง€์›ํ•˜๋ฉฐ ๋ฐฐํฌ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด ์ž๋™ ๋กค๋ฐฑ๋„ ๊ฐ€๋Šฅ
  • CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ์— ์ž์ฃผ ์‚ฌ์šฉ๋จ
    • CodePipeline๊ณผ ํ•จ๊ป˜ ์“ฐ๋ฉด ๊ฐ•๋ ฅ
  • ์ฝ”๋“œ ๋ฐฐํฌ ์ž์ฒด์—๋งŒ ์ง‘์ค‘ํ•œ ์„œ๋น„์Šค
    • ์„œ๋ฒ„ ๊ด€๋ฆฌ ์ธํ”„๋ผ๋Š” ์ง์ ‘

Elastic Beanstalk

  • ์„œ๋ฒ„๋Š” ์ง์ ‘ ์“ฐ๊ณ  ์‹ถ์ง€๋งŒ ๋„ˆ๋ฌด ๋ฒˆ๊ฑฐ๋กœ์šด ๊ฑด ํ”ผํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ
  • ์ต์ˆ™ํ•œ ํ™˜๊ฒฝ์—์„œ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•ด๋ณด๊ณ  ์‹ถ์€ ์Šคํƒ€ํŠธ์—…์ด๋‚˜ ํŒ€์—์„œ ๊ณ ๋ คํ•ด๋ณด๋ฉด ์ข‹์Œ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ์—…๋กœ๋“œํ•˜๋ฉด ๋‚˜๋จธ์ง€ ์ธํ”„๋ผ ์ƒ์„ฑ๋ถ€ํ„ฐ ๋ฐฐํฌ, ์Šค์ผ€์ผ๋ง๊นŒ์ง€ AWS๊ฐ€ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๋Š” PaaS (Platform as a Service)
  • Java, Node.js, Python, PHP ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ์ง€์›
  • EC2, RDS, Load Balancer ๋“ฑ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ AWS๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์ •ํ•ด์คŒ
  • ์ธํ”„๋ผ๋Š” ์ž๋™ํ™”๋˜์ง€๋งŒ ํ•„์š” ์‹œ EC2 ์„ค์ • ๊ฐ™์€ ๋ถ€๋ถ„๋„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅ

App Runner

  • ๋น ๋ฅด๊ฒŒ ์‹ค์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ์Šคํƒ€ํŠธ์—…, ํ˜น์€ ํ…Œ์ŠคํŠธ ์„œ๋น„์Šค ๋“ฑ
  • ์ธํ”„๋ผ๋ฅผ ์‹ ๊ฒฝ์“ฐ๊ณ  ์‹ถ์ง€ ์•Š์€ ํ”„๋ก ํŠธ์—”๋“œ ๋˜๋Š” ๋ฐฑ์—”๋“œ
  • ์†Œ์Šค ์ฝ”๋“œ(GitHub) ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€(ECR)๋งŒ ์—ฐ๊ฒฐํ•˜๋ฉด ์ž๋™์œผ๋กœ ์›น ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์™„์ „ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค
    • ์„œ๋ฒ„? ์ธํ”„๋ผ? ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Œ
  • ์„œ๋ฒ„๋ฆฌ์Šค ๊ฐœ๋…: EC2, Load Balancer, Auto Scaling ๋“ฑ์€ AWS๊ฐ€ ์ „๋ถ€ ๊ด€๋ฆฌ
  • CI/CD ์ž๋™ํ™” ๊ฐ€๋Šฅ(์ปค๋ฐ‹ํ•˜๋ฉด ์ž๋™ ๋ฐฐํฌ)
  • ๊ธฐ๋ณธ์ ์ธ ์›น ์„œ๋น„์Šค ์šด์˜์—๋งŒ ์ง‘์ค‘ ๊ฐ€๋Šฅ

์„ธ ๊ฐ€์ง€ ์š”์•ฝ ๋น„๊ต

ํ•ญ๋ชฉCodeDeployElastic BeanstalkApp Runner
๋ฐฐํฌ ๋Œ€์ƒEC2, ECS, Lambda ๋“ฑEC2 ๊ธฐ๋ฐ˜ ์›น ์•ฑ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
์ธํ”„๋ผ ๊ด€๋ฆฌ์ง์ ‘ ์„ค์ •์ž๋™ ์„ค์ •, ํ•„์š” ์‹œ ์กฐ์ • ๊ฐ€๋Šฅ์ „๋ถ€ AWS๊ฐ€ ๊ด€๋ฆฌ
๋ฐฐํฌ ์ „๋žต์„ธ๋ฐ€ํ•œ ์ „๋žต ์„ค์ • ๊ฐ€๋Šฅ๊ธฐ๋ณธ ๋ฐฐํฌ์ž๋™ CI/CD ์ง€์›
์„œ๋ฒ„ ์ ‘๊ทผ๊ฐ€๋Šฅ๊ฐ€๋Šฅ๋ถˆ๊ฐ€๋Šฅ (์„œ๋ฒ„๋ฆฌ์Šค)
๋‚œ์ด๋„๋†’์Œ์ค‘๊ฐ„๊ฐ€์žฅ ์‰ฌ์›€
์ถ”์ฒœ ๋Œ€์ƒDevOps ํŒ€, ๋Œ€๊ทœ๋ชจ ์šด์˜๋น ๋ฅธ ๋ฐฐํฌ & ์ปค์Šคํ„ฐ๋งˆ์ด์ง•๋น ๋ฅด๊ฒŒ ์„œ๋น„์Šค ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

ํ˜„์‹ค์ ์ธ ๊ณผ๊ธˆ๊ณผ ๋ณด์•ˆ ๊ฑฑ์ •

๋ฌด๋ฃŒ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค

Tip

์‹ค์Šต์šฉ์ด๋ผ๋ฉด t2.micro ๋˜๋Š” t3.micro, RDS free tier, S3 5GB ์ดํ•˜๋กœ๋งŒ ์‚ฌ์šฉํ•ด๋„ ์ถฉ๋ถ„ํžˆ ์—ฐ์Šต ๊ฐ€๋Šฅ

  • ๋ฌด๋ฃŒ ํ‹ฐ์–ด(Free Tier)๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ AWS ์ฃผ์š” ์„œ๋น„์Šค๋ฅผ 12๊ฐœ์›”๊ฐ„ ๋˜๋Š” ์˜๊ตฌ์ ์œผ๋กœ ๋ฌด๋ฃŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์‹ค์ˆ˜๋กœ ๊ณผ๊ธˆ๋ ๊นŒ ๋ด ๋ถˆ์•ˆํ•˜๋‹ค๋ฉด
    • ๊ณผ๊ธˆ ์•Œ๋ฆฝ(AWS Budgets)์„ ์„ค์ •ํ•ด์„œ ์›” ์˜ˆ์‚ฐ์„ ์ดˆ๊ณผํ•˜๋ฉด ์ด๋ฉ”์ผ/SMS๋กœ ์•Œ๋ฆผ
  • ๊ฐœ๋ฐœ ์ค‘์ธ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์€ ๋ฐ˜๋“œ์‹œ ์ข…๋ฃŒ(terminate) ๋˜๋Š” ์ž๋™ ์ค‘์ง€ ์Šค์ผ€์ค„ ์„ค์ •ํ•˜๋Š” ์Šต๊ด€์ด ์ค‘์š”

๊ธฐ๋ณธ๋งŒ ์ง€์ผœ๋„ ์•ˆ์ „ํ•˜๋‹ค

Info

AWS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์•ˆ ์ฑ…์ž„์„ ๊ณต์œ ํ•˜๋Š” ๊ตฌ์กฐ (Shared Responsibility Model) ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ์„ผํ„ฐ ๋ณด์•ˆ์€ AWS๊ฐ€, ๊ณ„์ •, ๋ฐ์ดํ„ฐ, ์ ‘๊ทผ ์ œ์–ด ๋“ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ฑ…์ž„์ง„๋‹ค. ํ•˜์ง€๋งŒ AWS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์™€ ์ •์ฑ…์„ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋ณด์•ˆ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • AWS๋Š” ์„ธ๊ณ„ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ๋ณด์•ˆ ์ธํ”„๋ผ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ๋‹ค.
  • ๋‹ค๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋ณธ ์„ค์ •์„ ์ž˜๋ชปํ•˜๋ฉด ๋ณด์•ˆ ์ด์Šˆ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ์‰ฝ๋‹ค.
ํ•„์ˆ˜ ๋ณด์•ˆ ์ˆ˜์น™ 3๊ฐ€์ง€
  1. IAM Root ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ๊ธˆ์ง€
  2. ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ๋งŒ๋“ค์–ด MFA(์ด์ค‘ ์ธ์ฆ) ์„ค์ •
  3. ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ
    • S3 ๋ฒ„ํ‚ท, EC2 ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ • ํ™•์ธ (๊ธฐ๋ณธ์ ์œผ๋กœ ์—ด๋ ค ์žˆ์Œ)
    • CloudTrail, GuardDuty ํ™œ์„ฑํ™”
      • ๋ณด์•ˆ ๋กœ๊ทธ ๊ธฐ๋ก๊ณผ ์ด์ƒ ํƒ์ง€๋ฅผ ์ž๋™ํ™”

๐ŸŽฏ๊ฒฐ๋ก 

Tip

โ€œAWS๋Š” ๋‹จ์ˆœํ•œ ์„œ๋ฒ„ ํ˜ธ์ŠคํŒ…์ด ์•„๋‹ˆ๋ผ, ๊ฐœ๋ฐœ์ž์˜ ์†๋„๋ฅผ ๋†’์ด๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค์˜ ํ™•์žฅ์„ ๋•๋Š” โ€˜๊ธฐ์ˆ  ๊ธฐ๋ฐ˜ ๋น„์ฆˆ๋‹ˆ์Šค ํ”Œ๋žซํผโ€™์ด๋‹ค.โ€

์ด์ œ ํด๋ผ์šฐ๋“œ๋Š” ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ๊ธฐ๋ณธ์ด๋‹ค.
์—ฌ์ „ํžˆ ๊ฐ์ž์˜ ๋ฐฉ์‹์ด ์žˆ๊ณ , ๋กœ์ปฌ ์„œ๋ฒ„๋‚˜ ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์ด ํ•„์š”ํ•œ ๊ณณ๋„ ์กด์žฌํ•˜์ง€๋งŒ, AWS๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ โ€˜ํ˜„๋Œ€์ ์ธ ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„์˜ ๊ณตํ†ต ์–ธ์–ดโ€™๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

๋ฐฐํฌ ์†๋„, ์•ˆ์ •์„ฑ, ํ™•์žฅ์„ฑ, ์ž๋™ํ™”โ€ฆ ์šฐ๋ฆฌ๊ฐ€ ์ œํ’ˆ์„ ๋งŒ๋“ค ๋•Œ ๋ถ€๋”ชํžˆ๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์ธํ”„๋ผ ๋ฌธ์ œ๋ฅผ AWS๋Š” ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ ํ•ด๊ฒฐํ•ด์ค€๋‹ค. ๊ฒฐ๊ตญ ์ค‘์š”ํ•œ ๊ฑด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๋‚˜์€ ๊ฒฝํ—˜์„ ๋” ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โš™๏ธEndNote

์‚ฌ์ „ ์ง€์‹

  • ๊ธฐ๋ณธ์ ์ธ ์›น ์„œ๋น„์Šค ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด (ํด๋ผ์ด์–ธํŠธโ€“์„œ๋ฒ„ ๊ตฌ์กฐ)
  • HTTP, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํŒŒ์ผ ์ €์žฅ์†Œ ๋“ฑ์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ์ง€์‹
  • IaaS, PaaS, SaaS ๊ฐœ๋…

๋” ์•Œ์•„๋ณด๊ธฐ