EnJinnier

[SAA-C03] Part2: EC2 (2) 본문

자격증/AWS

[SAA-C03] Part2: EC2 (2)

공학도진니 2024. 9. 20. 16:42

Section6: EC2 - SAA Level

Private vs Public IP (IPv4)

네트워크는 두 종류의 IP ( IPv4, IPv6 ) 가 있음.

IPv4가 가장 대중적이며 네 개의 숫자가 3개의 점으로 분리된 형태, 

IPv6은 길고 독특한 숫자 기호와 문자로 이루어진 문자열 형태이며 사물 인터넷(IoT)에서 더 많이 쓴다.

 

이때 공용IP 가 있으면 인터넷 전역에 액세스할 수 있고

사설 IP로는 사설 네트워크 내에서만 액세스할 수 있다.

따라서 공용 IP는 곧 기기가 인터넷상에서 식별될 수 있음을 의미한다. (=> 개인이 식별되어야 하므로 두 개 이상의 기기가 같은 공용 IP를 가질 수 없다.)

사설 IP는 오직 사설 네트워크 안에서만 식별될 수 있으며 IP가 사설 네트워크 안에서만 유일한 것이면 된다.

 

Elastic IPs

: EC2 인스턴스를 시작하고 중지할 때 공용 IP를 바꿀 수 있음. 

한 계정당 최대 5개의 Elastic IP 사용가능함.

다만, 그렇게 추천하진 않고 random public IP 를 사용하고 DNS 이름을 할당하는 것이 좋음.

또는, Load Balancer를 사용하고 public IP를 사용하지 않는 방법도 있음.

(EC2 기기는 기본값으로 내부 aws 네트워크엔  private IP를 쓰고 www엔 public IP를 사용함. 그리고 EC2 기기에 SSH를 할땐 vpn을 쓰지 않는 이상 같은 네트워크에 있는게 아니기 때문에 public IP만 사용할 수 있음. 그리고 기기가 멈췄다가 다시 시작하면 공용 IP가 바뀔 수도 있음.)

 

Placement Groups 배치 그룹

: EC2 인스턴스가 AWS 인프라(하드웨어)에 배치되는 방식을 제어하고자 할 때 배치그룹을 씀. 

배치 그룹을 만들 때 3가지 전략 사용 가능.

 

1) Cluster 그룹화

- single AZ 내에서 low-latency (지연 시간이 짧은) 그룹으로 인스턴스를 그룹화

- 높은 성능을 제공하지만 위험성도 높음

- 모든 인스턴스 간에 초당 약 10기가비트의 대역폭을 확보하여 향상된 네트워킹을 활성화할 수 있음.

-> 지연시간이 짧고 처리량이 많은 네트워크 확보, 어떤 종류의 계산 작업에서도 뛰어난 성능을 얻을 수 있음.

- AZ에 장애가 발생하면 모든 인스턴스가 동시에 장애를 일으킨다는 단점.

- 사용 사례 : 매우 빠른 네트워킹으로 매우 빠르게 완료해야 하는 빅데이터 작업 또는 애플리케이션의 각 인스턴스 간에 지연 시간이 매우 짧고 처리량이 많은 네트워크가 필요한 애플리케이션

 

2) Spread 분산

- 하드웨어에 인스턴스들을 분산(한 AZ의 한 배치그룹당 최대 7개의 인스턴스만 가질 수 있음)

- 크리티컬 애플리케이션이 있는 경우 분산 배치그룹 사용

- Cluster과 반대로 실패 위험을 최소화하려고 함.

- 모든 EC2 인스턴스가 다른 하드웨어에 위치하게 됨.

- 여러 가용영역에 걸쳐 있으므로 동시 실패의 위험이 감소함.

- per 배치 그룹,  per 가용 영역 당 7개의 인스턴스로 제한된다는 단점.( 배치 그룹의 규모에 제한 o)

- 사용 사례 : 크기가 적당하지만 너무 크지는 않은 어플리케이션, 가용성을 극대화하고 위험을 줄여야 하는 어플리케이션, 인스턴스 오류를 서로 격리해야 하는 크리티컬 어플리케이션 

 

3) Partition 분할

- 여러 파티션에 인스턴스가 분할되어 있고 이 파티션은 AZ 내의 다양한 하드웨어 racks 세트에 의존함.

- 그룹 당 수백개의 EC2 인스턴스를 통해 확장할 수 있고 이를 통해 Hadoop, Cassandra, Kafka 같은 애플리케이션을 실행할 수 있음.

- 여러 AZ의 파티션에 인스턴스를 분산함.

- 가용영역 당 최대 7개의 파티션이 있을 수 있고, 각 파티션에는 많은 EC2 인스턴스가 있을 수 있음.

- 분할 배치그룹을 사용하는 이유? 각 파티션은 AWS의 rack을 나타냄. 파티션이 많으면 인스턴스가 여러 하드웨어 랙에 분산되어 서로 랙 실패로부터 안전함. 따라서 최대 수백 개의 EC2 인스턴스를 얻을 수 있음(분산 배치 그룹 유형과의 차이점)

- 사용 사례 : 파티션들 전반에 걸쳐 데이터와 서버를 퍼트려 두도록 파티션 인식 가능한 애플리케이션의 경우, 파티션을 인식하는 빅 데이터 어플리케이션

 

Elastic Network Interfaces (ENI) 탄력적 네트워크 인터페이스

VPC의 논리적 구성요소이며 가상 네트워크 카드.

ENI는 EC2 인스턴스가 네트워크에 액세스할 수 있게 해줌.

 

각 ENI는 다음과 같은 속성을 가질 수 있다.

1. 주요 private IPv4와 하나 이상의 보조 IPv4를 가질 수 있음.

2. 각 ENI는 private IPv4 당 하나의 Elastic IP(IPv4)를 가지거나, public IPv4를 가질 수 있음.

3. ENI에 하나 이상의 보안 그룹을 연결할 수 있음.

4. EC2 인스턴스와 독립적으로 ENI를 생성하고 즉시 연결하거나 failover에 대한 조치를 위해 EC2 인스턴스에서 이동시킬 수 있음.

5. ENI는 특정 AZ에 바인딩되므로 특정 AZ에서 ENI를 생성하면 해당 AZ에만 바인딩할 수 있음.

EC2 절전모드 (Hibernate)

인스턴스를 Stop, Terminate가 아닌 절전모드라는 새로운 상태로 두는 것.

인스턴스가 절전 모드가 되면 RAM에 있던 인 메모리 상태는 그대로 보존됨.

- 실행중이던 인스턴스를 절전 모드로 두면 인스턴스는 중지 상태로 전환되고 RAM의 내용은 EBS 볼륨에 덤프됨.

인스턴스를 종료하여 RAM은 사라지지만 EBS 볼륨에는 여전이 RAM이 남아있으므로 인스턴스를 실행하면

디스크에서 RAM을 불러와 EC2 인스턴스 메모리로 가져가게 되고 이렇게 하면 EC2 인스턴스를 중지한 적이 없는 것처럼 됨.

- 사용 사례 : 오래 실행되는 프로세스를 갖고 있고 중지하지 않을때, RAM 상태를 저장하고 싶을 때, 빠르게 재부팅 하고 싶을때, 서비스 초기화가 시간을 많이 잡아먹어 서비스가 중단 없이 인스턴스를 절전 모드로 전환하고 싶을 때

- 모든 종류의 인스턴스에서 절전 모드를 사용할 수 있으며 루트 볼륨(=EBS)에만 저장이 가능하고 암호화가 필요하며, 루트 볼륨에 RAM을 저장할 수 있는 공간이 충분해야 함.

- 인스턴스 램 크기는 150기가 이하여야 함.

 

Section6 Quiz

Question 1:  NodeJS 애플리케이션을 호스트하게 될 EC2 인스턴스를 실행했습니다. 모든 필수 소프트웨어를 설치하고 애플리케이션을 구성한 후, 액세스를 위해 EC2 인스턴스 공용 IPv4를 기록해 두었습니다. 그 다음, 실행을 중단하고 애플리케이션 구성을 완료하기 위해 EC2 인스턴스를 다시 시작했습니다. 그러나 재시작 후, EC2 인스턴스에 액세스할 수 없었으며 EC2 인스턴스 공용 IPv4가 변경된 것을 알게 되었습니다. 이 경우, EC2 인스턴스에 고정적인 공용 IPv4를 할당하려면 어떻게 해야 할까요?

-> EC2 인스턴스에 탄력적 IP 할당

Question 2: EC2 인스턴스 플릿에서 대규모의 데이터 분석을 수행하는 애플리케이션이 있습니다. 여러분은 EC2 인스턴스들이 서로 소통하면서도 가장 높은 수준의 네트워킹 성능을 유지했으면 합니다. 이런 경우, 다음 중 어떤 EC2 배치 그룹을 선택해야 할까요?

-> 클러스터 배치 그룹

Question 3: EC2 인스턴스 플릿에 호스팅된 중요 애플리케이션이 있습니다. 이 애플리케이션에서 AZ 실패가 일어난 경우, 최대 가용성을 달성했으면 합니다. 이런 경우, 다음 중 어떤 EC2 배치 그룹을 선택해야 할까요?

-> 분산 배치 그룹

Question 4: 탄력적 네트워크 인터페이스(ENI)는 다른 AZ에 있는 EC2 인스턴스와 연결될 수 있습니다.

-> 거짓. 탄력적 네트워크 인터페이스(ENIs)는 특정 AZ로 국한됩니다. 다른 AZ에 있는 EC2 인스턴스에 ENI를 연결할 수는 없습니다.

Question 5: EC2 절전 모드와 관련된 내용 중, 옳지 않은 설명을 고르세요.

-> EC2 인스턴스 루트 볼륨은 반드시 인스턴스 스토어 볼륨이어야 함.(x) EC2 절전 모드를 활성화하기 위해서는 EC2 인스턴스 루트 볼륨 유형이 EBS 볼륨이어야만 하며, 민감한 내용을 보호할 수 있도록 암호화되어야 합니다.