[CLOUD ASSOCIATE EXAM] EC2와 EBS - EC2 인스턴스

Yohan_05·2023년 2월 1일
0

Cloud

목록 보기
3/6

EC2 인스턴스

ec2 인스턴스는 물리 서버의 기능을 함축적으로 가상화했지만 실제 서버와 유사하게 작동. 스토리지, 메모리, 네트워크 인터페이스, 그리고 운영체제가 새로 설치된 기본 드라이브가 제공된다.

사용자는 인스턴스에서 사용할 하드웨어 리소스 종류, 운영 체제 종류, 실행할 소프트웨어 스택을 선택하여 ec2 인스턴스의 운영 비용을 결정.

인스턴스 프로비저닝

사용자는 운영체제, 소프트웨어 스택, 하드웨어 사양, 인스턴스를 시작할 환경을 구성할 수 있다.

ec2 amazon 머신 이미지

  • amazon 머신 이미지 = ec2를 시작할 때 루트 볼륨에 설치될 운영 체제와 소프트웨어를 기술한 템플릿 문서.
  • 총 4가지의 ami가 있다.

빠른 시작 AMI

  • 다양한 리눅스 배포판, windows server 운영 체제, 딥러닝, 데이터베이스 등의 공통 작업을 수행하기 위한 특수 이미지가 포함 돼 있다.
  • ec2를 시작할 때 가장 많이 사용되며, amazon이 항상 최신 버전으로 업데이트하고 공식적으로 지원한다.

Marketplace AMI

  • 프로덕션 환경에서 사용 가능한 공식 이미지.
  • SAP이나 시스코와 같은 공급업체가 제공하고 지원한다.

커뮤니티 AMI

  • 10만개 이상의 이미지가 제공되고 있으며, 대부분은 특정한 요구에 맞도록 독립 공급 업체가 제작하고 관리함.
  • 소프트웨어 리소스를 사용자 정의를 조합해 애플리케이션을 구축할 계획이 있는 경우 카탈로그를 검색해보면 필요한 스프투에어가 미리 설치된 AMI를 찾을 수도 있음.

프라이빗 AMI

  • 사용자가 자체 배포한 인스턴스에서 이미지를 생성해서 저장하면 자체 AMI, 즉 프라이빗 AMI 를 만들 수 있음.
  • 사용자 요청이 증가하여 이를 처리하기 위해 인스턴스 숫자를 늘려야 할 때 프라이빗 AMI로 안정적인 인스턴스 이미지를 만들어 놓으면 쉽게 인스턴스 자동 확장에 사용할 수 있다.
  • 대부분 리전에선 동일한 기능의 이미지가 제공되지만, 일부 AMI는 특정 리전에서 사용할 수 없으므로 배포 시 이를 고려해야 하는데, 이는 특정 리전에서 제공되는 AMI ID를 다른 리전에서 호출 할 수 없기 때문이다.

인스턴스 유형

사용자가 선택한 인스턴스 유형에 따라 하드웨어 리소스를 인스턴스에 할당한다. 컴퓨팅 성능, 메모리, 스토리지 용량 중 필요한 성능에 집중해서 선택할 수 있다.

향후 용량에 대한 요구가 변하면 다른 인스턴스 유형으로 쉽게 바꿀 수 있다. 인스턴스를 멈추고 유형을 변경한 다음, 다시 시작하면 된다.

aws는 인스턴스 유형을 자주 변경하는데 그 유형들은 아래와 같다. (지금은 바뀌었을 수도 있음)

범용

  • 컴퓨팅, 메모리, 네트워크 리소스를 균형있게 제공함.
  • t2 유형엔 t2.micro 가 있는데, 프리티어로 제공되어 실험용으로 많이 사용되며 간단한 웹사이트나 다양한 서비스 개발 등에 무리 없이 사용된다.
  • m5, m4 인스턴스는 주로 중소 규모 데이터 운영에 권장된다. 일부 M 인스턴스는 실제 호스트 서버에 물리적으로 연결된 내장 인스턴스 스토리지 드라이브와 함께 제공된다.

컴퓨팅 최적화

  • 대규모 요청을 받는 웹 서버와 고성능 머신 러닝 워크로드에는 C5,C4 유형 등 컴퓨팅 최적화 패밀리를 사용한다.
  • C5 머신은 최대 3.6GHz 프로세서 속도와 고속 네트워크 대역폭, 혹은 동등한 성능을 제공한다.

메모리 최적화

  • 처리량이 많은데이터베이스, 데이터 분석, 캐싱 작업에 유용하다. X1e, X1, R4 유형은 최대 3TB DRAM 기반 메모리와 짧은 지연 시간을 가진 SSD 스토리지 볼륨을 제공한다.

스토리지 최적화

  • 지연 시간이 짧은 대용량 인스턴스 스토리지 볼륨을 사용한다.
  • 최대 볼륨 크기는 16TB이며, D2의 경우 저속 HDD 스토리지를 최대 48TB까지 제공한다.
  • 이 인스턴스는 분산 파일 시스템과 규모가 큰 데이터 처리 애플리케이션에 유용하다.

가속화된 컴퓨팅

  • 고성능 범용 그래픽 처리 장치(GPU)가 제공된다. 이 인스턴스는 다양한 세대의 고성능 NVIDIA GPU를 사용함.
  • F1 인스턴스는 Xilinx Virtex UltraScale+FPGA를 사용한다.
  • 3D 시각화/렌더링, 재무 분석, 전산 유체 역학과 같은 높은 부하의 워크로드에 가속화된 컴퓨팅 인스턴스를 권장한다.

인스턴스 환경 구성

EC2 인스턴스 유형 선택만큼이나 중요한 것은 어디에서 운영할지 결정하는 것이다.

AWS 리전

aws는 전 세게 데이터 센터에 서버를 보유하고 있으며, 이는 지리적 리전으로 구성되어 있다. 보통은 대다수 고객 또는 최종 사용자와 물리적으로 근접한 리전에서 ec2 인스턴스를 시작할 것 이고, 법적 규제를 받는 데이터를 가지고 작업할 때는 규정 준수 요구에 맞는 리전에서 ec2 인스턴스를 시작한다.

ec2 리소스는 사용자가 선택한 리전에서만 관리할 수 있다. 리전마다 서비스의 기능, 특징, 비용이 다르기에 최신 공식문서를 참고하길 바란다.

VPC

Virtual Private Cloud(가상 프라이빗 클라우드) 의 약자이다. 훌륭한 aws 네트워크 구성 도구로서 인프라를 쉽게 구성할 수 있게 한다. VPC를 사용하면 인스턴스를 다른 인스턴스들과 쉽게 분리해서 실행이 가능하며, 프로젝트 단위나 프로젝트 단게별로 vpc 를 새로 만들어 사용 가능하다.

테넌시

  • ec2 인스턴스를 시작할 때 테넌시 모델을 선택할 수 있음.
  • 기본 설정 = 공유 테넌시 : 여러 인스턴스가 한 물리 서버에서 동시에 가상 머신으로 실행됨.
  • 같은 물리서버에서 다른 aws 고객이 소유한 가상 머신이 동시에 실행될 가능성은 있어도 인스턴스 사이에 안전하지 않은 상호 작용이 발생할 가능성은 희박함.
  • 조직의 규정에 인스턴스를 다른 환경과 특별히 격리해야 하는 규제 사항이 있는 경우, 전용 인스턴스를 선택하면 그 조직만을 위한 전용 서버에서 인스턴스가 실행됨.
  • 다른 고객 계정의 리소스와 서버를 공유하지 않고, 사용자가 물리 서버를 지정하고 제어할 수 있으며, 라이선스나 규제 요구 사항도 준수할 수 있다.

인스턴스 동작 구성

부트스트랩 : 인스턴스 구성 단게에서 사용자 데이터를 지정해 인스턴스가 부팅할 때 명령을 실행할 수 있게 하는 것.

스크립트 파일을 작성해 콘솔에서 인스턴스를 시작할 때 인스턴스 세부 정보 구성에서 지정하거나 aws cli 에서 user-data 값을 사용하면 필요한 상태로 인스턴스를 구성할 수 있음.

사용자 데이터는 간단한 명령으로 구성할 수도 있고, 정교한 스크립트로도 구성할 수 있다.

인스턴스 요금

온디맨드 모델 : 시간당 요금으로 지급하는 모델. aws 리소스를 가장 유연하게 사용할 수 있는 방법. 하지만 다른 모델과 비교하면 시간당 요금이 가장 비쌈.

에약 인스턴스 모델 : 1년 또는 3년 기간 약정으로 예약하여 대폭 할인된 요금 혜택을 얻을 수 있다.

스팟 인스턴스 모델 : 갑자기 중단돼도 피해가 크지 않은 워크로드를 가동할 때 비용을 많이 절감할 수 있다. 특정 리전에서 실행되는 인스턴스 유형에 대해 사용자가 최대 입찰 요금을 입력해서 인스턴스를 사용하는 것이다.

인스턴스 수명 주기

여러가지 방법이 있는데 어떤 방법을 적용하든 인스턴스를 종료하면 사용하던 리소스는 aws 리소스 풀로 반환된다.

인스턴스 중지, 이때 인스턴스 스토어 볼륨의 데이터는 삭제되지만, EBS 볼륨에 저장된 데이터는 삭제되지 않는다.

인스턴스에 할당된 임시 퍼블릭 IP 주소는 중지했다가 재시작하면 대개 다른 주소로 바뀐다. 고정 ip 를 원한다면 탄력적 ip 주소를 할당하자.

인스턴스가 실행되는 동안에도 언제나 보안그룹 편집하거나 인스턴스 액세스 정책을 업데이트 가능.

인스턴스 유형을 변경하려면 인스턴스를 중지, 변경 -> 다시 시작해야한다.

리소스 태그

aws 계정에 리소스를 많이 배포할수록 리소스를 제대로 추적하기 어려워진다. vpc 여러 개에 볼륨, 탄력적 ip 주소를 연결한 ec2 여러개의 분산해놓으면 매우 복잡해진다.

이런 경우 리소스를 빠르게 식별할 수 있도록 명명 규칙에 따라 태그를 붙이는 것이다.

aws 계정에서는 리소스에 식별 표를 붙일 수 있는데 이것을 리소스 태그라도 한다.

태그를 적절하게 적용하면 리소스의 가시성을 높이고, 리소스를 더 쉽고 효과적으로 관리할 수 있다.

서비스 할당량

기본적으로 aws 계정당 시작할 수 있는 특정 서비스의 인스턴스 수는 제한돼 있다. 계정 내에서 리전당 할당량이 있는 서비스도 있고 글로벌 할당량이 있는 서비스도 있다.

profile
안녕하세요 DevOps 엔지니어로 현업에서 활동중인 요한이라고 합니다.

0개의 댓글