AWS: EC2

    AWS: EC2

    2022, Sep 12    

    EC2(Elastic Compute Cloud)

    ํด๋ผ์šฐ๋“œ์—์„œ ํฌ๊ธฐ๊ฐ€ ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ๋œ๋‹ค.
    ๋””์Šคํฌ ์‚ฌ์šฉํฌ๊ธฐ์˜ ์˜ˆ์ธก์ด ๋ถˆ๊ฐ€ํ•œ ํ˜„ ์‹œ๋Œ€์— ์œ ์—ฐํ•˜๊ฒŒ ๋””์Šคํฌ ํฌ๊ธฐ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

    EC2 Paymethod

    • On-demand
      • ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๊ฐ€๊ฒฉ์ด ๊ณ ์ •
    • Reserved
      • ํ•œ์ •๋œ EC2 ์šฉ๋Ÿ‰ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, 1~3๋…„ ๋™์•ˆ ์‹œ๊ฐ„๋ณ„๋กœ ํ• ์ธ ์ ์šฉ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
      • On-demand์™€ ๋‹ฌ๋ฆฌ ์ƒ๋Œ€์ ์œผ๋กœ ์ €๋ ดํ•˜๋ฉฐ, ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ž์‹ ์ด ํŠน์ •ํ•œ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค.
    • Spot
      • ์ž…์ฐฐ ๊ฐ€๊ฒฉ ์ ์šฉ
      • ํ• ์ธ๋ฅ ์ด ๊ฐ€์žฅ ํผ
      • ์ธ์Šคํ„ด์Šค ๊ธฐ๊ฐ„(์‹œ์ž‘๊ณผ ๋)์ด ์ค‘์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ์œ ์šฉ

    ์‚ฌ์šฉ ์šฉ๋ก€

    1. On-demand
      • ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ๋น„์šฉ ๋ฐœ์ƒ
      • ์›น/์•ฑ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์‹œ ์ตœ์ดˆ EC2 ์ธ์Šคํ„ด์Šค์— deploy ํ•  ๋•Œ ์œ ์šฉ
    2. Reserved
      • ๊ฐœ๋ฐœ์˜ ์‹œ์ž‘๊ณผ ๋์„ ์•Œ ์ˆ˜ ์žˆ์„ ๋•Œ ๊ถŒ์žฅ
      • ๊ฐœ๋ฐœ์‹œ๊ฐ„์˜ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ํ• ์ธ์ด ํฌ๋‹ค.
    3. Spot
      • ๋ณธ์ธ์ด ์ง€๋ถˆ ๊ฐ€๋Šฅํ•œ ๊ธˆ์•ก๋Œ€์— ๊ฐ€๊ฒฉ์ด ํ˜•์„ฑ๋˜๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ํ™œ์„ฑํ™”๋˜๋Š” ํ˜•ํƒœ
      • ๋‹จ์ˆœ ๋น„์šฉ ์ ˆ๊ฐ ์ฐจ์›์—์„œ ์œ ์šฉ

    EC2 ๊ตฌ์„ฑ์š”์†Œ

    • EBS(Elastic Block Storage)
      • EC2 ๋‚ด ๊ฐ€์ƒ๋””์Šคํฌ like ํ•˜๋“œ๋””์Šคํฌ
      • ์ €์žฅ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋˜์–ด์ง€๋ฉฐ EC2 ์ธ์Šคํ„ด์Šค์— ๋ถ€์ฐฉ
      • ๋””์Šคํฌ ๋ณผ๋ฅจ ์œ„์— File System ์ƒ์„ฑ
      • EBS๋Š” ํŠน์ • Availability Zone์— ์ƒ์„ฑ
        • Availability Zone(AZ)
          • ํ•˜๋‚˜์˜ region ์•ˆ์— ์—ฌ๋Ÿฌ AZ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ
          • ์œ ์‚ฌ ์‹œ ํ•œ์ชฝ ์„œ๋ฒ„๊ฐ€ ๋ง๊ฐ€์ง€๊ฑฐ๋‚˜ ์…ง๋‹ค์šด๋˜๋ฉด AZ๋ผ๋Š” ๋ฐฑ์—…์„ ํ†ตํ•ด ์ง€์†์  ์„œ๋น„์Šค ์ œ๊ณต์ด ๊ฐ€๋Šฅ
    • EBS ๋ณผ๋ฅจ ํƒ€์ž…
      • SSD ๊ตฐ
        1. General Purpose SSD(GP2) : SSD ์ค‘ ๊ฐ€์žฅ ๋ณดํŽธ์ 
        2. Provisioned IOPS SSD (IO1) : ์ž…์ถœ๋ ฅ์ด ๋ฐฉ๋Œ€ํ•˜๊ณ  ๋นˆ๋ฒˆํ•œ ๊ฒฝ์šฐ
      • Magnetic / HDD ๊ตฐ
        1. Throughput Optimized (ST1) : ๋น…๋ฐ์ดํ„ฐ, ๋กœ๊ทธ ๋“ฑ Boot volume ๋ถˆ๊ฐ€
        2. CDD HDD (SC1) : ์ž…์ถœ๋ ฅ์ด ๋“œ๋ฌธ ํŒŒ์ผ์„œ๋ฒ„, Boot volume ๋ถˆ๊ฐ€
        3. Magnetic (Standard) : ๊ฐ€์žฅ ์ €๋ ดํ•˜๋ฉฐ Boot volume ๊ฐ€๋Šฅ
    • ELB(Elastic Load Balancers)
      • ์›น ์ƒ์—์„œ ํ๋ฅด๋Š” ์ˆ˜๋งŽ์€ ์„œ๋ฒ„์˜ ํ๋ฆ„์„ ํ•œ์ชฝ์œผ๋กœ ์น˜์šฐ์น˜์ง€ ์•Š๊ณ  ๊ท ํ˜•์žˆ๊ฒŒ ๋ฐฐ๋ถ„ํ•ด ๋ณ‘๋ชฉํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
      • ์„œ๋ฒ„์˜ ์›ํ™œํ•œ ํ๋ฆ„ ๋ฐ ์†๋„, ์•ˆ์ •์— ์šฉ์ดํ•จ
      • ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ด์œ ์— ์˜ํ•ด Unhealthyํ•œ instance์— ํ๋ฆ„์„ ํƒœ์šฐ์ง€ ์•Š๊ณ  healthy instance๋กœ ํ๋ฆ„์„ ์ œ์–ดํ•œ๋‹ค.
    • ELB ์ข…๋ฅ˜
      1. Application Load Balancer : OSI Layer7์—์„œ ์ž‘๋™
        • HTTP, HTTPS์™€ ๊ฐ™์€ traffic์˜ load balancing์— ๊ฐ€์žฅ ์ ํ•ฉ
        • ๋”ฐ๋กœ ๋ผ์šฐํŒ… ์„ค์ • ๊ฐ€๋Šฅ -> ๊ณ ๊ธ‰ Request ๋ผ์šฐํŒ… ์„ค์ •์„ ํ†ตํ•ด ํŠน์ • ์„œ๋ฒ„๋กœ request๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ
      2. Network Load Balancer : OSI Layer4์—์„œ ์ž‘๋™, ๋งค์šฐ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  Production ํ™˜๊ฒฝ์—์„œ ์ข…์ข… ์“ฐ์ž„
        • ๊ทน๋„์˜ performance๊ฐ€ ์š”๊ตฌ๋˜๋Š” TCP traffic ์—์„œ ์ ํ•ฉ
        • ์•„์ฃผ ๊ฐ•๋ ฅํ•˜์—ฌ ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ๊ฐœ์˜ request๋ฅผ ์•„์ฃผ ๋ฏธ์„ธํ•œ delay๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
      3. Classic Load Balancer : ํ˜„์žฌ Legacy๋กœ ๊ฐ„์ฃผ๋จ, ๋”ฐ๋ผ์„œ ๊ฑฐ์˜ ์“ฐ์ด์ง„ ์•Š์Œ
        • Layer7์˜ HTTP/HTTPS ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ ์ง€์›
        • Layer4์˜ TCP traffic ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ ์ง€์›
    • OSI Layers (TODO ์žฌํ™•์ธํ•ด์„œ ์ •๋ฆฌํ•  ๊ฒƒ)
      • Application(Out-Side : OSI Layer7)
        • End User Layer
        • HTTP, FTP, IRC, SSH, DNS
      • Presentation
        • Syntax Layer
        • SSL, SSH, UMAP, FTP, MPEG, JPEG
      • Session
        • Synch & send to port
        • APIโ€™s, Sockets, WinSock
      • Transport
        • End to-end connections
        • TCP, UDP
      • Network(OSI Layer4)
        • Packets
        • IP, ICMP, IPSec, IGMP
      • Data Link
        • Frames
        • Ethernet, PPP, Switch, Bridge
      • Physical(In-Side)
        • Physical structure
        • Coax, Fiber, Wirerless, Hubs, Repeaters

    ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ(ELB:Elastic Load Balancers) ์—๋Ÿฌ

    EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์–ธ์ œ๋‚˜ ์ •์ƒ ์ž‘๋™ํ•œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๋‹ค.
    ELB๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ์˜ 504(504Gateway Time-out)์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
    ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๋Š” ์ฃผ๋กœ ์›น์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ์ด์–ด์—์„œ ๋ฌธ์ œํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•œ ์ •๋„

    X-Forwarded-For Header

    1. 100.10.30.200 (public IP address)
    2. ์ด IP๋Š” DNS Reqeust๋ฅผ ํ†ตํ•ด ELB์— ๋„๋‹ฌํ•œ๋‹ค.
    3. ์ด ELB๋Š” Request๋ฅผ ๋ฐ›๊ณ  10.0.0.20 ์ด๋ผ๋Š” private ip address๋กœ ์ธ์‹์„ ํ•œ๋‹ค.
    4. ๊ทธ๋ฆฌ๊ณ  EC2 ์ธ์Šคํ„ด์Šค๋กœ ์ด request ์ „์†กํ•˜์—ฌ EC2๋Š” ์ด ์š”์ฒญ์„ ์‚ดํ”ผ๊ฒŒ ๋œ๋‹ค.
    5. ์ด๋•Œ EC2๋Š” private ip address ๋ฐ–์— ๋ณผ ์ˆ˜๊ฐ€ ์—†์–ด ์ถœ์ฒ˜๋ฅผ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค.
    6. ์ด๋Ÿด ๋•Œ X-Forwarded-For Header ํ†ตํ•ด public ip address ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    Route 53

    AWS์—์„œ ์ œ๊ณตํ•˜๋Š” DNS ์„œ๋น„์Šค ์ฆ‰, ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ๊ตฌ๋งคํ•˜์—ฌ ์•„๋ž˜์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.

    • EC2 instance
    • S3 Bucket
    • Load Balancer

    EC2 ์ธ์Šคํ„ด์Šค ์‹œ์ž‘

    • ์ธ์Šคํ„ด์Šค ์‹œ์ž‘
    • Amazon Machine Image(AMI : ์šด์˜์ฒด์ œ ์„ ํƒ)
    • default ๋กœ ์„ค์ •ํ•˜๊ณ  ๋ณด์•ˆ๊ทธ๋ฃน ์ถ”๊ฐ€ํ•˜์—ฌ HTTP ์œ ํ˜•์„ ์ถ”๊ฐ€ํ•จ
    • ์ดํ›„ ํ„ฐ๋ฏธ๋„์„ ์ด์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ
      • ssh ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์ œ๊ณต
      • sudo su ๋กœ root ๊ถŒํ•œ ์–ป๋Š”๋‹ค.
      • ์ตœ์ดˆ ์‹คํ–‰์‹œ yum update -y ๋ฅผ ์‹คํ–‰(์šด์˜์ฒด์ œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๊ด€๋ จ ํŒจํ‚ค์ง€๋ฅผ ๋ชจ๋‘ ์„ค์น˜ํ•ด์ค€๋‹ค)
      • ์„ค์น˜๊ฐ€ ๋๋‚œ ํ›„ ์•„ํŒŒ์น˜ ์„ค์น˜(์šฐ๋ฆฌ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹ค์ œ ์›น์„œ๋ฒ„์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.)
        • yum install httpd -y (์•„ํŒŒ์น˜ ์„ค์น˜)
      • ์•„ํŒŒ์น˜ ์‹คํ–‰ (service httpd start)
      • ๋งŒ์•ฝ ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ๋ถ€ํŒ…ํ•œ๋‹ค๋ฉด ์•„ํŒŒ์น˜ ์„œ๋ฒ„๋„ ์ž๋™์œผ๋กœ ์ผœ์ง€๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ ์„ค์ •(chkconfig httpd on)
      • ํ™ˆํŽ˜์ด์ง€ ๋งŒ๋“œ๋Š” ์ž‘์—…
        • ์ด๋™ (cd /var/www/html)
        • ์ƒ์„ฑ vi index.html (๊ฐ„๋‹จํ•œ ํƒœ๊ทธ์ž‘์„ฑ)
        • AWS ์ฝ˜์†”๋กœ ์ด๋™ํ•˜์—ฌ ํ•ด๋‹น EC2 ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ ์ฃผ์†Œ๋ฅผ ์›น์— ํ˜ธ์ถœํ•œ๋‹ค.