1. EC2
Amazon Elastic Compute Cloud의 약자인 EC2는 사용자가 가상 컴퓨터를 임대받아 그 위에 자신만의 애플리케이션을 실행할 수 있도록 하는 서비스이다.
- 컴퓨팅 자원에 대해 원하는 만큼 확장하거나 축소하여 유연하게 사용할 수 있는 개념
- 사용자가 요구하는 1) 운영 체제, 2) CPU 옵션, 3) 다양한 인스턴스 유형 제공, 4) 구매 옵션 등 AMI을 통해 정의
EC2 인스턴스의 상태에서 중단과 종료는 구분되어야 하는데, 중단(Stop)은 인스턴스를 종료하는 것이 아닌 인스턴스를 사용하지 않을 경우를 의미하며, 종료(Terminate)는 인스턴스를 삭제하는 것을 의미한다.
또한, EC2는 하나의 가상 컴퓨터로 보안 문제 역시 고려해야 한다. 보통 EC2를 생성하면 보안 그룹(Security Group)을 통해 EC2에 접근을 허용하는 규칙을 생성하여 불필요한 접근을 제한하도록 한다.
1-1. EC2 인스턴스 유형
- General Pupose (범용 인스턴스)
- 이는 웹서버나 코드 저장소와 같은 다양한 작업에 자주 사용된다.
- Compute Optimized (컴퓨팅 최적화 인스턴스)
- 고성능 프로세서가 필요한 집중 컴퓨팅 워크로드에 적합한 유형이다.
- Memory Opimized (메모리 최적화 인스턴스)
- 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합하다.
- In Memory가 되는 비관계형/관계형 DB에 사용한다.
- 대규모 비정형 데이터이 사용되는 실시간 처리 애플리케이션에 사용한다.
- Storage Opimized (스토리지 최적화 인스턴스)
- 로컬 스토리지에서 대규모 데이터를 액세스하는 경우 적합
- 관계형과 NoSql DB에 사용
자세한 내용은 https://aws.amazon.com/ko/ec2/instance-types/ 에서 확인할 수 있다.
1-2. EC2 User Data (= BootStrap Script)
EC2 User Data를 사용하여 EC2 인스턴스가 시작될 때 BootStrapping이 가능하도록 한다.
- BootStrapping : EC2 인스턴스가 처음 작동될 때 명령을 시작하는 것을 의미하며, 이후에는 실행되지 않는다.
- EC2 User Data Script의 경우, 오직 루트 계정에서만 실행된다. (sudo 명령어)
1-3. EC2 구매 옵션
- On-Demand Instance
- 단기적인 워크로드나 중단 없는 워크로드에 적합하다.
- Reserved Instance
- 이는 장기적인 워크로드에 적합하며, 1년 혹은 3년의 기간을 설정할 수 있다.
- Convertible Reserved : 시간이 지남에 따라 인스턴스 타입이 변경되길 원하는 경우를 의미한다.
- Saving Plan
- Reserved Instance와 마찬가지로 장기적인 워크로드에 적합하며 1년 혹은 3년의 기간을 약정할 수 있다.
- 하지만 한도가 넘어설 경우, 한도 초과된 사용량에 대해선 On-Demand 가격으로 청구된다.
- 특정한 Instance와 패밀리 그리고 리전은 고정이다.
- Spot Instance
- On-Demand Instance와 같이 단기적인 워크로드에 적합하다.
- 최대 90%까지 할인되는 비용이 저렴한 구매 옵션에 해당하지만, 갑자기 중단될 수 있는 단점을 지니고 있다.
- 인스턴스 복구가 가능할 경우에는 유용하며, 중단될 때 치명적이지 않은 워크로드에 적합하다.
- Spot Instance를 종료하기 위해선 스팟 요청을 중단한 뒤, 인스턴스를 종료해야 한다.
- 중단하기 위해 요청의 상태는 Open, Active, Diasabled만 가능하다.
Spot Instance을 사용할 때에는 On-Demand Instance와 묶어 사용하기도 한다. 이를 Spot Fleets라고 한다. 이는 용량과 비용을 지정하여 Spot Fleets이 원하는 용량 혹은 예산에 도달할 경우, 인스턴스의 시작을 중단하기에 Spot Fleets에 할당하는 Spot Instance 할당 전략을 정의해야 한다.
- Dedicated
- 이는 인스턴스 혹은 물리적 서버를 독점할 수 있는 인스턴스 유형으로 2가지의 종류가 있다.
- 높은 수준의 규정 준수가 필요한 기업 혹은 라이선스 모델을 가진 소프트웨어에 적합하다.
- 물리적 코어 및 기반 네트워크 소켓 가시성을 기반으로 비용을 책정하기에 가장 비싼 옵션이다.
- Dedicated Instance
- 이는 다른 사람과 공유가 불가능한 인스턴스를 생성하지만, 물리적 서버는 공유가 가능하다.
- Dedicated Host
- 물리적 서버 전체를 예약하여 배치를 제어하여, 리소스를 독점할 수 있다.
- Dedicated Instance
- Capacity Reservation
- 비교적 최근에 나온 구매 옵션으로 특정 AZ에 원하는 기간만큼 용량을 예약할 수 있다.
- 특정 AZ에 원하는 인스턴스 수를 예약하여 트래픽이 증가할 경우, 정의해 놓은 인스턴스를 즉시 가용하여 가용성 보장을 목표로 할 때 유용한 구매 옵션이다.
2. Security Group
보안 그룹이라고 불리는 Security Group은 우리가 사용하고 있는 컴퓨터에서 방화벽과 같은 역할을 한다. EC2에 들어오고 나가는 트래픽에 대해 제어할 수 있는 기능으로 EC2에 접근하기 위해 들어오는 트래픽을 Inbound Traffic, EC2에서 나가고자 하는 트래픽을 Outbound Traffic을 정의할 수 있다.
보압 그룹은 오직 허용 규칙만을 포함하며, IP 주소 혹은 다른 보안 그룹을 기준으로 규칙을 설정한다. 보안 그룹에서 정의된 인바운드 규칙이 허용될 경우, 그 대상으로의 아웃바운드 규칙 역시 허용되는데 이는 stateful로 상태가 관리되기 때문이다.
보안 그룹은 리전과 VPC에 제한되어 다른 리전으로 전환해야 하는 경우 혹은 다른 VPC를 생성하는 경우에는 또 다른 보안 그룹을 생성해야 한다.
3. Elastic IP
계정 당 5개를 할당할 수 있는 Elastic IP는 EC2 인스턴스를 중지하고 시작할 때, Public IP가 설정될 수 있도록 한다. 이는 고정적인 IP 주소로 인스턴스를 재부팅하거나 다시 할당하더라고 유지된다는 특징이 있으며, 할당된 상태에서는 무료로 사용할 수 있지만, 리소스와 연결하지 않을 경우 비용이 발생한다.
하지만 이를 사용하는 것 대신 임의의 공용 IP를 사용하여 DNS 이름 할당하는 것을 권장하고 있다.
4. Placement Groups : 배치 그룹
배치 그룹은 EC2 인스턴스가
4-1. Cluster : 클러스터
이는 단일 AZ 내에 지연 시간이 짧은 하드웨어를 설정으로 인스턴스를 그룹화한다.
같은 AZ 내 같은 랙이 존재하여 지연 시간이 짧고 처리량이 많은 네트워크를 확보할 수 있다는 특징을 가지고 있다.
하지만 특정 AZ에 장애가 발생할 경우, AZ 내에 있는 모든 EC2 인스턴스가 장애가 발생할 수 있는 단점이 있다.
4-2. Spread : 분산 배치
인스턴스가 다른 하드웨어로 분산되는 배치 그룹이다. AZ 당 7개의 인스턴스 개수 제한이 있따.
하드웨어나 인프라 고장으로 인해 인스턴스가 장애로부터 최소화할 수 있는 장점이 있다.
4-3. Partition : 분할 배치
분산 배치 그룹과 유사하지만 각 파티션은 AWS의 랙으로, 파티션이 많을 수록 장애로부터 인스턴스가 안전할 수 있는 장점을 가지고 있다. 파티션 하나가 장애가 발생하여도 다른 파티션에는 영향을 끼치지 않는다.
AZ 당 최대 7개의 파티션을 보유할 수 있다.
5. ENI : 탄력적 네트워크 인터페이스
VPC의 논리적 구성 요소로 가상 네트워크 카드를 의미한다. 이는 특정 AZ에 국한된다. 이는 EC2 인스턴스가 네트워크에 액세스할 수 있도록 한다. 또한, 주요 Private IPv4를 가지고 있으며 하나 이상의 보조 IPv4 주소를 보유할 수 있다.
하나의 EC2 인스턴스에 여러 ENI를 연결할 수 있고, EC2 인스턴스에서 다른 EC2 인스턴스로 이동이 가능하여 장애 복구 및 확장성 있는 네트워크 설계의 핵심이 되는 기능이다.
'AWS > AWS SAA-C03' 카테고리의 다른 글
AWS Certified Solutions Architect Associate - EFS (0) | 2024.12.21 |
---|---|
AWS Certified Solutions Architect Associate - EBS (2) | 2024.12.18 |
AWS Certified Solutions Architect Associate - IAM (0) | 2024.12.14 |