Private IP(사설 IP)
- 머신을 사설 네트워크 내에서 식별 가능하도록 한다.
- private network 안에서는 IP가 unique 하지만, 다른 네트워크 사이에서는 같은 IP가 있을 수도 있다.
- NAT 와 인터넷 게이트웨이(프록시 역할)을 이용하여 www에 연결할 수 있다.
- 특정 영역의 IP만 사설 IP로써 이용할 수 있다.
Public IP(공용 IP)
- 머신을 인터넷 내에서 식별 가능하게 해준다.
- IP가 전체 웹에서 unique해야 한다. 다른 머신과 겹칠 수 없다.
- 인터넷 전역에 액세스 할 수 있다.
*AWS에 사설 IP로 연결하려고 하면 실패한다.
이 컴퓨터가 AWS의 사설 네트워크에 연결되어 있지 않고, 인터넷으로 AWS에 연결되어 있다.
공용 IP를 이용하면 공용 네트워크에서 AWS에 액세스 할 수 있으므로 공용 네트워크가 인터넷 역할을 하게 된다.
- 따라서 ssh를 할 때 aws와 같은 네트워크에 있지 않기 때문에 private IP를 사용할수 없다. 따라서 오직 Public IP만 사용하게 된다.
- 머신을 껐다 켜면 public IP가 바뀌게 된다.
Elastic IPs
- 인스턴스를 중지 후 재시작하면, public IP가 바뀌게 된다.
- Elastic IP를 이용하면 인스턴스를 중지하고 재시작했을 때 public IP주소가 변경되지 않는다.
- 특정 EC2 인스턴스에 할당될 수 있다.
- 한 인스턴스에 한 개만 할당 가능하다.
- 한 계정 당 최대 5개의 Elastic IP를 가질 수 있다.
- 이 연결이 유지되는 한 탄력적 IP도 계속 유지하게 된다.
- 탄력적 IP 주소를 가지고 있는데 사용하지 않으면 요금이 부과된다.
- 인스턴스에 연결하게 되면 - public IP와 Elastic IP 값이 같아진다.
ssh를 쓸 수도 있지만, ... 만약 stop 후 start하게 되어도 public IP가 바뀌지 않으므로 좋다.
- 사용하지 않으면 release해야한다.
* 하지만 Elastic IP는 구조적 결정(architectural decision)이 별로 좋지 않아 사용을 지양한다.
주로 이를 대체하여, random Public IP를 이용하거나 DNS name을 등록한다.
혹은 로드 밸런서를 이용하고 public IP를 사용하지 않도록 한다.
Placement Groups(배치 그룹)
- 인스턴스 배치 전략을 정하고 싶을 때 사용한다.
1. Cluster
- 하나의 AZ에 인스턴스들을 두는 것.
- 지연속도가 느리고 성능이 좋다.
- 하나의 rack이 다운되면, 전부 다 fail된다.
- Big Data 작업에 유용하다.
2. Spread
- 여러 하드웨어에 걸쳐 인스턴스를 두는 것
- 동시 failure할 리스크가 감소한다.
- 한 AZ, 한 당 최대 7개의 인스턴스를 둘 수 있다.
- High Availability와 위험도 감소를 위해 자주 사용된다.
- 중요한 Application일 때
3. Partition
- 여러 파티션에 걸쳐 인스턴스를 두는 것. - 각각의 파티션은 AWS의 랙(rack)을 나타낸다.
- AZ당 최대 7개의 파티션을 둘 수 있다.
- 파티션은 동일한 region의 여러 AZ에 걸쳐 있을 수 있다.
- 서로의 rack 실패로부터 안전하다
- 인스턴스들은 메타데이터로 파티션의 정보에 액세스할 수 있다.
- 다른 오류 파티션과 분리되어야 한다.
- 파티션 인식 가능한 애플리케이션에 사용된다.
배치그룹 생성
배치그룹 적용
EC2 > 인스턴스 시작하기 클릭
Elastic Network Interfaces(ENI)
- 가상 네트워크 카드를 보여주는 VPC 내의 논리적 요소
- EC2 인스턴스가 네트워크에 액세스할 수 있도록 해 준다.
- 특정 AZ에 바운드되어 있다. - 특정 AZ에서 ENI 만들면 거기서만 바인딩이 가능하다.
- Primary private IPv4, 한개 이상의 secondary IPv4(보조 IP) 의 속성을 가지고 있다.
EC2 Hibernate(절전 모드)
*- Stop : EBS 내의 데이터가 유지된다.
- Terminate : EBS 내의 데이터가 손실된다.
- 처음 시작할 때 : OS가 부팅되고, EC2 User Data script가 실행된다.
- 그 이후 시작할 때 : OS가 부팅된다. - application들이 시작하고, 캐시들이 warm up되고, 이는 시간이 걸린다.
- in-memory(RAM)의 상태가 보존된다.
- 인스턴스가 부팅되는 속도가 훨씬 빨라진다. - OS가 재시작되지 않기 때문이다.
- root EBS 볼륨내에 RAM의 상태가 저장된다.
- root EBS 볼륨은 암호화되어야 한다.
- 주로 장기 실행 프로세스를 계속 실행하려 할 때 사용된다.
- RAM의 상태를 저장할 때
- 초기화가 오래 걸리는 서비스에 활용된다.
- 인스턴스 RAM 사이즈는 150GB 미만이어야 한다. - RAM을 모두 디스크에 넣어야 하므로 용량이 넉넉해야 한다.
- bare metal 인스턴스에는 지원되지 않는다.
- Root Volume은 반드시 EBS여야 하고, 암호화되어야 한다. 또한 용량이 커야 한다.
- On-Demand, Reserved 인스턴스에 사용 가능하다.
- 60일 이상 절전할 수는 없다.
EC2 Nitro
- EC2 인스턴스의 다음 세대
- 새로운 가상화 기술
- 더 나은 성능을 보인다.
- 더 빠른 EBS - 64,000 EBS IPS (*Nitro가 아닌 경우에는 최대 32,000 IOPS까지 지원 가능하다)
vCPU (=Thread)
- 여러 개의 스레드가 하나의 CPU에 실행될 수 있다.
- 각각의 스레드는 vCPU로써 표현된다.
* CPU options을 최적화하기
만약 RAM이 충분하고, 16Core일 때, 코어 양에 따라 요금이 부과된다고 하면, CPU의 개수를 줄일 수 있고, CPU당 스레드의 개수도 줄여볼 수 있다. 이는 instance launch 단계에서만 할 수 있다.
Capacity Reservation(용량 예약)
- 추가 용량을 미리 계획하기 위해 사용한다.
- 1 ~ 3년 단위의 구매가 아님
- 용량 액세스는 구매하자마자 즉시 간으하다.
- 하나의 AZ에만 가능하다
- Reserved Instance와 Saving Plans와 합치면 요즘 절약이 가능하다.
'Public Cloud > AWS' 카테고리의 다른 글
AWS - RDS 개념, 실습 (0) | 2022.05.31 |
---|---|
AWS - EC2 인스턴스 스토리지(EBS, EFS) (0) | 2022.05.30 |
AWS - EC2 Basic (0) | 2022.05.27 |
AWS - IAM 및 AWS CLI (0) | 2022.05.25 |
AWS - AWS 기본 이론 (0) | 2022.05.16 |