반응형

목차

  1. 인스턴스와 AMI
  2. EBS와 네트워크/보안
    •  EBS(Elastic Block Store)
    • 네트워크 및 보안
  3. 로드 밸런싱과 Auto Scaling
    • 로드 밸런싱
    • Auto Scaling

EC2(Amazon Elastic Compute Cloud)

Amazon EC2(Amazon Elastic Compute Cloud)는 클라우드에서 크기를 조정할 수 있는 컴퓨팅 용량을 제공하는 웹 서비스입니다. 개발자와 사용자가 웹 스케일 클라우드 컴퓨팅을 더 쉽게 사용할 수 있도록 설계되었습니다. 이 때 C가 2개여서 EC2가 되었습니다.

 

AWS Cloud 웹에서 EC2에 접속하면 다음과 같이 구성되어 있는 것을 볼 수 있습니다. 오늘은 이 구성 요소들이 각각 어떠한 일을 하는지 알아보도록 하겠습니다.

목차로 이동

 

인스턴스

Amazon EC2에서 "인스턴스"는 기본적으로 다양한 애플리케이션에 사용할 수 있는 가상 서버입니다. 인스턴스는 클라우드에서 애플리케이션을 실행할 수 있는 확장 가능한 서버로, Amazon EC2가 제공하는 기능의 핵심입니다. 인스턴스를 생성할 때 페이지를 통해 조금 더 자세히 설명해보도록 하겠습니다.

 

구성

 

1. 인스턴스 유형


Amazon EC2는 다양한 사용 사례에 맞게 최적화된 다양한 인스턴스 유형을 제공합니다. 인스턴스 유형은 CPU, 메모리, 스토리지, 네트워킹 용량의 다양한 조합으로 구성되며, 애플리케이션에 적합한 리소스 조합을 유연하게 선택할 수 있습니다. 가장 일반적인 유형에는 범용, 컴퓨팅 최적화, 메모리 최적화, 스토리지 최적화 및 GPU 인스턴스가 포함됩니다.

 

Amazon EC2 인스턴스 유형에는 해당 기능에 대한 정보를 제공하는 특정 명명 규칙이 있습니다. 인스턴스 유형 이름의 각 부분은 인스턴스의 기능에 대한 정보를 나타냅니다.

  • 패밀리
    인스턴스 유형의 일반 카테고리를 정의합니다. 예를 들어, "m"은 "범용", "t"는 "버스터블 성능", "r"은 "메모리 최적화", "c"는 "컴퓨팅 최적화", "g"는 "GPU 인스턴스", "p"는 "그래픽 최적화" 등을 의미합니다.

  • 세대
    인스턴스 제품군 내에서 인스턴스의 세대를 나타내는 숫자입니다. 예를 들어 m5.large은 "m" 제품군의 5세대입니다.

  • 크기 또는 추가 정보
    이름의 마지막 부분(예: m5.large의 "large")은 해당 패밀리 내에서 인스턴스의 크기를 나타냅니다. 이름은 일반적으로 나노, 마이크로, 스몰, 미디엄, 라지, 라지, 그리고 라지의 배수(예: 2xlarge, 4xlarge, 8xlarge 등)로 구성되며, 크기가 클수록 인스턴스의 CPU, 메모리 및 스토리지가 더 많이 사용됩니다.

  • 추가 기능
    일부 인스턴스에는 크기 뒤에 추가 기능을 나타내는 추가 문자가 있습니다(예: 로컬 NVMe SSD 스토리지의 경우 "d"(m5d.large), 더 빠른 네트워킹의 경우 "n", Graviton 프로세서의 경우 "g"(예: m6g.large)).


2. 아마존 머신 이미지(AMI)


AMI는 인스턴스를 시작하는 데 필요한 소프트웨어 구성(운영 체제, 애플리케이션 서버 및 애플리케이션)이 포함된 템플릿입니다. AWS, 사용자 커뮤니티 또는 AWS 마켓플레이스에서 제공하는 AMI를 선택할 수 있습니다. 또한 자체 AMI를 생성할 수도 있습니다.

  • Quickstart AMI: 빠르게 시작할 수 있는 AMI입니다. 보통은 OS만 설치되어 있습니다. 위 사진 이외에도 Red Hat, Ubuntu 등 다양한 OS가 존재합니다.
  • 내 AMI: 사용자가 직접 사용하던 인스턴스를 AMI로 만들어 생성할 수 있습니다. 특정 시점을 저장해 사용한다고 생각하면 편할 것 같습니다.
  • AWS Marketplace AMI: AWS에서 신뢰하는 타사 AMI들이 들어있습니다. 다양한 범주의 카테고리에서 원하는 AMI를 사용할 수 있다는 장점이 있고, 이미 AWS에서 인증된 AMI로 신뢰도 또한 높습니다.
  • 커뮤니티 AMI: AWS 사용자라면 누구든지 AMI를 등록할 수 있습니다. 하지만 안정성이나 신뢰성이 떨어질 수 있습니다.

3. 인스턴스 및 리전

인스턴스는 항상 특정 Amazon EC2 리전(예: 노스버지니아, 오하이오 등)에서 시작됩니다. 각 리전 내에서 인스턴스는 가상 프라이빗 클라우드(VPC)로 시작되며 특정 가용성 영역과 연결됩니다.

  • 리전의 위치는 VPC와 Subnet을 따라갑니다.
    • 참고
      퍼블릭 IP 자동 할당은 인스턴스에 퍼블릭 IP를 부여할지 여부를 선택합니다. 중요도가 높다면 할당하지 않는 것이 권장됩니다.

4. 보안

각 인스턴스는 가상 방화벽처럼 작동하여 하나 이상의 인스턴스에 대한 트래픽을 제어하는 보안 그룹과 연결될 수 있습니다. 인스턴스를 시작할 때 하나 이상의 보안 그룹을 지정할 수 있습니다.

이미 생성된 보안그룹을 여러개 지정할 수 있습니다.


5. 스토리지 


모든 인스턴스에는 인스턴스 저장소 볼륨이라고 하는 스토리지가 있으며, 인스턴스에 임시 블록 수준의 스토리지를 제공합니다. 이 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에 있습니다. 그러나 인스턴스가 중지되거나 종료되면 인스턴스 저장소 볼륨의 데이터는 손실됩니다.


6. 네트워킹
인스턴스는 탄력적 IP(정적 공용 IPv4 주소)에 연결할 수 있으며, VPC의 IP 주소 범위 내에서 자동으로 프라이빗 IP 주소가 할당됩니다.


7. 상태
인스턴스는 보류 중, 실행 중, 중지, 중지, 재부팅, 종료 등과 같은 다양한 상태에 있을 수 있습니다. 시작, 중지, 종료와 같은 작업은 사용자가 제어합니다.


목차로 이동

 

AMI(Amazon Machine Images)

Amazon 머신 이미지(AMI)는 Amazon Elastic Compute Cloud(EC2) 내에서 가상 머신을 생성하는 데 사용되는 특수한 유형의 가상 어플라이언스입니다. EC2를 사용하여 제공되는 서비스를 위한 기본 배포 단위 역할을 합니다.

구성


1. AMI에 포함돼있는 내용


AMI에는 인스턴스의 루트 볼륨(예: 운영 체제, 애플리케이션 서버, 애플리케이션)을 위한 템플릿, 인스턴스 실행에 AMI를 사용할 수 있는 AWS 계정을 제어하는 실행 권한, 인스턴스가 실행될 때 인스턴스에 연결할 볼륨을 지정하는 블록 장치 매핑이 포함됩니다.


2. AMI의 유형


AMI는 루트 디바이스 유형, 아키텍처, 사전 패키지로 제공되는 소프트웨어의 종류 등 여러 요인에 따라 여러 유형으로 분류됩니다.

  1. EBS 지원 AMI
    루트 디바이스가 EBS(Amazon Elastic Block Store) 볼륨인 AMI입니다. EBS 지원 인스턴스를 사용하면 데이터 손실 없이 인스턴스를 중지 및 시작할 수 있으며, 데이터는 Amazon EBS 볼륨에 유지됩니다.

  2. 인스턴스 스토어 지원 AMI
    이러한 AMI는 인스턴스 스토어에 루트 디바이스를 가지고 있습니다. 인스턴스 스토어 볼륨의 데이터는 연결된 인스턴스의 수명 기간 동안에만 유지됩니다. 인스턴스를 중지하거나 종료하면 데이터가 손실됩니다.

  3. 공용 AMI
    모든 AWS 계정에서 사용할 수 있는 AMI입니다. Amazon, AWS 마켓플레이스 판매자 또는 기타 AWS 고객이 제공합니다.

  4. 소유 AMI
    직접 생성한 AMI 또는 다른 AWS 계정에서 내 계정으로 복사한 AMI입니다.

  5. 공유 AMI
    다른 AWS 계정에서 공유한 AMI입니다. 공유는 특정 AWS 계정과 수행하거나 공개적으로 공유할 수 있습니다.

  6. 유료 AMI
    AWS 마켓플레이스에서 구매할 수 있는 AMI입니다. 설정 시간을 절약하기 위해 특정 소프트웨어와 함께 사전 패키지로 제공되는 경우가 많습니다.

  7. 아키텍처 기반 AMI
    AMI는 지원하는 운영 체제의 아키텍처에 따라 분류할 수도 있습니다. 여기에는 x86 또는 ARM 아키텍처가 포함됩니다.

AMI를 선택할 때는 이러한 요소를 기반으로 특정 요구 사항에 맞는 AMI를 선택하면 됩니다.


3. 퍼블릭 및 프라이빗 AMI


Amazon은 다양한 구성의 윈도우 서버, 아마존 리눅스, 우분투 등을 포함하는 많은 퍼블릭 AMI를 제공합니다. 이 외에도 개발자는 자신만의 프라이빗 AMI를 생성하여 다른 사용자에게 판매할 수도 있습니다.

 

인스턴스 파트에서 설명한 2번 AMI와 동일합니다.


4. 보안

 

Amazon 머신 이미지(AMI)를 생성하면 생성한 지역에서만 사용할 수 있습니다. 이는 데이터를 보호하기 위해 설계된 기본 기능입니다.

AMI가 한 리전에 국한되어 있다는 것은 AWS 자격 증명이 유출되더라도 공격자가 다른 리전에서 AMI 인스턴스를 실행할 수 없다는 것을 의미합니다. 이는 리소스에 지리적 제한을 추가하여 데이터에 추가적인 보안 계층을 제공합니다.

그러나 지연 시간을 줄이거나 특정 법적 또는 비즈니스 요구 사항을 충족하기 위해 다른 지역에서 AMI를 사용해야 하는 정당한 이유가 있을 수 있습니다(예: 지연 시간 단축). AWS는 이러한 목적을 위해 한 리전에서 다른 리전으로 AMI를 복사할 수 있도록 허용합니다.

AMI를 다른 리전으로 복사하려면 다음이 필요합니다.

  1. 소스 리전에서 복사하려는 AMI를 찾습니다.
  2. AMI를 복사할 대상 리전을 선택합니다.
  3. 복사 명령을 시작합니다. 그러면 대상 지역에 새 고유 ID를 가진 AMI 복사본이 생성됩니다.


여러 지역에 걸쳐 AMI를 복사할 경우 추가 데이터 전송 비용이 발생할 수 있다는 점에 유의하세요. 또한 데이터 규정은 국가와 지역에 따라 다를 수 있으므로 AMI를 복사하는 동안 데이터 주권 및 규정 준수 요건도 고려해야 합니다.


5. 버전 관리: AMI를 만든 후 변경하면 변경 사항이 자동으로 저장되어 새 버전의 AMI가 만들어집니다. 이를 통해 개발자는 AMI의 버전을 추적하고 제어할 수 있습니다.


 

목차로 이동

반응형