6 분 소요

AWS EC2

AWS 런타임 컴퓨팅 옵션

image-20231018213333710

Amazon EC2

image-20231018213430218

Amazon EC2 개요

  • Amazon Elastic Compute Cloud(Amazon EC2)
  • 클라우드에서 EC2 인스턴스라고 하는 가상 머신 제공
  • 각 인스턴스에서 게스트 운영 체제(Windows 또는 Linux)를 완벽하게 제어할 수 있음
  • 전 세계 어디서나 가용 영역에서 모든 크기의 인스턴스를 시작할 수 있음
    • Amazon Machine Images(AMI)에서 인스턴스 시작
    • 클릭 몇 번이나 코드 한 줄로 인스턴스를 시작하면 몇 분 만에 준비가 완료됨
  • 인스턴스에서 송수신되는 트래픽을 제어할 수 있음

EC2 인스턴스 시작하기

EC2를 생성하기 위해서 VPC(네트워크)가 꼭 필요합니다.

사설 아이피 주소에 공인 아이피 주소를 맵핑 > 할당 되는것이 아님

EC2 인스턴스를 생성 할 때 결정해야 할 9가지 주요사항을 살펴 보겠습니다.

1. AMI 선택

  • Amazon Machine Image(AMI)
    • EC2 인스턴스(AWS Cloud에서 실행되는 가상 머신 또는 VM)를 생성하는 데 사용되는 템플릿
    • Windows 또는 Linux 운영 체제 포함
    • 또한 일부 소프트웨어가 사전 설치되어 있는 경우가 많음
  • AMI 선택
    • 퀵 스타트
      • AWS에서 제공하는 Linux 및 Windows AMI
    • 나의 AMI
      • 사용자가 생성한 모든 AMI
    • AWS Marketplace
    • 제3자에 의해 사전 구성된 템플릿
    • 커뮤니티 AMI
      • 다른 사용자가 공유하는 AMI, 사용에 따른 모든 책임은 사용자에게 있음

AMI의 이점

  • 반복성
  • AMI를 사용하여 높은 효율성과 정밀도로 인스턴스를 반복 시작할 수 있음
  • 재사용성
    • 동일한 AMI에서 시작된 인스턴스는 동일하게 구성됨
  • 복구성
    • 구성된 인스턴스에서 복원 가능한 백업으로서 AMI를 생성할 수 있음
    • 동일한 AMI에서 새 인스턴스를 시작하여 실패한 인스턴스를 교체할 수 있음

2. 인스턴스 유형

  • 용례 고려하기
  • 생성한 EC2 인스턴스를 사용하는 방식
  • 선택하는 인스턴스 유형에 따라 결정되는 항목
    • 메모리(RAM)
    • 처리 능력(CPU)
    • 디스크 공간 및 디스크 유형(스토리지)
    • 네트워크 성능
  • 인스턴스 유형 범주
    • 범용
    • 컴퓨팅 최적화
    • 메모리 최적화
    • 스토리지 최적화
    • 가속 컴퓨팅
  • 인스턴스 유형은 패밀리, 세대 및 크기 제공

인스턴스 유형 용례

image-20231018214754373

인스턴스 유형: 네트워킹 기능

  • 네트워크 대역폭(Gbps)은 인스턴스 유형에 따라 다름
  • 인스턴스 유형의 네트워킹 및 대역폭 성능을 극대화하려면:
    • 상호 의존적인 인스턴스가 있는 경우 클러스터 배치 그룹에서 인스턴스 시작
    • 향상된 네트워킹 활성화
  • 향상된 네트워킹 유형은 대부분의 인스턴스 유형에서 지원됨
  • 향상된 네트워킹 유형
    • Elastic Network Adapter(ENA): 최대 100Gbps의 네트워크 속도 지원
    • 인텔 82599 Virtual Function 인터페이스: 최대 10Gbps의 네트워크 속도 지원

3. 네트워크 설정 지정

  • 인스턴스 배포 위치
    • virtual private cloud(VPC)를 확인하고 선택적으로 서브넷 확인
  • 퍼블릭 IP 주소를 자동으로 할당해야 할지 여부
    • 인터넷을 통해 액세스할 수 있도록 설정

4. IAM 역할 연결(선택 사항)

  • EC2 인스턴스의 소프트웨어가 다른 AWS 서비스와 상호 작용해야 하는지 여부
    • 상호 작용해야 하는 경우 적절한 IAM 역할 연결
  • EC2 인스턴스에 연결된 AWS Identity 및 Access Management(IAM) 역할은 인스턴스 프로파일에 보관됨
  • 인스턴스 시작 시에만 역할을 연결할 수 있는 것이 아님
    • 이미 존재하는 인스턴스에 역할을 연결할 수도 있음

5. 사용자 데이터 스크립트(선택 사항)

  • 인스턴스 시작 시 사용자 데이터 스크립트 지정(선택 사항)
  • 사용자 데이터 스크립트를 사용하여 인스턴스의 런타임 환경을 사용자 지정
    • 인스턴스가 처음 시작될 때 스크립트가 실행됨
  • 전략적으로 사용 가능
    • 예를 들어 구축 및 유지 관리하는 사용자 지정 AMI의 수를 줄일 수 있음

6. 스토리지 지정

  • 루트 볼륨 구성
    • 게스트 운영 체제가 설치되는 위치
  • 추가 스토리지 볼륨 연결(선택 사항)
    • AMI에 이미 두 개 이상의 볼륨이 포함되어 있을 수 있음
  • 각 볼륨에 대해 다음을 지정합니다.
    • 디스크 크기(GB)
    • 볼륨 유형
      • 다양한 유형의 SSD(솔리드 스테이트 드라이브) 및 HDD(하드 디스크 드라이브) 사용 가능
    • 인스턴스 종료 시 볼륨 삭제 여부
    • 암호화 사용 여부

Amazon EC2 스토리지 옵션

  • Amazon Elastic Block Store(Amazon EBS)
    • 내구성이 뛰어난 블록 수준 스토리지 볼륨
    • 인스턴스를 중지한 후 다시 시작할 수 있으며 데이터가 그대로 유지됨
  • Amazon EC2 인스턴스 스토어
    • EC2 인스턴스가 실행 중인 호스트 컴퓨터에 연결된 디스크에 임시 스토리지가 제공됨
    • 인스턴스가 중지되면 여기에 저장된 데이터가 삭제됨
  • 기타 스토리지 옵션(루트 볼륨에는 적용 안 됨)
    • Amazon Elastic File System(Amazon EFS) 파일 시스템 탑재
    • Amazon Simple Storage Service(Amazon S3)에 연결

스토리지는 네트워크를 통해서 연결됩니다.
어떤 서버의 EC2에서 빠르게 캐쉬적인 목적으로 연산을 해야할 때 내부 HDD로 계산하는 방법이 제일 빠릅니다.
타 스토리지의 LUN을 네트워크로 연결하여 EC2 내부에서 사용하는 것도 가능 하지만 내부 스토리지를 사용하는 것이 속도면에서는 더 빠릅니다.

Amazon EC2 루트볼륨은 중지라는 개념 자체가 없습니다. 그냥 삭제 됩니다. 데이터를 보존하고 싶으면 재부팅 해야합니다.

기본적으로 인스턴스가 실행되려면 OS가 설치 되어야하고 루트 볼륨을 사용하는데 더 많은 용량이 필요하면 스토리지 볼륨이랑 연결됩니다.

7. 태그 추가

  • 태그는 AWS 리소스에 할당할 수 있는 레이블
  • 키와 선택적 값으로 구성
  • 태깅은 EC2 인스턴스에 메타데이터를 연결하는 방법
  • 태깅의 잠재적 이점 필터링, 자동화, 비용 할당 및 액세스 제어

태그 정보를 달아주는 것을 권장합니다.
태그는 영문으로 설정해야하며 이렇게 설정한 데이터는 메타 데이터라고 합니다.
EC2는 오브젝트 안에 기본적인 메타데이터 포함하는데 그 메타데이터 안에 태그를 해주면 해당 태그가 조회될 수 있습니다.
태그를 어떻게 설정할 것인지 이름에 대한 규칙을 설정하고 확실히 구분해 줍니다.
그 이름을 통해 이것이 어떤 리소스로 사용되고 있다는 것을 알 수 있게 이름을 설정 하는것이 좋습니다.

8. 보안 그룹 설정

  • 보안 그룹(방화벽)은 인스턴스에 대한 트래픽을 제어하는 일련의 방화벽 규칙

    • 인스턴스의 게스트 OS 외부에 존재

    인스턴스 별로 보안그룹을 설정할 수 있습니다.

  • 소스 및 네트워크 통신에 사용할 수 있는 포트를 지정하는 규칙 생성

    • 포트 번호와 Transmission Control Protocol(TCP), User Datagram Protocol(UDP), or Internet Control Message Protocol(ICMP)등의 프로토콜 지정
    • 규칙 사용을 허용할 소스(예: IP 주소 또는 다른 보안 그룹) 지정

EC2를 생성하고 접속이 안될 때, 인터넷 게이트웨이를 확인하고 방화벽 설정에서 라우팅 정보를 확인 해야 합니다.

AWS는 모든 아웃 바운드와 지정된 소스에서 들어오는 트래픽을 허용하는 규칙의 추가를 지원합니다.

9. 키 페어 식별 또는 생성

인증을 하기 위해서 사용합니다.

  • 인스턴스 시작 시 기존 키 페어를 지정 또는 새 키 페어 생성
  • 키 페어의 구성 요소
    • AWS에 저장하는 퍼블릭 키
    • 사용자가 저장하는 프라이빗 키 파일
  • 인스턴스에 대한 보안 연결 지원
  • Windows AMI의 경우
    • 인스턴스에 로그인하는 데 필요한 관리자 암호를 프라이빗 키를 사용하여 획득
  • Linux AMI의 경우
    • 프라이빗 키를 사용하여 SSH를 통해 인스턴스에 안전하게 연결

AWS Command Line Interface를 사용하여 EC2 인스턴스 시작

  • EC2 인스턴스는 프로그래밍 방식으로도 생성할 수 있습니다.

  • 다음 예제는 명령이 얼마나 간단한지 보여줍니다.

    • 이 명령은 키 페어와 보안 그룹이 이미 존재한다고 가정합니다.
    • 추가 옵션을 지정할 수 있습니다. 세부 정보는 AWS CLI 명령 참조에서 확인할 수 있습니다.

    예제 명령

    aws ec2 run-instances \
    --image-id ami-1a2b3c4d \
    --count 1 \
    --instance-type c3.large \
    --key-name MyKeyPair \
    --security-groups MySecurityGroup \
    --region us-east-1
    

EC2 인스턴스 수명 주기

image-20231018215854259

증지 할 수 있는 것은 Amazon EBS기반의 인스턴스만 중지 가능합니다.

EBS는 하나의 별도의 서비스로 요금이 청구 됩니다. 그러므로 중단하려면 삭제 해야 합니다.

Amazon EC2 요금제 모델

  • 온디맨드 인스턴스

    • 시간당 비용 지불
    • 장기 약정 없음
    • AWS 무료 등급 사용 가능
  • 전용 호스트

    • 고객 전용의 EC2 인스턴스 용량을 갖춘 물리적 서버
  • 전용 인스턴스

    • 단일 고객 전용 하드웨어의 VPC에서 실행되는 인스턴스
  • 스팟 인스턴스

    • 인스턴스가 사용 가능한 상태이고 입찰 가격이 스팟 인스턴스 가격보다 높으면 계속 실행됨
    • AWS는 2분 전에 알림을 보내고 스팟 인스턴스를 중단할 수 있음
    • 중단 옵션에는 종료, 중지, 최대 절전 모드가 있음
    • 온디맨드 인스턴스에 비해 요금이 훨씬 저렴할 수 있음
    • 애플리케이션을 실행할 시점을 유연하게 선택할 수 있는 경우에 적합

    중요한 데이터 보다는 일시적으로 많은 양의 연산을 해야 할 때 사용하기 적합 합니다.

  • 예약형 인스턴스

    • 예약하는 인스턴스에 대한 전체/부분 선지급 방식 또는 선지급하지 않는 방식
    • 해당 인스턴스에 대한 시간당 요금 할인
    • 1년 또는 3년 약정
  • 정기 예약형 인스턴스

    • 사용자가 지정한 반복 일정에 따라 사용할 수 있는 예약 용량 구매
    • 1년 약정

초당 결제 옵션은 Amazon Linux 또는 Ubuntu를 실행하는 온디맨드 인스턴스, 예약형 인스턴스 및 스팟 인스턴스에 대해 사용할 수 있습니다.

Amazon EC2 요금제 모델: 이점

온디맨드 스팟 인스턴스 예약형 인스턴스 전용 호스트
낮은 비용과 유연성 제공 대규모 동적 워크로드에 사용 필요할 때 컴퓨팅 파워를 이용할 수 있도록 보장하는 예측 가능성 - 라이선스 비용 절감
- 규정 및 규제 요건 충족

여기서 말하는 유연성은 인스턴스 타입을 변경 할 수 있음을 뜻합니다.

예약형은 인스턴스 타입 변경이 안됐으나 최근에 같은 패밀리 안에서는 변경 가능한 서비스가 생겼습니다.

Amazon EC2 요금제 모델: 용례

온디맨드 스팟 인스턴스 예약형 인스턴스 전용 호스트
- 급등하거나 예측하기 힘든 단기 워크로드
-애플리케이션 개발 또는 테스트
- 시작 및 종료 시간이 자유로운 애플리케이션
- 컴퓨팅 가격이 매우 저렴해야만 수익이 나는 애플리케이션
- 대량의 용량 추가로 컴퓨팅 파워가 급하게 필요한 사용자
- 안정적 상태 또는 예측 가능한 사용량 워크로드
- 재해 복구 등 예약된 용량이 필요한 애플리케이션
- 총 컴퓨팅 비용을 절감하기 위해 선지급 방식을 이용할 수 있는 사용자
- 기존 보유 라이선스 사용(BYOL)
- 규정 및 규제
- 사용량 및 라이선스 추적
- 인스턴스 배치 제어 능력

최근 스팟 인스턴스는 요즘에 AWS에서 가격을 정해줍니다. 일정한 시간 이후에 가격이 달라지게 되면 회수합니다.

핵심 요점

  • Amazon EC2를 사용하면 클라우드에서 Microsoft Windows 및 Linux 가상 머신을 실행할 수 있습니다.
  • Amazon Machine Image(AMI)는 EC2 인스턴스를 시작하는 데 필요한 정보를 제공합니다.
  • EC2 인스턴스 유형은 CPU, 메모리, 스토리지 및 네트워크 성능 특성의 구성을 정의합니다.
  • Amazon EC2 인스턴스를 시작할 때 AMI인스턴스 유형을 선택해야 합니다. 또한 네트워크, 보안, 스토리지사용자 데이터 설정을 비롯한 주요 구성 파라미터를 지정해야 합니다.
  • Amazon EC2 요금제 모델은 온디맨드 인스턴스, 예약형 인스턴스, 절감형 플랜, 스팟 인스턴스 및 전용 호스트가 있습니다.

카테고리:

업데이트:

댓글남기기