AWS
[AWS] EC2 - Associate
배씌
2025. 9. 22. 14:25
🛜 Private vs Public IP (IPv4)
네트워크에는 두 종류의 IP가 있다.
- IPv4 : 1.160.10.240
- [0-255].[0-255].[0-255].[0-255]
- 37억 개의 다른 주소 -> 이제 거의 다 고갈됨
- IPv6 : 3ffe:1900:4545:3:200:f8ff:fe21:67cf
[공용 IP, 비공개 IP 차이점]
Public IP
- 인터넷 상에서 식별 가능 (WWW)
- 웹 상에서 고유한 IP (다른 기기에서 중복 불가능)
- 지리적 위치 쉽게 찾을 수 있음
Private IP
- 사설 네트워크 안에서만 식별 가능
- 해당 사설 네트워크 안에서만 고유한 IP 이면 됨.
- NAT + 인터넷 게이트웨이(프록시) 이용해서 WWW 접속 가능
- 지정된 범위의 IP만 사설 IP로 사용 가능
🌐 Elastic IP (탄력적 IP)
- EC2 인스턴스 재시작할 때, 공용 IP 변경 가능
- 고정된 공용 IP 사용할 경우에, 반드시 탄력적 IP가 필요
- 한 번에 한 인스턴스에만 사용
- 계정당 탄력적 IP는 5개 까지만
-> 결론 : 탄력적 IP는 사용하지 않는 것이 좋다.
🏝️ Placement Groups (배치 그룹)
EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할 때 사용
[배치 그룹 전략 3가지]
- 클러스터(Cluster) : 단일 가용 영역 내에서 지연 시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화
- 분산(Spread) : 인스턴스를 다른 하드웨어에 분산 시zla (AZ당 최대 7개의 인스턴스) -> Critical Applications
- 분할(Partition): 분산 배치 그룹과 비슷하게 인스턴스를 분산하려는 것.
- EC2 인스턴스 그룹 당 수백 개의 인스턴스로 확장 가능 (Hadoop, Cassandra, Kafka).
- 장애 격리
1. 클러스터(Cluster)
: 모든 EC2 인스턴스가 동일한 가용영역(AZ) 에 있다.
- 장점: 인스턴스 간 우수한 네트워크 (초당 10 Gbps 대역폭) - 성능 우수
- 단점: 장애 발생 시, 모든 EC2 인스턴스가 동시에 실패한다.
- 사용 사례:
- 빅데이터 작업
- 짧은 지연 시간과 많은 데이터 처리량 요구 작업
2. 분산(Spread)
: 모든 EC2 인스턴스가 다른 하드웨어에 위치. -> 실패 위험을 최소화
- 장점: 동시 실패 위험 감소
- 단점: AZ 당 최대 7개의 인스턴스로 제한
- 사용 사례:
- 가용성 최대화 애플리케이션
- Critical 애플리케이션 - 인스턴스 에러 격리
3. 분할(Partition)
: 여러 가용영역의 파티션에 인스턴스를 분산
- 각 AZ 당 최대 7개의 파티션
- 같은 리전의 여러 가용 영역에 걸쳐있을 수 있음.
- 최대 100대 EC2 인스턴스 사용 가능.
- 파티션 내 인스턴스는 다른 파티션 내 인스턴스와 랙을 공유하지 않음.
- 파티션 장애는 다른 파티션에는 영향을 미치지 않음.
- EC2 인스턴스는 메타데이터를 통해 파티션 정보에 액세스할 수 있음.
- 사용 사례: HDFS, HBase, Cassandra, Kafka
🌎 ENI - Elastic Network Interface(탄력적 네트워크 인터페이스)
: EC2 인스턴스가 네트워크에 액세스할 수 있게 해줌
VPC의 논리적 구성 요소. 가상 네트워크 카드
[ENI 특징]
- 주요 IPv4와 하나 이상의 보조 IPv4
- 하나의 Elastic IP - Private IP / Public IP
- 하나 이상의 보안 그룹
- EC2 인스턴스와 독립적으로 ENI를 독립적으로 생성하고 즉시 연결하거나, 장애 조치를 위해 ENI를 EC2 인스턴스에서 이동시킬 수 있다.
- 특정 가용 영역에 바인딩된다. 즉 다른 AZ에 있는 EC2 인스턴스에 ENI를 연결할 수는 없다.
🌙 EC2 Hibernate (절전 모드)
기존의 삭제 혹은 재부팅 시에는 많은 자원들이 다시 생성되므로 시간이 오래걸린다.
- 운영 체제가 부팅되고 EC2 사용자 데이터 스크립트가 실행된다.
- 운영체제 부팅이 왼료되고, 애플리케이션도 실행되고 캐시도 구성되기 시작하므로 과정이 끝날 때까지 시간이 다소 걸린다.
EC2 Hibernate 를 사용하면?
- RAM에 있던 인메모리 상태는 보존됨 -> 인스턴스 부팅 속도가 빨라짐
- RAM에 기록된 인메모리 상태는 루트 경로의 EBS 볼륨에 기록됨 -> 따라서, EBS 볼륨은 암호화 되어야 한다.
- 사용 사례:
- 긴 실행 프로세스
- RAM 상태 저장
- 초기화에 시간이 오래 걸리는 서비스
* 알아두면 좋은 것들
- 지원하는 제품군이 많다. (C3, C4, C5, I3, ...)
- 인스턴스 RAM 최대 크기 : 150 GB
- AMI : Amazon Linux 2, Ubuntu, ...
- Root Volume : EBS, 암호화, 충분한 용량
- On-Demand, Reserved, Spot 인스턴스 사용 가능
- 최대 60일 절전 모드 사용 가능