AWS Core Services - AWS Computing

2023. 12. 14. 16:00클라우드/AWS

12월 AWS Enablement (12/14)

 

  1. AWS Cloud Introduction
  2. AWS Computing
  3. AWS Networking & Security
  4. AWS Database
  5. AWS Storage

 


 

AWS Computing

Computing 서비스 소개 및 EC2 구성 실습

 

컴퓨팅 서비스

AMAZON EC2

클라우드에 위치한 가상 서버 인스턴스

 

AMAZON ECS, EKS, and FARGATE

Docker 컨테이너를 대규모로 실행하고 관리

 

AWS LAMBDA

이벤트에 대한 응답으로 코드를 실행하는 서버리스 컴퓨팅

 

 

EC2 호스트 가상화

AWS 글로벌 리전에 위치한 물리적 서버를 가상화소프트를 사용하여 여러개의 OS로 가상화

 

 

Amazon Elastic Compute Cloud (Amazon EC2)

  • Linux | Windows | Mac
  • Arm 및 x86 아키텍처
  • 범용 및 특정 워크로드 최적화
  • 베어 메탈, 디스크, 네트워킹 가능
  • Packaged | Custom | Community AMI
  • 다양한 구매 옵션 : 온디맨드 인스턴스, 스팟 인스턴스, 예약 인스턴스(RI), 절감형 플랜(Savings Plans), 전용 호스트

 

 

Amazon Machine Image (AMI)

  • 인스턴스 시작에 필요한 정보 제공
  • 동일한 구성으로 한 AMI에서 여러 인스턴스 시작
  • AMI 포함 내용
    • 1개 이상의 Amazon Elastic Block Store (Amazon EBS) 스냅샷 또는 루트 볼륨에 대한 템플릿 (운영체제, 애플리케이션)
    • AMI를 사용하여 인스턴스를 시작할 수 있는 AWS 계정을 제어하는 권한
    • 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑

 

 

Amazon EC2 운영체제

  • Windows Server 2012/2012 R2/ 2016/ 2019/2022
  • Amazon Linux 2/Linux 2023
  • Debian
  • SUSE
  • CentOS
  • Red Hat Enterprise Linux(RHEL)
  • Ubuntu
  • macOS (M1/M2(Pro) Mac 인스턴스 포함)
  • AWS Marketplace에서 더 많은 운영체제의 AMI 제공

 

 

Amazon EC2 인스턴스 스토어

  • 블록 수준 임시 스토리지
  • 인스턴스 수명 기간 동안만 지속
  • 물리적으로로 연결된 디스크
  • Snapshot 기능 미지원
  • SSD 또는 HHD

 

 

Amazon Elastic Block Store (Amazon EBS)

  • 블록 수준 영구 스토리지
  • 인스턴스 수명에 관계없이 지속
  • API를 이용하여 생성, 연결, 수정
  • 워크로드에 따라 스토리지 선택
  • io1/io2 볼륨은 최대 16개의 Nitro 기반 인스턴스에 연결 가능
  • 볼륨 암호화 지원
  • 스냅샷 지원 : 특정 시점 백업

 

 

Amazon EC2 인스턴스 수명 주기

실행중 (Running)

  • 인스턴스 동작 중 상태
  • 과금 발생
  • 정지/종료/리부트 명령으로 상태 전이 가능

 

정지됨 (Stopped)

  • 중지된 상태
  • EBS 볼륨을 루트로 사용하는 인스턴스만 가능
  • 과금 안 됨
  • 시작/종료 명령으로 상태 전이 가능

 

종료됨 (Terminated)

  • 인스턴스가 완전히 제거된 상태
  • 시작이나 정지 불가능
  • 과금 안 됨

 

 

가장 광범위하고 심층적인 인스턴스 선택

카테고리 + 기능 + 옵션 = 575개 이상의 인스턴스 유형 (거의 모든 워크로드 및 비즈니스 요구사항에 적합)

카테고리 기능 옵션
  • 범용
  • 버스팅 가능
  • 컴퓨팅 집약적
  • 메모리 집약적
  • 스토리지 (높은 I/O)
  • 고밀도 스토리지
  • GPU 컴퓨팅
  • 그래픽 집약적
  • 프로세서 선택
    (AWS Graviton, Intel AMD)
  • 빠른 프로세서
    (최대 4.5 GHz)
  • 높은 메모리 공간
    (최대 24 TiB)
  • 인스턴스 스토리지
    (HHD 및 SSD)
  • 가속 컴퓨팅
    (GPU, FPGA & ASIC)
  • 네트워킹
    (최대 800 Gbps)
  • 베어 메탈
  • 크기
    (Nano에서 48xlarge)
  • Elastic Block Store (EBS)
  • Elastic Fabric Adapter
  • Elastic Inference
  • Elastic Graphics
  • Linux, Unix, Windows, macOS

 

 

 

인스턴스 유형 세부 정보

https://aws.amazon.com/ko/ec2/instance-types/

 

 

AWS Nitro System

Amazon EC2 인스턴스의 빠른 설계 및 제공을 위한 모듈식 구성

Nitro Card Nitro 보안 칩 Nitro 하이퍼바이저
  • 로컬 NVMe 스토리지
  • Elastic Block Storage
  • 네트워킹, 모니터링, 보안
  • 마더보드에 통합
  • 하드웨어 리소스 보호
  • 경량 하이퍼바이저
  • 메모리 및 CPU 할당
  • 베어 메탈 수준의 성능

 

 

인스턴스 이름 지정 규칙

c7gn.xlarge

c : 인스턴스 패밀리

7 : 인스턴스 세대

gn : 추가 기능

xlarge : 인스턴스 크기

 

 

인스턴스 추가 기능

인스턴스는 하나 이상의 추가 기능을 가질 수 있다.

g : AWS Gravition 프로세서
a : AMD 프로세서
i : 인텔 프로세서
d : 인스턴스 스토어 볼륨
n : 네트워크 최적화
b : 블록 스토리지 최적화
e : 추가 스토리지 또는 메모리
z : 고주파

 

 

최적의 인스턴스 선택

Cost Explorer AWS Compute Optimizer
  • 지난 14일간의 최대 CPU 및 메모리 사용 기록에 기반
  • 동일한 인스턴스 패밀리 내의 EC2 인스턴스 적정 크기 권장
  • 최적의 AWS 리소스를 권장하는 머신러닝 기반 서비스
  • 최적의 EC2 인스턴스, Amazon EC2 Auto Scaling 그룹, EBS 볼륨 유형 구성 권장

더 낮은 비용, 성능 최적화, 빠르게 시작

 

 

Amazon EC2 구매 옵션

온디맨드
(On-Demand)
예약형 인스턴스
(Reserved Instances, RI)
절감형 플랜
(Savings Plans)
스팟 인스턴스
(Spot Instances)
정가 약정 없이 초 단위로 컴퓨팅 용량 비용 지불 1년 또는 3년 약정으로 온디맨드 요금에서 상당한 할인 더 많은 유연성을 갖춘 Amazon EC2 RI와 동일 한 대폭 할인 예비 EC2 컴퓨팅 용량으로 온디맨드 요금에 비해 최대 90% 할인된 가격으로 사용
요구사항을 정의하기 위한 급증하는 워크로드 약정 및 안정적인 상태의 사용 약정 및 유연한 요금 모델 유연한 상태 비저장, 내결함성 워크로드

 

 

비용 및 용량 최적화

  1. 알려진 안정된 상태의 워크로드에 대한 RI절감형 플랜 사용
  2. 급증하는 워크로드를 위해 온디맨드를 사용하여 확장
  3. 유연한 내결함성 워크로드를 위해 스팟 인스턴스를 사용하여 확장

 

 

Elastic Load Balancing

  • 네트워크 트래픽 분산을 위한 애플리케이션 확장성 개선
  • 여러 가용 여역을 기반으로 고가용성 제공
  • 트래픽에 따라 자동 조정
  • 트래픽을 받는 대상
    • EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수, 가상 어플라이언스
  • 종류
    • Application Load Balancer
    • Network Load Balancer
    • Classic Load Balancer

 

 

Elastic Load Balancer Type

Application Load Balancer Network Load Balancer Classic Load Balancer
  • Layer 7
  • HTTP, HTTPS, gRPC
  • Hosr-, Path-based routing
  • Integrated authentication
  • Supported Targets
    • IP Addresses
    • Instances
    • Lambda
  • Layer 4
  • TCP, UDP, TLS
  • Static, Elastic IP
  • Supported Targets
    • IP Addresses
    • Instances
    • Application Load Balancer
  • Layer 4/7
  • TCP, SSL/TLS, HTTP, HTTPS
  • Supported Targets
    • IP Addreses
    • Instances

 

 

Amazon EC2 Auto Scaling

변화하는 수요에 동적으로 대응하고 비용을 최적화

 

Fleet management : 비정상 인스턴스 교체

Dynamic scaling : 수요에 맞게 확장

 

 

인스턴스 시작시 사용자 데이터(User data)로 명령 실행

  • 일반적인 구성 작업을 자동으로 수행
  • 쉘 스크립트 방식
    #!/bin/bash
    yum update -y
    amazon-linux-extras install -y lamp-mariadb10.2-php7.2
    php7.2
    yum install -y httpd mariadb-server
    systemctl start httpd
    systemctl enable httpd
  • 쉘 스크립트
    • #! 문자 및 스크립트를 읽을 인터프리터의 경로 (일반적으로 /bin/bash)로 시작
    • root 사용자 권한으로 실행
      • sudo 명령 불필요
      • 생성하는 모든 파일의 소유자는 root
      • root 이외의 사용제에게 파일 액세스를 허용하려면 권한 수정 필요
    • 대화형으로 실행되지 않으므로 사용자의 입력이 필요한 명령은 포함할 수 없음
      • 예) -y 플래그 없는 yum update

 

시작 템플릿(launch Template)으로 인스턴스 시작

시작(launch)을 간소화하고 단순화하기 위해 시작 요청을 템플릿화

일관된 경험, 단순한 권한, 거버넌스 및 모범 사례, 생산성 향상

 

 

Amazon EC2 관련 자격 증명

EC2 키 페어

  • Linux - 최초 호스트 로그인을 위한 SSH 키 페어
  • Windows - Windows 관리자 암호 검색

 

표준 SSH RSA 키 페어

  • 퍼블릭 키, 프라이빗 키
  • AWS에는 프라이빗 키가 보관되지 않음

 

일반 OS에 대한 초기 액세스를 제공하기 위한 AWS 접근 방식

  • 안전한
  • 개인화된
  • 비 제네릭 (NIST, PCI DSS)

 

 

Amazon CloudWatch

  • AWS 리소스 및 애프리케이션의 모니터링 및 관찰 기능
  • 로그, 지표 및 이벤트 형태로 모니터링 및 운영 데이터를 수집
  • AWS 리소스, 애플리케이션 및 서비스에 대한 통합 뷰
  • 이상 동작 감지
  • 경보 설정
  • 로그와 지표 시각화

 

 

Web Application on AWS