[AWS Certified Solution Architect Associate Level 2025] 섹션 6: EC2 솔루션스 아키텍트 어소시에이트 레벨

퍼블릭 vs 프라이빗 vs 탄력적 IP

굉장히 기초적인 개념이다.
IP 종류에는 IPv4, IPv6이 있다. 우리는 IPv4를 주로 사용하지만, 37억개밖에 지원을 안해줘서 고갈되고 있다.


퍼블릭과 프라이빗은 뭐 당연한 거다.
퍼블릭 IP는 무조건 한 기기만 가져야 되는 거고, 프라이빗은 사설망 안에서 통신하는 거기 때문에 사설망에서는 하나여야 하지만, 공용으로는 여러개 있을 수 있다. 또한 사설망은 지정된 범위의 IP만 쓸 수 있다.

탄력적 (Elastic) IP는 인스턴스에 고정된 퍼블릭 IP를 말한다. 그 전에 보면 EC2를 껏다가 키면 퍼블릭 IP가 바뀌게 되는데, 이를 막을 수 있다. 안바뀌니까 좋을 수도 있는데,
안쓰는게 좋다.
구조적으로 좋지 않아서, 대안으로 임의의 공용 IP를 사용해 DNS 이름을 할당하는것이 좋다고 한다. 혹은 로드 밸런서를 사용해 퍼블릭 IP를 아예 안쓰는 경우도 있다.

EC2 배치 그룹

EC2 Placement groups(배치 그룹)은 사용자의 니즈를 반영한 서버 프로필을 정의할 수 있는 도구이며, 다음 세 가지 그룹이 제공됩니다.

배치 그룹은 EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할 때 사용한다. AWS의 하드웨어와 직접적으로 상호작용하지는 않지만, 어떻게 배치하고 싶은지 알려주는 개념이다.
이에는 세가지 전략이 있다:

  • 클러스터(Cluster): 단일 가용 영역 내에서 지연이 짧은 하드웨어 설정으로 인스턴스를 그룹화하는 전락이다. 높은 성능을 제공하지만 위험성도 높다.

  • 분산(Spread): 인스턴스가 다른 하드웨어에 분산된다. 가용 영역별로 분산된 배치 그룹당 7개의 인스턴스만 가질 수 있다. 중요한 애플리케이션이 있을때 사용한다.

  • 분할(Partition): 인스턴스를 분산하는 것은 비슷하다. 다른 점은 여러 파티션에 인스턴스가 분할되어 있고, 이 파티션은 가용 영역 내 다양한 하드웨어 랙 세트에 의존한다. -> 분산되어 있지만, 다른 실패로부터 격리되지 않는다. 하지만 파티션은 다른 오류 파티션과 격리되어야 한다.


인스턴스를 논리적 파티션으로 분산하여,다른 파티션의 인스턴스 그룹과 하드웨어를 공유하지 않게 한다. 그룹당 수백개의 인스턴스를 통해 확장할 수 있다. -> 하둡, 카산드라, 카프카 등등 실행 가능

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

VPC의 논리적 구성 요소이며, 가상 네트워크 카드를 나타낸다. EC2 외부에서도 사용된다.
VPC가 뭔고 하니, Virtual Private Cloud로 퍼블릭 클라우드 환경에서 사용할 수 있는 고객 전용 사설 네트워크이다. 그냥 네트워크임

IP를 부여해주는 거라고 생각하면 될 것 같다. ENI는 여러 특징들이 있는데:
- 여러 속성들을 부여해줄 수 있다. 예를 들어

  • 주 사설 IP 하나, 보조 IP 주소 여러개
  • 사설 주소 하나 당 탄력적 IP 하나씩
  • 공용 주소 하나
  • 하나 이상의 보안 그룹
  • MAC 주소

특정 AZ에서만 사용이 가능하다(실습에도 나와있음)
또한 ENI는 EC2와 독립적으로 만들어서 EC2에 붙이거나 뗄 수 있다. 그림처럼 위의 인스턴스에 장애가 생기면 ENI를 때서 밑에 인스턴스로 옮기면 된다. -> 장애 조치에 효과적

실습

여기서 확인할 수 있으며, 옆의 네트워크 인터페이스에서 새로운 ENI를 만들 수 있다.

서브넷은 인스턴스가 있는 지역에 맞추면 된다.
만든 후 적용하면

사진처럼 잘 적용된 것을 볼 수 있다.
DemoENI가 프라이빗 ip 주소만 있는 이유는, 이걸 이동해야지 장애 조치를 할 때 인스턴스를 바꿀 수 있기 때문이다.
그리고 인스턴스를 종료할 때, 인스턴스와 같이 만든 네트워크 인터페이스는 사라지지만, 직접 만든 DemoENI는 안사라진다. 그래서 더 많은 프라이빗 ip를 사용할 수 있다.

결론은 ENI를 통해서 네크워크 관리 / 멀티 인터페이스 / 높은 사용성을 보장할 수 있다.

EC2 Hibernate

Hibernate가 뭔고 했더니 절전 모드였다.

보통 인스턴스를 정지하면, 디스크에 있는 데이터(EBS)는 다음 시작까지 남아있다.
만약 인스턴스를 종료하면, 종료되기로 설정된 볼륨(루트 볼륨 등)만 사라지고 나머지는 남아있다.

그래서 보통 인스턴스를 시작하면 다음과 같은 과정을 거친다.
1. OS 부팅 + EC2 User Data Script 작동
2. OS 부팅 완료
3. 애플리케이션 실행, 캐시 구성

그래서 시간이 좀 걸린다.
하지만 절전 모드를 사용하면 인-메모리 상태가 보존된다 -> 부팅이 빠르다!
인메모리, 그러니까 RAM의 상태는 반드시 루트 EBS 볼륨 안에 작성된다. EBS 볼륨은 EC2 인스턴스를 위한 저장소 역할이라고 생각하면 된다. 암튼 그래서 암호화가 필요하다.

이는 오랜 기간 작업이 필요한 프로세수, RAM 상태를 저장해야 할 때, 서비스 초기화에 시간이 오래 걸릴 떄 등이 있다. 최대 60일가지 절전 모드 사용이 가능하다.

0개의 댓글