본문 바로가기
AWS

DevOps Day 29 (4.14) AWS - EC2

by Jackykim 2023. 4. 14.

Intro
EC2 아마존 서비스에서 제공하는 클라우드 컴퓨팅 서비스입니다. 클라우드 컴퓨팅은 인터넷(클라우드) 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스입니다.

EC2 사용한만큼 비용을 지불하기 때문에탄력적인이라는 의미의 elastic이라는 단어가 붙어 있습니다. 필요에 따라 성능, 용량을 자유롭게 조절 있습니다.

아마존 EC2 통해서 있는 가장 기본적인 일은 웹서버를 설치하고 서버를 통해서 사용자가 브라우저를 통해 요청하는 서비스를 제공하는 것입니다.

 

EC2 사용 이점 :
-
구성하는 필요한 시간이 짧다는 것입니다.
- AMI
통해서 필요한 용도에 따라 다양한 운영체제에 대한 선택이 가능하다는 것입니다. (운영체제뿐만 아니라 CPU RAM, 용량까지 쉽게 구성 가능)

 

AMI (Amazon Machine Image) : 소프트웨어 구성이 기재된 템플릿입니다. 운영체제만 깔려있는 템플릿, 특정 런타임이 설치된 템플릿 제공이 가능합니다. ) Linux 2 AMI, Ubuntu server, SUSE Linux etc
Amazon EC2 -> AMI -> Instance

 

인스턴스
가상 컴퓨팅 환경으로, 하나의 가상 컴퓨터(서버)라고 생각하면 됩니다. (메모리, 컴퓨팅 파워 설정 가능)
인스턴스 유형 : 인스턴스를 시작할 지정하는 인스턴스 유형에 따라 인스턴스에 사용되는 호스트 컴퓨터의 하드웨어가 결정됩니다. 인스턴스 유형은 서로 다른 컴퓨팅, 메모리, 스토리지 용량을 제공하며, 용량에 따라 인스턴스 패밀리로 분류됩니다. (M7g, M6a, A1, T3, T2 etc)

 

인스턴스의 라이프 사이클

 

인스턴스 구입 옵션
On-Demand :
온디맨드 인스턴스를 사용하면 장기 약정 없이 단위로 컴퓨팅 용량을 구입할 있습니다. 온디맨드 인스턴스가 running 상태인 시간() 대해서만 지불하면 됩니다.

 

Reserved : 예약 인스턴스는 온디맨드 인스턴스 요금과 비교하여 EC2 비용을 대폭(최대 75%) 절감하는 효과를 제공합니다. 예약 인스턴스는 사용량이 거의 확정된 프로덕션 워크로드용 인스턴스 실행에 적합합니다.

 

Spot : 스팟 인스턴스는 온디맨드 가격보다 저렴한 비용으로 제공되는 예비 EC2 용량을 사용하는 인스턴스입니다. 스팟 인스턴스는 온디맨드 인스턴스보다 저렴하게 이용할 있지만, 가격이 상시 변동하기 때문에 일시적으로 인스턴스가 종료될 있습니다. 이러한 이슈를 고려하여, 애플리케이션에서 필요로 하는 최소한의 보장된 컴퓨팅 리소스는 온디맨드 인스턴스로 유지하고, 추가적으로 필요한 경우 스팟 인스턴스를 사용하여 리소스를 보충하는 것입니다.

 

스토리지인스턴스 루트 볼륨 (Instance Root Volume)
처음 EC2 인스턴스가 론칭되면 모든 루트 디바이스는 S3로부터 론칭에 필요한 정보를 가져옵니다. 이와 같이 S3 통해 백업되는 인스턴스 루트 디바이스를 인스턴스 스토어 기반 라고 부릅니다.

 

인스턴스 스토어 기반 인스턴스
인스턴스는 하나 이상의 인스턴스 스토어 볼륨을 자동으로 사용할 있으며, 이러한 볼륨 하나가 루트 디바이스 볼륨 역할을 합니다. 인스턴스 스토어 볼륨의 모든 데이터는 인스턴스가 실행되는 동안 유지되지만, 인스턴스가 종료되거나 장애가 발생하면 데이터가 삭제됩니다.

 

EBS 기반 인스턴스
EBS 루트 디바이스로 사용하는 인스턴스에는 자동으로 EBS 볼륨이 연결됩니다. 인스턴스 유형에 따라 다른 EBS 볼륨이나 인스턴스 스토어 볼륨을 사용할 수도 있습니다.

 

보안

페어 : EC2 퍼블릭-프라이빗 방식을 사용하며, 이는 로그인 정보의 암호화-복호화 모델을 따른 것입니다. 암호화 기법 측면에서 퍼블릭 키는 데이터 암호화에, 프라이빗 키는 데이터 복호화에 사용됩니다. 키는 AWS 콘솔, API, CLI 호출 방식으로 생성하며 EC2 SSH-2 RSA 키를 사용합니다.

 

보안 그룹 (Security Group) : 하나 혹은 다수의 인스턴스에 대한 트래픽을 통제하는 가상의 방화벽입니다. 보안 그룹의 내용은 언제든 수정 있으며, 새로운 규칙이 추가되면 해당 보안 그룹에 포함된 모든 인스턴스에 자동으로 적용됩니다. 보안 그룹의 규칙이 지닌 특징:
-
기본적으로 보안 그룹은 모든 아웃바운드 트래픽을 허용합니다.
-
보안 그룹 규칙은 언제나 허용 여부만 정할 있고 거부 여부는 정할 없습니다.
-
보안 그룹은 스테이트풀(Stateful) 속성을 지닙니다. 인스턴스에서 요청을 보내면, 해당 요청에 대한 응답 트래픽은 보안 그룹의 인바운드 규칙과 무관하게 전달이 허용됩니다.
-
보안 그룹 규칙은 언제든 추가 또는 삭제 있습니다. 변경 사항은 짧은 시간 내에 해당 시큐리티 그룹에 연결된 모든 인스턴스에 적용됩니다.
-
하나의 인스턴스에 여러 개의 시큐리티 그룹을 연결할 경우 시큐리티 그룹의 규칙은 단일 규칙 세트로서 인스턴스에 적용되고 사용자는 규칙 세트를 통해 트래픽의 허용 여부를 결정할 있습니다.

 

네트워킹 – Instance IP 주소 지정
프라이빗 IPv4 : 프라이빗 IPv4 주소는 인터넷을 통해 연결할 없는 IP 주소입니다. 프라이빗 IPv4 주소는 동일 VPC에서 인스턴스 간의 통신을 위해 사용합니다.

 

퍼블릭 IPv4 : 퍼블릭 IP 주소는 인터넷을 통해 연결할 있는 IPv4 주소입니다. 퍼블릭 주소는 인스턴스와 인터넷의 상호 통신을 위해 사용될 있습니다. 필요에 따라 인스턴스 간에 연결할 있는 영구 퍼블릭 IP 주소가 필요한 경우 탄력적 IP(Elastic IP) 주소를 대신하여 사용합니다.

 

Elastic IP : 탄력적 IP 주소는 동적 클라우드 컴퓨팅을 위해 고안된 정적 IPv4 주소입니다. 탄력적 IP 주소는 AWS 계정에 할당되며 해제할 때까지 할당된 상태로 유지됩니다. 도메인이 인스턴스를 가리키도록 도메인에 대한 DNS 레코드에 탄력적 IP 주소를 지정할 있습니다.주의해야 점은 연결 해제한 탄력적 IP 주소는 명시적으로 릴리스할 때까지 계정에 할당되어 있습니다. 따라서 실행 중인 인스턴스와 연결되지 않은 탄력적 IP 주소에 대해서는 소액의 시간당 요금이 부과됩니다.