EC2 Instance Mgmt

AWS computing 자원인 EC2 Instance 에 대한 관리를 확인합니다.

Task1. EC2 Instance 관리

1-1 EC2 Instance type 변경하기

EC2 Instance의 자원(CPU, Memory)에 대한 확장 필요시, Instance의 유형을 변경하여 사용할 수 있습니다.

"PUBLIC-EC2-A01" Instance 타입을 변경해 봅니다.

변경을 위해서는 실행 중인 Instance를 중지(stop)해야 합니다. Instance 선택 후 [Instance state] > [Stop instance] 를 수행합니다.

Instance 상태가 “Stopped” 로 변경된 후 [Actions] > [Instance settings] > [Change Instance type] 을 수행합니다.

  • Instance type - t2.micro 에서 t2.small 로 변경

변경 후 [Instance state] > [Start Instance] 로 instance를 기동합니다.

Instance 중지하고 다시 시작하게 되면 Public IP가 변경됩니다. 고정된 Public IP를 사용하기 위해서는 Elastic IP를 사용합니다.

1-2 EC2 Volume 추가 및 변경

EC2 Instance에 EBS(Elastic Block Storage)를 다이나믹하게 추가 연결하거나 볼륨 타입 및 용량을 변경할 수 있습니다.

좌측 EC2 메뉴의 Elastic Block Store > Volumes 에서 [Create Volume]을 클릭합니다. 세부정보를 입력하여 새로운 EBS 볼을 생성합니다.

생성된 볼륨의 상태가 "creating" 에서 "available" 로 변경됩니다.

새로 생성된 볼륨을 선택하여 "PUBLIC-EC2-A01" Instance에 연결(Attach) 합니다.

  • [Actions] > [Attach Volume] 선택

  • Instance - "PUBLIC-EC2-A01" 선택

생성된 볼륨의 상태가 "available"에서 "in-use"로 변경됩니다. "PUBLIC-EC2-A01" instance에 접속하여 추가된 볼륨을 확인합니다.

lsblk

추가된 100G 볼륨으로 파일 시스템을 생성하여 마운트 합니다.

sudo mkfs.ext4 /dev/<device name>
mkdir ~/ebs
sudo mount /dev/<device name> ~/ebs
df -h

이제 할당된 볼륨 용량을 변경합니다.

좌측 EC2 메뉴의 Elastic Block Store > Volumes 에서 변경할 볼륨 "PUBLIC-EC2-A01-100G"를 선택합니다.

  • [Actions] > [Modify Volume]

  • Size - 120 입력

볼륨 상태가 "in-use"에서 "in-use - modifying(0%)" , "in-use - optimizing(1%)" 마지막에 다시 "in-use"로 변경됩니다. 최종 "in-use"상태로 변경되기 까지 백그라운드 데이터 복제가 진행되며, 완료 될때 까지 기다리지 않아도 볼륨을 사용할 수 있습니다.

"PUBLIC-EC2-A01" Instance에 접속하여 변경 볼륨을 확인합니다.

lsblk

기존에 생성한 파일 시스템에 대해서도 변경된 용량으로 확장을 합니다.

sudo resize2fs /dev/<device name>
df -h

파일 시스템 타입에 따라 확장 시키는 명령어가 다르므로, 수행 전에 아래 링크에서 내용을 확인합니다.

참고 링크 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html?icmpid=docs_ec2_console

1-3 Snapshot 생성 및 복구

EBS 볼륨의 특정 시점 Snapshot을 생성하여 백업 용도이나 새 볼륨을 생성하는데 사용할 수 있습니다. Snapshot은 증분식(Incremental) 백업을 기반으로 하고 있어 마지막 Snapshot 이후 변경된 블록만 저장합니다. Snapshot 수행 시 백그라운드 복제가 진행되고, 완료하는 동안 해당 볼륨에 대한 읽기/쓰기가 가능합니다.

본 랩에서는 기존 EC2에 생성된 스냅샷으로 새로운 볼륨을 만들어 다른 Instance에 연결하는 과정을 구해 봅니다.

Snapshot 생성에 앞서 2-2에서 생성한 볼륨 "PUBLIC-EC2-A01-100G"에 파일을 생성합니다.

cd /home/ec2-user/ebs
touch snapshot1 snapshot2 snapshot3
ls -l

"PUBLIC-EC2-A01-100G"에 대한 Snapshot을 생성합니다.

좌측 EC2 메뉴의 Elastic Block Store > Volumes 에서 볼륨 "PUBLIC-EC2-A01-100G"를 선택합니다.

  • [Actions] > [Create Snapshot]

  • Description - PUBLIC-EC2-A01-EBS-SNAP

  • Tag - Key: Name , Value: PUBLIC-EC2-A01-EBS-SNAP

생성된 Snapshot을 확인합니다.

Snapshot의 상태가 "pending"에서 "completed"로 변경되며, 소요 시간은 볼륨의 용량과 변경량에 따라 상이합니다.

Snapshot이 "conpleted" 상태가 되면 새로운 볼륨을 생성합니다.

  • Elastic Block Store > Snapshots 에서 "PUBLIC-EC2-A01-EBS-SNAP" 선택

  • [Actions] > [Create Volume]

  • Volume type - gp3

  • Availability zone - ap-norteast-2c

  • Tag - Key: Name , Value: PUBLIC-EC2-C01-100G-RESTORE

생성된 볼륨을 "PUBLIC-EC2-C01" Instance에 연결(Attach) 합니다.

  • Elastic Block Store > Volumes 에서 "PUBLIC-EC2-C01-100G-RESTORE" 선택

  • [Actions] > [Attach Volume]

"PUBLIC-EC2-C01" Instance에 접속하여 연결된 볼륨을 마운트 하여 파일을 확인합니다.

lsblk
mkdir ~/ebs
sudo mount /dev/<device name> ~/ebs
cd ~/ebs
ls -l

Snapshot 기반으로 데이터 볼륨에 대한 백업 또는 OS 볼륨에 대한 이미지를 생성할 수 있으며, 이를 동일 리전 또는 다른 리전으로 복사하여 재사용할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html

1-4 Snapshot 복사 (Optional)

생성된 Snapshot을 다른 리전으로 복사하여 동일한 데이터 볼륨이나 AMI로 사용할 수 있습니다.

Lab 임시계정의 경우 리전 제한으로 리전간 Snapshot 복사를 수행할 수 없습니다.

  • Elastic Block Store > Snapshots 에서 "PUBLIC-EC2-A01-EBS-SNAP" 선택

  • [Actions] > [Copy]

  • Destination Region : 복사할 리전 선택

EC2 Instance Lab을 성공적으로 완료하였습니다.

Last updated