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

퍼블릭과 프라이빗은 뭐 당연한 거다.
퍼블릭 IP는 무조건 한 기기만 가져야 되는 거고, 프라이빗은 사설망 안에서 통신하는 거기 때문에 사설망에서는 하나여야 하지만, 공용으로는 여러개 있을 수 있다. 또한 사설망은 지정된 범위의 IP만 쓸 수 있다.
탄력적 (Elastic) IP는 인스턴스에 고정된 퍼블릭 IP를 말한다. 그 전에 보면 EC2를 껏다가 키면 퍼블릭 IP가 바뀌게 되는데, 이를 막을 수 있다. 안바뀌니까 좋을 수도 있는데,
안쓰는게 좋다.
구조적으로 좋지 않아서, 대안으로 임의의 공용 IP를 사용해 DNS 이름을 할당하는것이 좋다고 한다. 혹은 로드 밸런서를 사용해 퍼블릭 IP를 아예 안쓰는 경우도 있다.
EC2 Placement groups(배치 그룹)은 사용자의 니즈를 반영한 서버 프로필을 정의할 수 있는 도구이며, 다음 세 가지 그룹이 제공됩니다.
배치 그룹은 EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할 때 사용한다. AWS의 하드웨어와 직접적으로 상호작용하지는 않지만, 어떻게 배치하고 싶은지 알려주는 개념이다.
이에는 세가지 전략이 있다:






인스턴스를 논리적 파티션으로 분산하여,다른 파티션의 인스턴스 그룹과 하드웨어를 공유하지 않게 한다. 그룹당 수백개의 인스턴스를 통해 확장할 수 있다. -> 하둡, 카산드라, 카프카 등등 실행 가능
VPC의 논리적 구성 요소이며, 가상 네트워크 카드를 나타낸다. EC2 외부에서도 사용된다.
VPC가 뭔고 하니, Virtual Private Cloud로 퍼블릭 클라우드 환경에서 사용할 수 있는 고객 전용 사설 네트워크이다. 그냥 네트워크임

IP를 부여해주는 거라고 생각하면 될 것 같다. ENI는 여러 특징들이 있는데:
- 여러 속성들을 부여해줄 수 있다. 예를 들어
특정 AZ에서만 사용이 가능하다(실습에도 나와있음)
또한 ENI는 EC2와 독립적으로 만들어서 EC2에 붙이거나 뗄 수 있다. 그림처럼 위의 인스턴스에 장애가 생기면 ENI를 때서 밑에 인스턴스로 옮기면 된다. -> 장애 조치에 효과적

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

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

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

결론은 ENI를 통해서 네크워크 관리 / 멀티 인터페이스 / 높은 사용성을 보장할 수 있다.
Hibernate가 뭔고 했더니 절전 모드였다.
보통 인스턴스를 정지하면, 디스크에 있는 데이터(EBS)는 다음 시작까지 남아있다.
만약 인스턴스를 종료하면, 종료되기로 설정된 볼륨(루트 볼륨 등)만 사라지고 나머지는 남아있다.
그래서 보통 인스턴스를 시작하면 다음과 같은 과정을 거친다.
1. OS 부팅 + EC2 User Data Script 작동
2. OS 부팅 완료
3. 애플리케이션 실행, 캐시 구성
그래서 시간이 좀 걸린다.
하지만 절전 모드를 사용하면 인-메모리 상태가 보존된다 -> 부팅이 빠르다!
인메모리, 그러니까 RAM의 상태는 반드시 루트 EBS 볼륨 안에 작성된다. EBS 볼륨은 EC2 인스턴스를 위한 저장소 역할이라고 생각하면 된다. 암튼 그래서 암호화가 필요하다.

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