AWS EC2

Siyun·2025년 1월 31일

AWS

목록 보기
4/37

EC2란?

EC2는 Elastic Compute Cloud로 AWS에서 제공하는 서비스형 인프라스트럭처(IaaS)이다.
가상머신을 임대할 수 있는데 이를 EC2인스턴스라고 한다.
데이터를 가상 드라이브 또는 EBS 볼륨에 저장할 수 있고, 일래스틱 로드밸런서(ELB)로 로드분산이 가능하다. 오토 스케일링 그룹(ASG)를 통해 서비스를 확장할 수 있다.

EC2 설정옵션

  • 운영체제: 리눅스, 윈도우, 맥OS
  • 컴퓨팅 성능, 코어의 양(CPU)
  • RAM의 양
  • 스토리지 용량
    — 네트워크를 통해 연결 (EBS & EFS)
    — 하드웨어에 연결 (EC2 Instance Store)
  • 네트워크 종류 (빠른 속도, Public IP 주소)
  • 방화벽 규칙: 보안 그룹
  • 부트스트랩 스크립트: EC2 User Data를 활용하여 초기 설정 가능

EC2 User Data를 이용하면 인스턴스가 처음 실행될 때 자동으로 특정 명령을 실행할 수 있다. 예를 들어, 아래와 같은 작업이 가능하다.

  • 소프트웨어 설치 및 업데이트
  • 인터넷에서 파일 다운로드
  • 기타 초기 설정 작업

모든 명령은 sudo 권한으로 실행되며, 최초 실행 시에만 적용된다.

EC2인스턴스의 종류

모든 인스턴스 유형: https://aws.amazon.com/ko/ec2/instance-types/

  • 인스턴스 유형의 명명 규칙
    예) t2.micro
    t: 인스턴스 클래스명
    2: 세대
    micro: 인스턴스 클래스의 크기. 클수록 더 많은 메모리와 CPU를 가지게 된다.

인스턴스 타입

주요 인스턴스 타입

  • 범용 인스턴스 (General Purpose)
    균형 잡힌 성능 제공 (웹 서버, 애플리케이션 서버 등)

  • 컴퓨팅 최적화 인스턴스 (Compute Optimized)
    고성능 프로세싱이 필요한 작업 (게임 서버, 머신러닝 등)
    인스턴스 이름이 c로 시작

  • 메모리 최적화 인스턴스 (Memory Optimized)
    대규모 데이터셋을 처리하는 작업 (데이터베이스, BI 등)
    인스턴스 이름이 r, x, z로 시작

  • 스토리지 최적화 인스턴스 (Storage Optimized)
    대량의 데이터 저장/처리가 필요한 경우 (NoSQL DB, 캐싱 등)
    인스턴스 이름이 i, d, h1으로 시작

참고 웹사이트: https://www.ec2instances.info/


프리티어는 t2.micro , t3.micro 를 사용할 수 있다.

프리티어 안내 페이지 : https://aws.amazon.com/ko/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all

🚨프리티어 EC2의 Public IPv4는 하나는 무료지만 프리티어를 넘어가면 과금이 된다.
자동으로 Public IPv4를 할당받지 못하도록 설정하면 EC2 생성시 Public IPv4를 자동 할당받지 않는다. (ALB에 적용X)
VPC > 서브넷 > 작업 > 서브넷 설정 편집에서 아래와 같이 체크해제한다.


EC2 인스턴스 생성

1. EC2 콘솔 > Launch instances를 선택한다.

선택한 후 인스턴스 이름을 설정한다.

2. 운영체제 선택하기


검색해서 찾을 수도 있고 퀵스타트로 빠르게 선택할 수도 있다.
나는 레드햇을 선택했고 프리티어가 가능한지 꼭 확인해야한다.

3. 인스턴스 타입 선택하기


현재는 t2.micro만 프리티어가 가능해 해당 타입을 선택해주었다.

4. 키페어 설정하기

SSH유틸리티를 사용하려면 키페어가 필요하다.

새로운 키페어를 생성해준다.
키페어의 이름을 입력하고 키페어타입은 RSA를 선택한다.
키파일 포맷은 리눅스, 맥, 윈도우10이라면 .pem 형식을 사용할 수 있고
윈도우7, 8이라면 .ppk를 사용할 수 있다. 이는 PuTTY와 함께 사용된다.
윈도우 7,8이 아니라면 .pem을 선택한다.
다운받은 키페어 파일의 공백은 제거해준다.

5. 네트워크 설정


네트워크 설정은 우선 아무것도 수정하지 않고 넘어간다.

🚨여기서 Auto-assign public IP를 Enable하면 퍼블릭IP하나가 자동 할당되는데 인스턴스가 하나이면 프리티어지만 여러개면 과금되니 주의하시라.
기본 vpc도 퍼블릭 엑세스를 허용하기 때문에 로드밸런서에 연결될 경우 프라이빗 VPC에 연결되는 것이 좋다.

인스턴스에 접속하기 위해 보안 그룹이 설정된다. 그것이 인스턴스를 오가는 트래픽을 관리할 것이다. 그러면 규칙을 추가할 수 있다.
생성되는 보안그룹 이름인 launch-wizard-1는 콘솔에 의해 직접 생성된다.
http, https 트래픽을 허용할 것인지는 어떤 서비스를 할 것인지에 따라 설정하면 된다.

6. 스토리지 설정


스토리지는 프리티어에서 30GB까지 사용가능하다. 기본 설정을 그대로 둬 10GB의 볼륨을 하나 생성한다.
Advenced 를 선택하면 위 사진과 같이 세부적으로 설정할 수 있는데 Delete on termination 은 EC2인스턴스를 종료하면 그 볼륨도 삭제될 것이라는 것을 의미한다.

7. IAM instance profile 설정

profile을 통해 인스턴스에 Role을 할당할 수 있다.

8. 유저데이터 설정


Advenced Detail에서 나머지 내용은 다 넘기고 스크롤을 내리다보면 유저 데이터를 입력할 수 있다.
유저데이터는 스크립트로 약간의 명령을 EC2 인스턴스에 제공한다. EC2인스턴스를 처음 생성할 때만 실행된다. 즉 인스턴스 전체 생명주기에서 단 한번만 실행된다.

9. 요약 검토하기

요약을 검토하고 생성을 마치면 된다.
첫해에는 월 프리티어 계층 AMI에서 750시간의 t2.micro(또는 t2.micro를 사용할 수 없는 지역은 t3.micro) 인스턴스 사용, 월 750시간의 공용 IPv4 주소 사용, 30GiB의 EBS 저장소, 2백만 IO, 1GB의 스냅샷 및 100GB의 인터넷 대역폭이 포함된다고 한다.

10. 만들어진 인스턴스 확인하기


instances 란에서 내가 만든 인스턴스를 눌러보면 정보를 확인할 수 있다.
공용 IPv4주소로 나의 EC2인스턴스에 접근할 수 있고 사설 IPv4주소는 AWS네트워크에서 내부적으로 인스턴스에 접근하는 방법이다.
공용 IPv4주소는 인스턴스를 중지하고 다시 실행하면 변경되지만 사설 IPv4주소는 변경되지 않는다.


security를 선택하면 보안그룹에 대한 정보를 볼 수 있다.


보안그룹을 클릭하면 인바운드 룰을 볼 수가 있는데, 확인해보면 현재 22번, 80번 포트는 누구나 접근할 수 있다.


아웃바운드 룰을 보면 모든 아웃바운드 통신을 허용하고 있다. 이를 통해 인스턴스가 인터넷에 접근할 수 있게 된다.

인스턴스의 웹서버에 접근하려면 공용IP주소 앞에 http://를 붙여 브라우저에서 열면 된다.


EC2 보안그룹

  • EC2 보안그룹은 방화벽과 같이 EC2 인스턴스 안팎으로 트래픽 전송 허용을 관리한다.
  • Allow 규칙만 있으며 IP주소를 기준으로 규칙을 정할 수 있다.
  • 보안 그룹들은 서로를 참조하여 설정할 수 있다. (보안 그룹을 인바운드의 소스로 허용할 수 있음)
  • 하나의 보안그룹은 인바운드 규칙(외부에서 EC2 내부로 접근)과 아웃바운드 규칙(EC2 내부에서 외부로 접근)을 가진다.
  • 하나의 보안 그룹은 여러개의 인스턴스에 적용될 수 있고 하나의 인스턴스는 여러개의 보안 그룹을 가질 수 있다. 1:1관계가 아니다.
  • 보안 그룹은 특정 지역과 VPC 조합에 제한되기 때문에 다른 리전에서는 새 보안 그룹을 생성해야 한다.
  • 보안 그룹은 EC2 외부에 있으며 트래픽이 차단되면 EC2 인스턴스 내부에서는 트래픽 확인이 불가능하다.
  • SSH엑세스만을 위한 보안 그룹을 하나 유지하는 것이 좋다.
  • 애플리케이션에 접근하고자 했으나 타임아웃으로 접근에 실패한다면 이는 보안그룹 문제이다.
  • 연결 거부 에러가 발생하여 접근에 실패한다면 이는 애플리케이션 에러일 확률이 높다.
  • 기본적으로 모든 인바운드 트래픽은 차단, 모든 아웃바운드 트래픽은 승인된다.

위 인바운드 규칙을 보면 접근 가능한 포트를 규정하고 승인된 IP범위(IPv4 or IPv6)가 표시된다. 소스는 트래픽의 출발지 IP주소로 0.0.0.0/0은 모든 출발지의 트래픽을 허용한다는 뜻이다.


보안그룹은 EC2 > Network & Security > Security Groups 에서 확인할 수 있다.
보안그룹명을 선택하면 인바운드룰, 아웃바운드룰, 태그, 상세사항을 확인할 수 있고 룰을 수정하는 것이 가능하다.


EC2 인스턴스에 접근하기

SSH란?

SSH(Secure Shell)는 네트워크를 통해 원격 시스템에 안전하게 접속할 수 있도록 해주는 프로토콜이다. AWS EC2 인스턴스에 접근할 때 주로 사용되며, 암호화된 연결을 제공하여 보안성을 보장한다. 맥, 리눅스, 윈도우 10이상에서 사용할 수 있다.
-> Putty는 윈도우의 모든 버전을 지원한다.
-> EC2 Instance Connect를 사용하면 모든 버전의 윈도우와 맥, 리눅스에서 연결할 수 있다.

EC2 Instance Connect 지원 AMI 목록
Amazon Linux, macOS Sonoma, macOS Ventura, macOS Monterey 또는 Ubuntu의 최신 버전

EC2 Instance Connect가 지원되지 않는 AMI는 EC2 Instance Connect를 직접 설치해 사용할 수 있다.
EC2 Instance Connect를 직접 설치

1. 사전준비

SSH로 인스턴스에 접근하려면 보안 그룹의 인바운드 규칙의 22번 포트를 열어둬야 한다. 또 앞서 받아둔 키페어 파일이 필요하다.

2-1. 리눅스/맥의 cmd에서 명령어 입력

ssh -i <키파일.pem> ec2-user@<EC2 공용 IP>

쉘에서 키파일.pem이 있는 디렉토리로 이동한 다음 명령어를 입력해준다.
ec2-user라고 하는 이유는 이미 EC2 인스턴스에 설정된 사용자의 이름이 ec2-user이기 때문이다.

여기서 키파일에 대한 권한 에러가 뜨면 아래와 같이 권한을 수정해주고 다시 위 명령어를 입력해준다.

chmod 0400 <키파일.pem>

정상적으로 입력되면 인스턴스를 신뢰하는지 묻는 프롬프트가 나올 것인데, 이 때 yes를 입력해준다.

인스턴스에서 나가고 싶다면 exit라고 입력해주면 된다.

2-2. Putty 사용

Putty는 Windows용 무료 SSH 클라이언트이다.
1. 구글에 putty를 검색해 다운로드해준다.
2. 다운로드를 마치면 PuTTY와 PuTTYjen이 설치되어 있을 것이다.

.pem만 있고 .ppk가 없는 경우:
-> PuTTYjen을 실행해 Load를 눌러 .pem파일을 불러오면 성공적으로 import한다.
-> Save private key를 눌러 프라이빗 키로 저장한다. (패스프레이즈 경고창이 뜨면 Yes를 눌러 넘어감)

  1. PuTTy를 실행해 Session의 Host Name에 ec2-user@<공용 IPv4 주소>를 넣고 포트는 22번으로 해주고 아래에서 인스턴스 이름을 설정한 뒤 Save해준다.

  2. SSH > Auth > Credential에서 키를 설정한다.

    .ppk 포맷의 키파일을 불러오면 된다.

  3. 다시 Session으로 가서 save를 해주면 다음부터는 저장한 인스턴스를 open해서 인스턴스에 접속할 수 있다.


접속에 성공하여 현재 유저이름과 작업디렉토리 등을 확인할 수 있다.

2-3. Window에서 SSH명령 사용

  1. 파워쉘이나 CMD를 열어 ssh 명령어를 입력해준다.
ssh -i .\<키파일명.pem> ec2-user@<공용 IP주소>

.pem 파일이 있는 디렉토리로 이동하여 명령어를 입력해야한다.
계속할 지 물어보면 yes를 입력한다.

🛠️ 실행중 키파일에 대한 권한 문제가 발생한다면
1. 파일디렉토리에서 키파일을 오른쪽 클릭 > 속성 > 보안(Security) > 고급을 선택해 파일의 소유자가 본인인지 확인한다.
2. 변경을 원한다면 소유자명 옆의 변경을 누르고 선택할 개체 이름에 소유자명을 입력할 수 있다.
3. 보안 주체에서 나를 제외한 개체들(SYSTEM, Administrators)은 제거해준다.
4. "상속 사용 안 함" > "이 개체에서 상속된 사용 권한을 모두 제거합니다." 선택
5. 추가 > 보안 주체 선택 > 이름 입력 > 모든 능력 부여한 뒤 완료

파워쉘과 CMD의 차이는?
CMD: 단순한 명령어 실행 (파일 관리, 네트워크 설정 등)
PowerShell: CMD 기능 + 강력한 스크립팅 및 자동화 지원
가능하면 PowerShell 사용!

🚨 에러해결하기
1. 보안 그룹에 문제가 없는데 타임아웃 에러가 계속 발생한다면?
: 회사나 개인 방화벽이 연결을 차단하고 있으니 EC2 Instance Connect 사용으로 해결
2. SSH 연결이 거부된다면?
: 인스턴스를 재시작하고, 그래도 동작이 안된다면 새 인스턴스를 Amazon Linux 2를 사용해서 만들기
3. 어제는 됐다가 오늘은 안된다면?
: 인스턴스를 중단했다가 다시 실행하면 퍼블릭 IP가 바뀌니 바뀐 IP주소로 다시 시도하기

2-4. EC2 Instance Connect 사용 (Amazon Linux 2만 가능)

브라우저 기반으로 EC2 인스턴스에 대한 SSH 세션 실행하기
1. 인스턴스 선택하고 Connect 누르기

2. 그대로 두고 Connect를 누르면 바로 EC2 인스턴스로 접속 가능

AWS에서 임시키를 입력해서 사용자가 따로 키 설정을 할 필요가 없다.


EC2인스턴스에서 AWS CLI 설정하기

Amazon Linux AMI는 AWS CLI를 포함하고 있어서 따로 설치할 필요가 없다.
인스턴스에서 다른 운영체제를 사용한다면 AWS CLI설치가 필요하다.
AWS CLI에 대한 내용은 따로 글을 올려뒀으니 참고하면 된다.
https://velog.io/@siiiirru/AWS-CLI-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
❗여기서 주의할 점은 절대 EC2 인스턴스에 엑세스키 ID와 비밀 엑세스키를 입력하지 말고 IAM ROLE을 사용하는 것이다.

  1. IAM > Roles > Create Role을 선택해 EC2에 IAMReadOnlyAccess권한을 부여한다.

  2. Instances > 원하는 인스턴스 선택 > Actions > Security > Modify IAM Role 선택

  3. 만들어둔 Role 선택

  4. 다시 Instances > 원하는 인스턴스 선택 > Security 탭에서 IAM Role를 확인하면 적용한 Role로 업데이트 된 것을 확인

  5. EC2인스턴스에 접속해 "aws iam list-users"를 입력하여 유저목록 확인

    제대로 Role이 부여되었다면 해당 EC2인스턴스는 IAM 유저목록을 볼 수 있는 권한이 있기 때문에 User list가 출력된다.


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

📌 사설 IP vs 공용 IP 차이점

구분사설 IP (Private IP)공용 IP (Public IP)
IP 범위10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
인터넷 서비스 제공업체(ISP)에서 할당
사용 범위내부 네트워크(회사, 가정, 데이터센터)에서 사용인터넷을 통해 외부와 직접 통신
인터넷 접근직접 불가능 (NAT 필요)직접 인터넷 접속 가능
고유성중복 가능 (각 네트워크에서 동일한 사설 IP 사용 가능)전 세계적으로 고유
보안성외부에서 직접 접근 불가 → 보안 강함외부에서 접근 가능 → 방화벽 필요
비용무료 (누구나 사용 가능)유료 (ISP에서 할당)

탄력적 IP란?

탄력적 IP는 고정된 공용 IP 주소로, AWS 계정에 할당되어 EC2 인스턴스에 유동적으로 연결이 가능하다.
이 기능을 이용하면 IP 주소 변경을 감출 수 있음 → 즉, 마스킹 효과!

탄력적 IP를 이용한 마스킹의 핵심

  • IP 주소 변경을 숨김 (EC2 인스턴스를 바꿔도 동일한 IP 사용)
  • 외부 서비스(API, 방화벽, DNS) 설정을 변경할 필요 없음
  • 운영 중단 없이 서버 변경 가능 (서비스 가용성 증가)

계정당 탄력적 IP 5개를 쓸 수 있다.(원하면 AWS에 개수 증가 요청가능)

하지만 !! 결론적으로 탄력적 IP는 사용하지 않는 것이 좋다.
-> 좋지 않은 구조적 결정으로 이어질 수 있다.
-> 대신 임의의 공용 IP를 써서 DNS 이름을 할당하는 것이 좋다.
로드 밸런서를 사용해서 공용 IP주소 자체를 사용하지 않을 수도 있다. (AWS에서 취할 수 있는 최상의 패턴)

📌 인스턴스 중지 후 시작 vs. 인스턴스 재부팅 차이점

구분인스턴스 중지 후 시작 (Stop → Start)인스턴스 재부팅 (Reboot)
인스턴스 상태 변화중지(Stopped) → 시작(Running)실행(Running) 상태 유지
공용 IP 변화변경됨 (탄력적 IP 사용 시 유지)변하지 않음
사설 IP 변화변하지 않음변하지 않음
RAM 상태모든 데이터 손실 (초기화됨)유지됨
EC2 호스트 변경 가능성새로운 물리 서버로 이동할 가능성 있음기존 서버 유지
루트 볼륨 유지✅ 유지됨✅ 유지됨
비용 영향중지 상태에서는 인스턴스 비용 X (스토리지 비용만 청구)계속 실행 중이므로 비용 변화 없음
사용 사례시스템 업데이트, 리소스 최적화, 공용 IP 변경 필요할 때간단한 장애 해결, 빠른 재시작 필요할 때

탄력적 IP 실습

1.EC2 > Elastic IPs > Allocate Elastic IP address 선택


아마존 IPv4 주소 풀에서 새로운 IP 주소를 할당받게 된다.
Allocate를 눌러 퍼블릭 IPv4주소를 임대할 수 있다.

2. 임대한 IPv4주소 인스턴스에 할당하기

할당받은 IPv4주소를 클릭하고 Actions에서 Associate Elastic IP address를 선택한다.

3. 리소스 유형, 인스턴스를 선택하고 탄력적 IP주소를 연결할 사설 IP주소를 선택하고 Associate를 누르면 연결된다.

AWS의 IPv4 요금정책

AWS의 IPv4 정책에 따라 공용 IPv4, 탄력적 IPv4의 사용여부와 관계없이 시간당 약$0.0005의 요금이 부과된다. 매달 약 $3.5에 해당된다.
즉, 인스턴스와 탄력적 IPs를 사용하지 않는다면 해당 비용을 지불하지 않도록 종료해야한다.
프리티어에서는 계정에 매월 750시간의 무료 공용 IPv4주소가 제공된다.


EC2 배치그룹

EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할 때 사용한다.

세가지 배치 전략

1. 클러스터(Cluster) 배치 그룹

  • 단일 AZ내에서 지연시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화.
  • EC2 인스턴스들이 모두 같은 AZ에 있기 때문에 모든 EC2 인스턴스간의 초당 약 10GB의 지역 시간이 짧고 처리량이 많은 대역폭을 확보할 수 있음.
  • AZ에 장애가 발생하면 모든 인스턴스가 동시에 장애를 일으킴.
  • 매우 빠른 네트워킹이 필요한 작업에 유용함. (ex. 빅데이터)

2. 분산(Spread) 배치 그룹

  • 모든 인스턴스가 각각 다른 하드웨어에 분산되어 동시 실패의 위험 감소
  • AZ별로 분산된 배치 그룹당 7개의 EC2 인스턴스만 가질 수 있다는 제한 사항이 있음.
  • 크기가 너무 크지 않은 크리티컬 애플리케이션일 때 사용.

3. 분할 (Partition) 배치 그룹

  • AZ내의 다양한 하드웨어 랙 세트에 의존.
  • 1개의 AZ에 여러개의 파티션(AWS의 하드웨어 물리적 랙)이 있을 수 있고 각 파티션에는 많은 EC2 인스턴스가 있을 수 있다.
  • AZ당 최대 7개의 파티션이 있을 수 있다.
  • 랙 실패로부터 안전하다.
  • 그룹당 수백 개의 EC2 인스턴스를 통해 확장할 수 있고 Hadoop, Cassandra, Kafka 같은 빅데이터 애플리케이션을 실행할 수 있다.
  • EC2 인스턴스가 어떤 파티션에 있는지 메타데이터 서비스를 통해 알 수 있는 옵션이 있다.

배치그룹 실습

1. EC2 > Placement Groups > Create placement group 을 선택한다.

2. 배치그룹 생성하기.


배치그룹의 이름, 전략을 선택하고 생성한다.

3. EC2에 적용하기

EC2 > Instances > Launch Instances 에서 스크롤을 내려 Advanced details > Placement group name에서 배치 그룹을 설정해줄 수 있다.


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

  • VPC의 논리적 구성 요소이며 가상 네트워크 카드를 나타낸다.
  • ENI는 EC2 인스턴스가 네트워크에 액세스할 수 있게 한다.
    (ENI는 EC2 인스턴스 외부에서도 사용된다.)

ENI의 속성

  • 각 EC2 인스턴스마다 하나 이상의 ENI를 가질 수 있다.
  • 주요 사설 IPv4(인스턴스 생성시 자동으로 생성)와 하나 이상의 보조 IPv4(직접 연결 필요)를 가질 수 있다.
    -> 즉, 인스턴스 생성 시 사설 및 공용 IP가 한 개씩 제공되는 ENI가 하나 생성되어 인스턴스와 연결됨.
  • ENI에 하나 이상의 보안 그룹을 연결할 수 있다.
  • MAC 주소 및 기타항목을 연결할 수 있다.
  • EC2 인스턴스와 독립적으로 ENI를 생성하고 즉시 연결하거나 장애 조치를 위해 EC2인스턴스에서 이동할 수 있다.
  • 특정 AZ에서 생성된 ENI는 해당 AZ에서만 바인딩 할 수 있다.

ENI 생성과 연결 실습하기

1.EC2 > Network interfaces에 들어간다.

현재 EC2인스턴스들에 연결된 eni-%!#$ 들이 보일 것이다.

2. 새로운 ENI 만들기

Create network interface를 선택한다.

ENI 설명(옵션)을 입력한다.
ENI가 포함될 서브넷을 선택하여 특정 AZ에 연결할 수 있다.
IPv4는 자동할당, 커스텀 중 선택한다.
보안그룹까지 선택하고 생성한다.

3. 생성된 ENI를 EC2 인스턴스에 연결하기

연결할 ENI를 누르고 Actions의 Attach를 눌러 연결하려는 인스턴스를 선택한다.

4. Instances에서 해당 인스턴스를 확인

인스턴스의 Network interfaces탭에서 eni가 여러개가 된 것을 볼 수 있다.
새로 연결해 준 eni의 사설 IPv4주소가 보조 IPv4주소가 된다.

ENI 분리 후 다른 인스턴스에 연결 실습하기

1. EC2 > Network interfaces 에서 ENI를 선택하고 Actions에서 분리(Detach) 선택

2. 분리 될 때까지 기다리기

잠시 기다리거나 Actions > Detach > Force detachment를 선택해 강제로 분리할 수도 있다.

3. 분리되면 Attach로 다른 인스턴스에 연결해준다.

그러면 사설 IPv4주소가 다른 인스턴스로 연결된다.

인스턴스를 종료하면 ENI는?

👉 인스턴스와 함께 생성된 ENI는 자동으로 사라진다.
👉 따로 만든 ENI는 그대로 남는다.


EC2 Hibernate (절전)

🧐EC2 하이버네이트(Hibernate)는
메모리(RAM)의 데이터를 디스크(EBS)에 저장한 후, 인스턴스를 종료하지 않고 일시적으로 절전 모드로 전환한다.
나중에 다시 시작하면 기존 상태를 유지한 채 재개됨.
예를 들어, 실행 중이던 애플리케이션이나 데이터가 유지되어 부팅 속도가 빠름.

📍지원 조건
인스턴스 유형: C3, C4, C5, M3, M4, M5, R3, R4, R5 계열 일부만 지원
루트 볼륨이 EBS여야 함 (인스턴스 스토어는 지원 X)
EBS에 RAM을 저장할 수 있는 충분한 공간이 있어야 함
RAM이 150GB 이하인 경우만 가능
암호화된 EBS 볼륨 사용 필요
절전모드는 최대 60일까지 사용할 수 있음

Hibernate 실습

인스턴스를 만들 때

  • Storage > EBS Volumes 에서 Encrted를 Yes로 둔다.
    KMS 키는 기본값인 awg/ebs로 지정한다.
  • Advanced Details에서 Stop - Hibernate behavior를 활성화하면 EC2 인스턴스를 절전모드로 둘 수 있게 된다.
profile
공부 기록

0개의 댓글