Contents

6. AWS Elastic Compute Cloud (EC2) - Associate

AWS Certified SAA-C02 ์‹œํ—˜์ค€๋น„

Private vs Public IP (IPv4)

  • ๋„คํŠธ์›Œํฌ๋Š” IPv4, IPv6 ๋‘ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • IPv4 : 1.160.10.240
    • IPv6 : 3ffe:1900:4545:3:200:f8ff:fe21:67cf
  • ๋Œ€๋ถ€๋ถ„์˜ ์˜จ๋ผ์ธ์—์„œ๋Š” IPv4๋ฅผ ๋ฒ”์šฉ์ ์œผ๋กœ ์‚ฌ์šฉ
  • IPv6 ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท(IoT) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ ๋“ฑ์žฅํ•จ
  • IPv4๋Š” ํผ๋ธ”๋ฆญ ์˜์—ญ์—์„œ 37์–ต๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์†Œ๋ฅผ ํ—ˆ์šฉ
  • IPv4:[0-255].[0-255].[0-255].[0-255]

Private vs Public IP ์ฐจ์ด์ 

Public IP

  • Public IP๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ธํ„ฐ๋„ท์ƒ(WWW)์—์„œ ์‹๋ณ„๋  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธ
  • ์ „์ฒด ์›น์—์„œ ๊ณ ์œ ํ•ด์•ผ ํ•œ๋‹ค. (๋‘ ๊ฐœ์˜ ๋จธ์‹ ์ด ๊ฐ™์€ public IP๋ฅผ ๊ฐ–์„ ์ˆ˜ ์—†๋‹ค)
  • ์‰ฝ๊ฒŒ ์ง€๋ฆฌ์  ์œ„์น˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ

Private IP

  • Private IP๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ๋ง์—์„œ๋งŒ ์‹๋ณ„๋  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธ
  • IP๋Š” ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ์—์„œ ๊ณ ์œ ํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ๋ง(๋‘ ๊ฐœ์˜ ํšŒ์‚ฌ)์—์„œ๋Š” ๊ฐ™์€ IP๋ฅผ ๊ฐ–์„ ์ˆ˜ ์žˆ์Œ.
  • ์ปดํ“จํ„ฐ๋Š” WWW๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ NAT + Internet gateway(a proxy)๋ฅผ ์‚ฌ์šฉ
  • Private IP๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” IP ๋ฒ”์œ„๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์Œ

Elastic IP

  • EC2 ์ธ์Šคํ„ด์Šค๋Š” ์žฌ์‹œ์ž‘์‹œ Public IP๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š”๋ฐ ์ด๊ฒƒ์„ ๊ณ ์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด Elasitc IP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

  • Elastic IP๋Š” IPv4์ด๋ฉฐ ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค์—๋งŒ ์„ค์ • ๊ฐ€๋Šฅ

  • Elastic IP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์˜ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์— ๋น ๋ฅด๊ฒŒ ๋งคํ•‘ํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๋งˆ์Šคํ‚นํ•  ์ˆ˜ ์žˆ์Œ.

  • ๊ณ„์ • ๋‹น 5๊ฐœ๊นŒ์ง€ (์ฆ๊ฐ€ ๊ฐ€๋Šฅ)

    ์ „๋ฐ˜์ ์œผ๋กœ๋Š” Elastic IP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • ์ข…์ข… ์ž˜๋ชป๋œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒ
    • ๋Œ€์‹  ์ž„์˜์˜ public IP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  DNS ์ด๋ฆ„์„ ๋“ฑ๋ก
    • ๋˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  Elastic IP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

Placement Groups - ๋ฐฐ์น˜ ๊ทธ๋ฃน

/posts/images/aws/placement-groups.jpg
  • EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ AWS ์ธํ”„๋ผ์— ๋ฐฐ์น˜๋˜๋Š” ๋ฐฉ์‹์„ ๋ฐฐ์น˜ ๊ทธ๋ฃน(Placement Groups) ์ „๋žต์„ ํ†ตํ•ด ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐฐ์น˜ ๊ทธ๋ฃน ์ „๋žต
    ์ „๋žต
    Cluster ๋‹จ์ผ AZ์—์„œ ์ง€์—ฐ์‹œ๊ฐ„์ด ์งง์€ ๊ทธ๋ฃน์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋ง
    Spread ๊ธฐ๋ณธ ํ•˜๋“œ์›จ์–ด ์ „์ฒด์— ์ธ์Šคํ„ด์Šค ๋ถ„์‚ฐ(AZ ๊ทธ๋ฃน๋‹น ์ตœ๋Œ€ 7๊ฐœ ์ธ์Šคํ„ด์Šค)
    Partition AZ ๋‚ด ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜(๋‹ค์–‘ํ•œ racks ์„ธํŠธ ์˜์กด)์— ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„์‚ฐ. ๊ทธ๋ฃน๋‹น 100๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค๋กœ ํ™•์žฅ(Hadoop, Cassandera, Kafka)

Cluster ๋ฐฐ์น˜ ๊ทธ๋ฃน

  • ์žฅ์  : ๋›ฐ์–ด๋‚œ ๋„คํŠธ์›Œํฌ(ํ–ฅ์ƒ๋œ ๋„คํŠธ์›Œํฌ ํ™œ์„ฑํ™”๋œ ์ธ์Šคํ„ด์Šค๊ฐ„ 10Gbps ๋Œ€์—ญํญ - ๊ถŒ์žฅ)
  • ๋‹จ์  : ๋ž™์ด ์‹คํŒจํ•˜๋ฉด ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๊ฐ€ ๋™์‹œ์— ์‹คํŒจ
  • ์‚ฌ์šฉ์‚ฌ๋ก€ :
    • ๋น ๋ฅธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๋น…๋ฐ์ดํ„ฐ ์—…๋ฌด
    • ๋งค์šฐ ์งง์€ ์ง€์—ฐ์‹œ๊ฐ„๊ณผ ๋†’์€ ๋„คํŠธ์›Œํฌ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

Spread ๋ฐฐ์น˜ ๊ทธ๋ฃน

  • ์žฅ์ 
    • AZ ๊ฑธ์ณ ํ™•์žฅ ๊ฐ€๋Šฅ
    • ๋™์‹œ ์žฅ์• ๋กœ ์ธํ•œ ์œ„ํ—˜ ๊ฐ์†Œ
    • EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ์  ํ•˜๋“œ์›จ์–ด์žˆ์Œ
  • ๋‹จ์  : ๋ฐฐ์น˜ ๊ทธ๋ฃน AZ ๋‹น 7๊ฐœ์˜ ์ธ์Šคํ„ด์Šค ์ œํ•œ
  • ์‚ฌ์šฉ์‚ฌ๋ก€:
    • ๊ณ ๊ฐ€์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•ด์•ผ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
    • ๊ฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ์„œ๋กœ์˜ ์žฅ์• ๋กœ๋ถ€ํ„ฐ ๊ฒฉ๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ค‘์š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

Partition ๋ฐฐ์น˜ ๊ทธ๋ฃน

  • AZ ๋‹น ์ตœ๋Œ€ 7๊ฐœ์˜ ํŒŒ๋””์…˜
  • ๊ฐ™์€ ๋ฆฌ์ ผ์—์„œ ์—ฌ๋Ÿฌ AZ๋ฅผ ๊ฑธ์ณ ํ™•์žฅ๊ฐ€๋Šฅ
  • ์ตœ๋Œ€ 100๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค
  • ํŒŒํ‹ฐ์…˜ ๋‚ด ์ธ์Šคํ„ด์Šค๋Š” ๋‹ค๋ฅธ ํŒŒ๋””์…˜ ๋‚ด ์ธ์Šคํ„ด์Šค์™€ ๋ž™์„ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํŒŒํ‹ฐ์…˜ ์˜ค๋ฅ˜๋Š” ๋งŽ์€ EC2์—๊ฒŒ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜์žˆ์œผ๋‚˜ ๋‹ค๋ฅธ ํŒŒํ‹ฐ์…˜์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ
  • EC2 ์ธ์Šคํ„ด์Šค๋Š” ํŒŒํ‹ฐ์…˜ ์ •๋ณด์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์•ก์„ธ์Šค ๊ฐ€๋Šฅ
  • ์‚ฌ์šฉ์‚ฌ๋ก€ : HDFS, HBase, Cassandra, Kafka

Elastic Network Interfaces (ENI)

  • ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์นด๋“œ(virtual network card) ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” VPC์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์„ฑ์š”์†Œ

  • ENI๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์žฅ์• ์กฐ์น˜๋ฅผ ์œ„ํ•ด EC2 ์ธ์Šคํ„ด์Šค์—์„œ ์ฆ‰์ด ์—ฐ๊ฒฐ(์ด๋™) ๊ฐ€๋Šฅ

  • ํŠน์ • AZ์— ๋ฐ”์ธ๋”ฉ

    ENI ๊ตฌ์„ฑ์š”์†Œ
    • ๊ธฐ๋ณธ private IPv4, ํ•˜๋‚˜ ์ด์ƒ์˜ secondary IPv4
    • private IPv4 ๋‹น ํ•˜๋‚˜์˜ Elastic IP(IPv4)
    • ํ•˜๋‚˜์˜ Public IPv4
    • ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ณด์•ˆ ๊ทธ๋ฃน
    • MAC Address

EC2 Hibernate

์ธ์Šคํ„ด์Šค ์ค‘์ง€ ๋ฐ ์ข…๋ฃŒ
  • Stop(์ค‘์ง€) : ๋ฐ์ดํ„ฐ ๋””์Šคํฌ(EBS)๋Š” ๋‹ค์Œ ์ธ์Šคํ„ด์Šค ์žฌ์‹œ์ž‘๊นŒ์ง€ ์œ ์ง€
  • Terminate(์ข…๋ฃŒ) : EBS ๋ณผ๋ฅจ(๋ฃจํŠธ)์ด ์‚ญ์ œ๋˜๊ฒŒ ์„ค์ •ํ–ˆ๋‹ค๋ฉด ์‚ญ์ œ
์ธ์Šคํ„ด์Šค ์‹œ์ž‘์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ด ๋ฐœ์ƒํ•œ๋‹ค.
  • First start : OS boots & EC2 ์ธ์Šคํ„ด์Šค Data script ์‹คํ–‰
  • Following starts : OS boots up
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ๋ฐ ์บ์‹œ ์ค€๋น„

EC2 Hibernate ์†Œ๊ฐœ

  • in-memory(RAM) ์ƒํƒœ๊ฐ€ ์œ ์ง€๋œ๋‹ค.
  • ์ธ์Šคํ„ด์Šค ๋ถ€ํŒ…์ด ๋” ๋น ๋ฅด๋‹ค. (OS๊ฐ€ ์ค‘์ง€/์žฌ์‹œ์ž‘ ๋˜์ง€ ์•Š์Œ)
  • Under the hood: RAM ์ƒํƒœ๊ฐ€ ๋ฃจํŠธ EBS ๋ณผ๋ฅจ ํŒŒ์ผ์— ๊ธฐ๋ก๋œ๋‹ค.
  • ๋ฃจํŠธ EBS ๋ณผ๋ฅจ์„ ์•”ํ˜ธํ™” ํ•ด์•ผ ํ•œ๋‹ค.

EC2 Hibernate Use cases

  • ์˜ค๋ž˜ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค
  • RAM์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ์„œ๋น„์Šค ์ดˆ๊ธฐํ™” ์‹œ๊ฐ„์— ์ด์šฉ

์ฃผ์š” ์‚ฌํ•ญ

  • ์ง€์› ๋˜๋Š” ์ธ์Šคํ„ด์Šค ์ œํ’ˆ๊ตฐ : C3, C4, C5, I3, M3, M4, R3, R4,T2,T3, …
  • ์ธ์Šคํ„ด์Šค RAM Size : ๋ฐ˜๋“œ์‹œ 150 GB ๋ฏธ๋งŒ
  • ์ธ์Šคํ„ด์Šค Size : bare metal ์ธ์Šคํ„ด์Šค์—๋Š” ์ ์šฉ ๋ถˆ๊ฐ€
  • AMI : Amazon Linux 2, Linux AMI, Ubuntu, RHEL, CentOS & Windows…
  • Root Volume : EBS๋งŒ ๊ฐ€๋Šฅ. ์•”ํ˜ธํ™”๊ฐ€ ํ•„์š”. ์ถฉ๋ถ„ํ•œ ์šฉ๋Ÿ‰์ด์–ด์•ผ ํ•˜๋ฉฐ instance store ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ.
  • On-Demand, Reserved, Spot ์ธ์Šคํ„ด์Šค ๊ฐ€๋Šฅ
  • ์ธ์Šคํ„ด์Šค๋Š” 60์ผ ์ด์ƒ ์ตœ๋Œ€ ์ ˆ์ „๋ชจ๋“œ๋กœ ์ „ํ™˜ ๋ถˆ๊ฐ€

EC2 Nitro

  • ์ฐจ์„ธ๋Œ€ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ํ”Œ๋žซํผ
  • ์ƒˆ๋กœ์šด ๊ฐ€์ƒํ™” ๊ธฐ์ˆ 
  • ์„ฑ๋Šฅ ํ–ฅ์ƒ
    • ํ–ฅ์ƒ๋œ ๋„คํŠธ์›Œํ‚น ์˜ต์…˜(ํ–ฅ์ƒ๋œ ๋„คํŠธ์›Œํ‚น, HPC, IPv6)
    • ๊ณ ์† EBS(Nitro๋Š” 64,000 EBS IOPS ํ•„์š” - Nitro๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์ตœ๋Œ€ 32,000)
  • ๊ธฐ๋ณธ ๋ณด์•ˆ ํ–ฅ์ƒ
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜•
    • Virtualized : A1,C5,C5a,C5ad,C5d,C5n,C6g,C6gd,C6gn,D3,D3en,G4,I3en,Inf1,M5, M5a, M5ad, M5d, M5dn, M5n, ….
    • Bare metal : a1.metal, c5.metal, c5d.metal, c5n.metal, c6g.metal, c6gd.metal…

vCPU ์ดํ•ดํ•˜๊ธฐ

/posts/images/aws/vcpu.jpg
  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋ฅผ CPU์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. multithreading
  • ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ๊ฐ€์ƒ CPU(vCPU)๋กœ ํ‘œ์‹œ

    m5.2xlarge : 4 CPU, 2 Thread per CPU => 8 vCPU in total

EC2 Optimizing CPU ์˜ต์…˜

  • EC2 ์ธ์Šคํ„ด์Šค๋Š” RAM๊ณผ vCPU์˜ ์กฐํ•ฉ์œผ๋กœ ํ•จ๊ป˜ ์ œ๊ณต
  • ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ vCPU ์˜ต์…˜์„ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    options
    of CPU cores ยท ๋†’์€ RAM๊ณผ ์ ์€ ์ˆ˜์˜ CPU๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์œ ์šฉ
    ยท ๋ผ์ด์„ผ์Šค ๋น„์šฉ ์ ˆ๊ฐ
    of threads per core ยท CPU ๋‹น ์Šค๋ ˆ๋“œ ์ˆ˜๊ฐ€ 1 ๊ฐœ์ธ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๋น„ํ™œ์„ฑํ™” - HPC ์›Œํฌ๋กœ๋“œ์— ์œ ์šฉ
  • ์ธ์Šคํ„ด์Šค ์‹คํ–‰ ์ค‘์—๋งŒ ์ง€์ •

EC2 Capacity Reservations

  • ์šฉ๋Ÿ‰ ์˜ˆ์•ฝ์„ ํ†ตํ•ด ํ•„์š”ํ•  ๋•Œ EC2 ์šฉ๋Ÿ‰ ํ™•๋ณด
  • ์ˆ˜๋™ ๋˜๋Š” ์ข…๋ฃŒ ์ผ์ž๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 1๋…„ ๋˜๋Š” 3๋…„ ์•ฝ์ • ๋ถˆํ•„์š”
  • Capacity ์•ก์„ธ์Šค๋Š” ์ฆ‰์‹œ ์ด๋ฃจ์–ด์ง€๋ฉฐ ์‹œ์ž‘ํ•˜์ž๋งˆ์ž ์ฒญ๊ตฌ
  • ์˜ˆ์•ฝ๋œ ์ธ์Šคํ„ด์Šค ๋ฐ ์ ˆ๊ฐ ๊ณ„ํš๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋น„์šฉ ์ ˆ๊ฐ

์ง€์ • ์‚ฌํ•ญ

  • ์šฉ๋Ÿ‰์„ ์˜ˆ์•ฝํ•  AZ(ํ•œ๊ฐœ๋งŒ)
  • ์šฉ๋Ÿ‰์„ ์˜ˆ์•ฝํ•  ์ธ์Šคํ„ด์Šค ์ˆ˜
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜•, tenancy ๋ฐ ํ”Œ๋žซํผ/OS๋ฅผ ํฌํ•จํ•œ ์ธ์Šคํ„ด์Šค์˜ ํŠน์„ฑ /posts/images/aws/capacity-reservation.png