Private vs Public IP (IPv4)
- IPv4는 가장 많이 쓰이는 유형이고, IPv6는 IoT쪽에서 주로 쓰인다.
- Public IP는 internet(WWW)에서 구분되는 목적이다.
- Private IP는 private network안에서만 구분하기 위한 목적이다.
Elastic IP
EC2를 stop했다가 start하면 public IP가 바뀌기 때문에 고정된 public IP를 가지게 하고 싶으면 Elastic IP를 할당해야 한다.
- Elastic IP는 계정당 5개만 가질 수 있다(증가 원하면 요청 가능)
- 하지만, Elastic IP 사용을 지양하자!
- random public IP를 쓰고, DNS name을 등록하거나
- Load Balancer를 써서 public IP를 안쓰게 할 수 있다.
Placement Group
placement group을 만들 때 다음 3가지 전략 중 하나를 택할 수 있다.
- Cluster: 한 AZ에 몰아넣기(high performance, high risk)
- Spread: spread across different hardware(한 AZ당 최대 7 instance), 매우 critical한 application에 사용
- Partion: Spread와 비슷하지만 모두 분리하는게 아닌 뭉쳐놓을건 뭉쳐놓기
Spread와 Partion의 차이를 보면 다음과 같다.
cf. rack은 물리적인 서버를 의미
Elastic Network Interfaces (ENI)
EC2는 VPC 안에서 virtual network card를 의미하는 Logical component이다.
- 같은 application이 돌고있는 EC2들에서 한 EC2에 장애 발생했을때 ENI만 옮겨주면 빠르게 failover가 가능하다.
- 특정 AZ안에서 바인딩된다.
관련해서 참조하면 좋을 링크: https://aws.amazon.com/ko/blogs/aws/new-elastic-network-interfaces-in-the-virtual-private-cloud/
EC2 Hibernate(동면)
stop과 terminate 외에 hibernate라는 것도 존재한다.
- stop은 disk(EBS)의 데이터를 다음 start까지 가지고 있고,
- terminate는 disk(EBS)를 통째로 삭제한다.
Hibernate을 하면
- in-memory (RAM) state가 보존되고,
- instance boot가 빨라진다.(OS가 stop되거나 restar한게 아니기 때문에)
- 이때, Hibernate를 위해 root EBS volume은 encrypted되어 있어야 한다.
- 또, 인스턴스의 Root Volume이 Instance Store volume이 아닌 EBS Volume이어야 한다.
- 60일까지 Hibernate가 가능하다.
cf. '베어메탈(Bare Metal)'은 하드웨어 상에 어떤 소프트웨어도 설치되어 있지 않은 상태를 뜻한다.
EC2 Nitro
high speed EBS volume을 필요로 할 때, EC2 Nitro type of instance를 선택할 수 있다.
- EC2 Nitro는 최신 세대의 EC2 인스턴스를 위한 기본 플랫폼이다.
vCPU
- 한 CPU안에서 여러 thread가 존재할 수 있고, 각 thread는 virtual CPU(vCPU)로 나타낸다.
즉, 4CPU에 2thread씩 존재하면 총 8vCPU가 존재하는거다.
인스턴스 시작 중에만 # of CPU cores와 # of threads per core를 설정할 수 있다.
- CPU core수 줄이는 경우: for high RAM and low number of CPU
- core당 thread수를 줄이는 경우: for high performance computing (HPC) workloads
EC2 - Capacity Reservations
Capacity Reservation을 통해 필요할 때 EC2 Capacity를 가지는걸 보장한다.
- Reserved Instances와 Saving Plans와 결합하여 가격 절감에 쓰인다.