EC2 Advanced
IP
공용 IP
다른 공용 IP를 가진 다른 서버와 통신할 수 있다.
공용 IP를 가진 기기는 인터넷상에서 식별될 수 있으며, 인터넷 전역에 액세스할 수 있다.
공용 IP를 갖는 경우 해당 IP의 지리적 위치를 쉽게 찾을 수 있다.
사설 IP
사설 네트워크 내부에서 사용하는 IP이다.
기본적으로 사설 네트워크 내의 모든 컴퓨터가 사설 IP를 사용하여 서로 통신할 수 있다.
사설 IP는 사설 네트워크 내에서만 액세스할 수 있다.
탄력적 IP
EC2 인스턴스를 시작하고 중지하더라도 항상 고정된 공용 IP를 갖도록 해준다. (일반적으로 인스턴스를 중지하고 다시 시작하면 공용 IP가 바뀔 수 있다.)
하나의 EC2 인스턴스에만 적용할 수 있다.
만약 한 인스턴스에 장애가 발생해 다른 인스턴스로 트래픽을 옮기고 싶은 경우, 탄력적 IP가 다른 인스턴스에 적용되도록 변경할 수 있다.
하지만 계정당 탄력적 IP를 5개만 쓸 수 있고, 탄력적 IP 대신 로드밸런서나 DNS를 사용하는 것을 권장한다.
기본적으로 EC2 인스턴스는 내부 AWS 네트워크에서 사설 IP를 쓰고, World Wide Web(WWW)엔 공용 IP를 사용한다.
EC2 배치 그룹
EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어할 수 있다.
클러스터 배치 그룹
단일 AZ 내에서 지연 시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화할 수 있다.
높은 성능을 제공하지만 단일 AZ 내에 모든 인스턴스가 배치되므로 해당 AZ에 장애가 생기면 모든 서비스가 중단될 수 있다.
모든 인스턴스 간에 초당 약 10기가비트의 대역폭을 확보하여 향상된 네트워킹을 활성화할 수 있다.
매우 빠른 네트워킹으로 매우 빠르게 완료해야 하는 빅데이터 작업 등에 적합하다.
분산 배치 그룹
모든 EC2 인스턴스가 서로 다른 하드웨어에 분산되도록 할 수 있다.
가용 영역별로 분산된 배치 그룹당 7개의 EC2 인스턴스만 가질 수 있다는 제한 사항이 있다.
분할 배치 그룹
여러 파티션에 인스턴스가 분할되어 있고, 파티션은 가용 영역 내의 다양한 하드웨어 랙에 분포된다.
파티션은 동일한 리전의 여러 가용 영역에 걸쳐 있을 수 있다.
파티션이 많으면 인스턴스가 여러 하드웨어 랙에 분산되어 랙 실패로부터 안전하다.
가용 영역당 최대 7개의 파티션이 존재할 수 있다.
한 파티션에 오류가 나더라도 다른 파티션에는 영향을 미치지 않는다.
그룹당 수백 개의 EC2 인스턴스로 확장할 수 있다.
EC2 인스턴스가 어떤 파티션에 있는지 알기 위해 메타데이터 서비스를 사용할 수 있다.
파티션들 전반에 걸쳐 데이터와 서버를 퍼뜨려 두도록 파티션 인식 가능한 애플리케이션의 경우에 사용한다.
HDFS, HBase, Cassandra 및 Apache Kafka 등 파티션을 인식하는 빅 데이터 애플리케이션이 이에 해당된다.
EC2 Hibernate 모드
인스턴스를 중지하면 EBS 디스크 데이터는 다시 시작할 때까지 그대로 유지된다.
인스턴스를 종료하는 경우, 루트 볼륨이 삭제되도록 옵션을 지정했는지 여부에 따라 EBS 볼륨의 삭제 여부가 결정된다.
그리고 인스턴스를 다시 시작하면 운영 체제가 먼저 부팅되기 시작하고 EC2 사용자 데이터 스크립트도 실행된다.
절전 모드
인스턴스가 절전 모드가 되면 RAM에 있던 메모리 상태가 그대로 보존된다. 따라서 인스턴스 재부팅이 더 빨라진다.
인스턴스 종료 시 RAM 자체가 남아있을 수는 없고, 백그라운드에서 RAM에 기록되었던 메모리 상태를 루트 경로의 EBS 볼륨에 기록한다. 이후 인스턴스를 다시 실행하면 디스크에서 RAM을 불러와 EC2 인스턴스 메모리로 가져간다.
따라서 루트 EBS 볼륨을 암호화해야 하고 볼륨 용량도 RAM을 저장할 만큼 충분해야 한다.
인스턴스 RAM 크기는 현재 최대 150GB이다.
최대 60일까지 사용할 수 있다.
오래 실행되는 프로세스를 갖고 있고 중지되면 안될 때, RAM 상태를 저장하고 싶을 때, 빠르게 재부팅을 하고 싶을 때, 서비스 초기화가 시간을 많이 잡아먹어 서비스가 중단 없이 인스턴스를 절전 모드로 전환하고 싶을 때 사용하면 좋다.
베어 메탈 인스턴스에는 적용할 수 없다. 온디맨드(On-Demand), 예약(Reserved) 스팟(Spot)와 같은 종류의 인스턴스에 사용할 수 있다.
Linux, Windows 등의 여러 운영 체제에서 사용할 수 있다.
네트워크
ENI
Elastic Network Interface, 탄력적 네트워크 인터페이스
VPC의 논리적 구성 요소이며 가상 네트워크 카드를 의미한다.
EC2 인스턴스가 네트워크에 액세스할 수 있게 해준다.
ENI는 EC2 인스턴스 외부에서도 사용된다.
EC2 인스턴스는 기본 ENI인 Eth0에 연결되어 EC2 인스턴스 네트워크 연결을 제공한다.
EC2 인스턴스에 ENI를 추가적으로 매핑함으로서 메인 사설 IPv4와 하나 이상의 보조 IPv4를 가질 수 있다.
각 ENI는 사설 IPv4당 탄력적 IPv4 혹은 하나의 공용 IPv4를 가질 수 있다.
ENI에 하나 이상의 보안 그룹을 연결할 수 있다.
EC2 인스턴스와 독립적으로 ENI를 생성하고 즉시 연결하거나 장애 조치를 위해 EC2 인스턴스에서 이동시킬 수 있다.
ENI는 특정 가용 영역 즉 AZ에 바인딩된다. 특정 AZ에서 ENI를 생성하면 해당 AZ에만 바인딩할 수 있다.
ENI가 매핑되어 있는 특정 인스턴스에 문제가 생겼다면, 해당 ENI를 다른 인스턴스에 매핑하도록 변경해 사설 IP를 다른 인스턴스로 이동시킬 수 있다. 이를 통해 장애 조치를 할 수 있다.
EC2 Enhanced Networking(SR-IOV)
넓은 대역폭, 높은 PPS(Packet Per Second), 낮은 지연시간을 지원한다.
Elastic Network Adapter(ENA)를 사용하면 네트워크 속도를 100Gbps까지 올려준다.
Intel의 82599VF를 사용하면 네트워크 속도를 최대 10Gbps까지 올려준다. (Legacy)
Elastic Fabric Adapter(EFA)
HPC, 고성능 컴퓨팅을 위해 개선된 ENA이다.
Message Passing Interface(MPI) 표준을 사용한다.
Linux에서만 사용 가능하며, Linux OS를 우회하여 안정적이고 지연시간이 더 짧은 송신을 보장한다.
노드 간 소통이나 밀집된 워크 로드 처리(ex. 분산 계산)에 적합하다.
Last updated