728x90
Private vs Public vs Elastic IP
Private vs Public IP (IPv4)
네트워킹은 IPv4와 IPv6의 두가지 종류를 갖고있다.
- IPv4: 1.160.10.240
- IPv6: 3ffe:1900:4545:3:200:f8ff:fe21:67cf
해당 과정에서는 IPv4를 사용하지만, AWS에서는 IPv6도 지원한다. IPv4는 온라인에서 가장 많이 사용되는 형식 중 하나이고, IPv6는 IoT를 위해 주로 사용된다.
▶ IPv4: [0-255].[0-255].[0-255].[0-255].
Private vs Public IP Fundamental Differences
- Public IP
- 공용 IP는 머신이 인터넷에서 식별될 수 있음
- 공용 IP는 전체 웹애서 고유해야 함 (두 머신이 같은 공용 IP를 가질 수 없음)
- IP를 검색하면 지리적 위치 정보를 찾을 수 있음
- Private IP
- 사설 IP는 컴퓨터가 사설 네트워크에서만 식별될 수 있음
- IP는 사설 네트워크에서만 고유한 값을 가져야 함
- 두 개의 다른 회사에서 같은 사설 IP 주소를 사용해도 문제가 되지 않음
- 컴퓨터는 프록시 역할을 하는 인터넷 게이트웨이를 사용하여 인터넷에 연결됨
- 지정된 범위의 IP만 사설 IP로 사용할 수 있음
Elastic IPs
📌 Elastic IP란?
EC2 인스턴스를 시작하고 멈출 때 공용 IP는 변화한다. 인스턴스를 위해 고정된 공용 IP가 필요하다면 'Elastic IP'가 이러한 기능을 할 수 있다. Elsatic IP는 삭제하지 않는 한 소유할 수 있는 공용 IPv4 IP로, 한번에 한 인스턴스에 부착할 수 있다.
- Elastic IP 주소가 있으면 이를 이용하여 한 인스턴스에서 다른 인스턴스로 빠르게 이동하며 인스턴스나 소프트웨어의 실패를 감출 수 있음
- 하지만 한 사용자가 해당 계정에 사용할 수 있는 Elatic IP는 5개 뿐이다 (AWS에 늘려달라고 요청할 수 있지만 거의 드문 경우)
- 전반적으로 Elastic IP의 사용을 피하는 것을 권장
→ Elastic IP의 사용은 좋은 아키텍처를 위한 결정은 아니기 때문에 랜덤 공용 IP를 사용하고 DNS 이름을 할당할 수 있도록 하는 것이 좋음
📂 정리
탄력적 IP는 인터넷을 통해 접속할 수 있는 고정적인 공인 IP 주소를 할당해주어 인스턴스에 연결할 수 있다. 즉, 인스턴스를 중지했다가 다시 시작해도 공용 IP 주소가 변경되는 것이 아닌 고정된 IP 주소를 사용할 수 있다. DNS 서버셍서 도메인과 IP 주소를 연결해야 하거나, IP 주소가 바뀌지 않고 계속 유지해야 하는 경우 Elastic IP를 사용한다.
출처) [AWS] EIP 개념 & 사용 세팅 정리
EC2 Placement Groups
참고 자료: https://jibinary.tistory.com/259
이미지 출처: https://www.linkedin.com/pulse/aws-placement-groups-mohammad-hosein-chahardoli/
Placement Groups
EC2 인스턴스 배치 전략을 통해 원하는 방식으로 통제할 수 있다. 이러한 전략은 배치 그룹을 이용하여 정의될 수 있다. 배치 그룹을 만들 때, 그룹에 대해 3가지 전략을 사용할 수 있다.
- Cluster: 단일 가용성 영역 내의 저지연으로 함께 그룹화되는 인스턴스
- Spread: 인스턴스가 다양한 하드웨어에 걸쳐 확산되어 있음 (AZ 즉, 가용성 영역의 그룹 당 최대 7개의 인스턴스) → 중요한 애플리케이션이 있을 때 주로 사용
- Partition: 인스턴스가 AZ 영역 내에서 여러 다른 파티션들에 분산되어 있음 → 그룹 당 수백개의 EC2 인스턴스로 스케일링 할 수 있음 (Hadoop, Cassandra, Kafka와 같은 응용 프로그램도 사용 가능)
Placement Groups - Cluster
- 장점: 좋은 네트워크 제공 (인스턴스 간 초당 10기가의 대역폭을 지원하여 네트워킹이 활성화됨)
→ 지연시간은 최소화하고 네트워크 처리량은 많음 - 단점: 가용성 영역이 실패하면 모든 인스턴스가 동시에 실패함
- 활용 사례: 높은 네트워킹으로 빠른 처리를 요구하는 빅데이터, 고성능 컴퓨팅과 같이 네트워크 통신이 많이 필요한 애플리케이션 등
Placement Groups - Spread
- 장점
- 여러 가용성 영역에 걸쳐 위치함
- 동시에 실패할 위험을 줄임 (즉, 동시 오작동 위험을 줄임)
- EC2 인스턴스는 다른 물리 하드웨어에 위치함
- 단점: 배치 그룹의 AZ 당 7개의 인스턴스로 제한됨
- 활용 사례: 고가용성을 극대화해야 하는 애플리케이션, 인스턴스 실패가 서로 격리되어야 하는 중요한 애플리케이션 등
Placements Groups - Partition
- AZ 당 최대 7개의 파티션을 가질 수 있음
- 같은 지역에 다수의 가용성 영역에 걸쳐 분할할 수 있음
- EC2 인스턴스를 수백 개까지 설정할 수 있음
- 파티션 인스턴스는 다른 파티션의 인스턴스와 같은 하드웨어 물리 랙(racks)을 공유하지 않아 하드웨어 장애로 인한 영향을 줄일 수 있음
- 따라서, 파티션의 실패 즉, 오류는 다른 파티션에 있는 많은 EC2에 영향을 주지 않음
- EC2 인스턴스는 메타데이터 서비스를 이용하여 파티션 정보에 접근할 수 있음
- 활용 사례: HDFS, HBase, Cassandra, Kafka → 파티션 인식을 하는 애플리케이션
Elastic Network Interfaces (ENI)
탄력적 네트워크 인터페이스
- VPC의 논리적 구성요소로 가상 네트워크 카드를 나타냄
- ENI가 가지고 있는 속성
- 기본 IP(Primary Private IP), 추가 IP(Secondary Private IP)
- 사설 IPv4 당 하나의 탄력적 IP (IPv4)
- 하나의 공용 IPv4
- 하나 혹은 그 이상의 보안 그룹
- MAC 주소
- EC2 인스턴스에서 독립적으로 ENI를 생성하고 바로 첨부하거나 장애 조치를 위해 EC2 인스턴스에 옮길 수 있음
- 특정 가용성 영역에 묶여있음
→ ENI는 다른 가용성 영역에 있는 EC2 인스턴스에는 연결할 수 없음 즉, 다른 인스턴스에 연결할 수 있지만 연결하고자 하는 EC2 인스턴스가 같은 가용성 영역 안에 있어야 함.
▶ 실질적으로 ENI가 EC2의 서브넷 위치와 보안 그룹의 연결을 담당한다. 즉, 서브넷 안에 EC2를 두는 것이 아니라 서브넷 안에 ENI를 두고 EC2와 연결시킨다. EC2는 그저 같은 가용성 영역에 있을 뿐이다.
📂 참고자료
- https://jibinary.tistory.com/133
- [AWS SAA] Elastic Network Interfaces(ENI)
- [AWS] Network - VPC Network Interfaces
📌 ENI 정리
▶ 정리하자면 ENI는 AWS EC2가 네트워크 통신을 하기 위해 필요한 EC2 인스턴스에 붙일 수 있는 가상 네트워크 카드이다. 즉, IP 주소, MAC 주소, 서브넷, 보안 그룹 등 네트워크 정보를 담고 있는 네트워크 장치라고 할 수 있다.
→ ENI 없이는 복잡한 네트워크 설계나 장애 대응이 매우 불편해짐
→ EC2 하나에 여러 개의 ENI를 설정할 수 있음 (마치 노트북에 랜카드 여러개 꽂는 느낌)
→ ENI는 인스턴스 생성 시에 기본적으로 만들어지는 ENI가 있고, 추가 설정을 위해 ENI를 덧붙일 수 있음
→ 장애가 발생할 경우 ENI만 떼서 다른 인스턴스에 부착함으로써 IP는 유지하면서 문제를 해결할 수 있음
EC2 Hibernate
EC2의 최대 절전 모드
< 인스턴스를 중지하거나 종료할 경우 >
- 중지: EBS 디스크의 데이터는 다음 시작까지 온전하게 유지됨
- 종료: EBS 루트 볼륨을 설정하여 인스턴스가 종료될 때 함께 종료됨
< 인스턴스를 시작할 경우 >
- 인스턴스의 첫 시작: 운영체제가 부팅되고 EC2 사용자 데이터 스크립트가 실행됨
- 이후 인스턴스 시작: OS가 부팅됨
🔍 Hibernate 모드에서 발생하는 특징
- RAM에 있는 인메모리 상태는 그대로 보존됨
- OS가 중지되거나 재시작되는 것이 아니므로 인스턴스의 부팅이 빨라짐
- 메모리의 상태는 루트 EBS 볼륨에 파일로 기록되기 때문에 Root EBS 볼륨은 암호화 해야하며, RAM을 저장할 충분한 공간이 있어야 함
- Use Cases
- 오랫동안 실행되어야 하는 프로세스를 중지하지 않아야 할 때
- RAM 상태를 저장하고 싶을 경우
- 재부팅을 하고 싶을 경우 초기화에 시간이 걸릴 때
- 지원 사양
- 인스턴스 유형 : C3, C4, C5, I3, M3, M4, R3, R4, T2, T3, …
- 인스턴스 RAM 용량 : 150GB 미만
- 인스턴스 크기 : 배어 메탈 인스턴스는 지원하지 않음 (베어메탈: 가상화를 사용하지 않고 물리적으로 분리된 컴퓨팅 자원)
- AMI : Amazon Linux 2, Linux AMI, Ubuntu, RHEL, CentOS & Windows …
- Root Volume : 루트 볼륨은 반드시 EBS이고 암호화되어야 하며 RAM을 덤프할 수 있을 만큼의 용량이 필요함
- On-Demand, Reserverd, Spot, 모든 종류의 인스턴스에서 사용할 수 있음
- 최대 60일까지 사용 가능
728x90
'Cloud > AWS' 카테고리의 다른 글
[AWS SAA] EC2 Instance Storage (0) | 2025.04.16 |
---|---|
[AWS SAA] EC2 Fundamentals (1) | 2025.04.13 |
[AWS SAA] IAM & AWS CLI (0) | 2025.04.12 |
[AWS SAA] AWS Cloud Overview (0) | 2025.04.05 |
[CI/CD] Blue/Green 무중단 배포 - EC2 (0) | 2024.09.18 |