[AWS Certification] Working with Amazon Elastic Block Store


 - EBS(Elastic Block Store)에 대한 기본적인 내용입니다.


Topics covered

- Create an Amazon EBS volume

- Attach and mount your volume to an EC2 instance

- Create a snapshot of your volume

- Create a new volume from your snapshot

- Attach and mount the new volume to your EC2 instance


What is Amazon Elastic Block Store ?

- Amazon Elastic Block Store(Amazon EBS)는 Amazon EC2 인스턴스를 위한 영구 저장소를 제공한다.

- Amazon EBS Volume은 네트워크에 연결되어 인스턴스의 수명과 독립적으로 유지된다.

- Amazon EBS Volume은 가용성과 안전성이 높은 Volume으로, Amazon EC2 인스턴스 부팅 파티션으로 활용하거나 실행중인 Amazon EC2 인스턴스에 표준 블록 장치로 첨부할 수 있다.

- Amazon EBS가 Amazon Simple Store Service(Amazon S3)에 저장되고 볼륨의 특정 시점에 일관된 스냅샷을 생성하는 기능을 제공한다.


Amazon EBS Volume Features

- Persistent storage: Volume 생명주기는 특정 EC2 인스턴스에 독립적이다.

- General purpose: Amazon EBS volumes 은 모든 운영체제에서 사용할 수 있는 포맷되지 않은 원시 블록장치이다.

- High performance: Amazon EBS volumes은 Amazon EC2 devices와 같거나 더 좋다.

- High reliability: Amazon EBS volumes은 Availability Zone내에 중복을 내장하고 있다.

- Designed for resiliency: The AFR (Annual Failure Rate) of Amazon EBS의 연간 오류율은 0.1%에서 1%이다.

- Variable size: Volume sizes는 1GB에서 16TB까지이다.

- Easy to use: Amazon EBS volumes은 쉽게 생성, 첨부, 백업, 복원, 삭제 될 수 있다.


[Task 1: Create a New EBS Volume]

- Volume Type: General Purpose SSD(gp2)

- Size(GiB): 1

- Availability Zone: 현재 EC2의 Availability Zone과 동일하게 설정


- Tag

 - Key: Name

 - Value: My Volume


[Task 2: Attach and mount your volume to an EC2 instance]

[Task 3: Create a snapshot of your volume]

[SSH 연결]

 - Keepalive: 30초

 - session -> hostname (or IP Address) : publicIP

 - ssh -> auth : ppk 파일로 접속


[Putty 접속 상태]


[마운트된 하드디스크 확인하기]

df -h


[/dev/sdf 폴더에 ext3 파일시스템을 생성]

sudo mkfs -t ext3 /dev/sdf


[새로운 볼륨을 마운트 할 경로 생성]

sudo mkdir /mnt/data-store


[새 볼륨을 마운트]

sudo mount /dev/sdf /mnt/data-store


[인스턴스 부팅 시 자동 마운트]

echo "/dev/sdf /mnt/data-store ext3 defaults,noatime 1 2" | sudo tee -a /etc/fstab



[명령어 입력확인]

cat /etc/fstab


[마운트된 볼륨에서 파일 작성]

 - 기존에 사용하던 서비스가 주기적으로 스냅샷을 생성했을 경우 이전 파일 내용을 확인할 수 있다는 것을 확인하기 위한 파일 생성

sudo sh -c "echo some text has been written > /mnt/data-store/file.txt"


[파일 내용확인]

cat /mnt/data-store/file.txt


[Task 4: Create a new volume from your snapshot]

- 이전 작업에서 새로운 볼륨을 만들어 인스턴스에 마운트작업을 하여 하나의 EC2에 두 EBS를 사용하도록 작업하였다.

- 여기서는 두 번째 EBS에서 작업을 한 뒤 스냅샷으로 백업한 뒤,
  작업중인 파일을 삭제, 스냅샷을 이용해 볼륨을 복원,
  EC2 인스턴스에 복원된 볼륨을 추가하여 파일을 다시 복원하는 작업을 하도록 한다.


[스냅샷 생성한 뒤 파일 삭제]

 - 현재 EC2에 붙은 두 번째 볼륨

 - 작업 후에 파일을 삭제한 상황




[Task 5: Attach and mount the new volume to your EC2 instance]

이전 작업에서 파일이 삭제 된 상태에서 다시 그 파일을 찾기 위해서 파일이 지워지기 전, 스냅샷을 생성한 것을 가지고 복원하는 작업을 한다.


 1. 생성했던 스냅샷으로 볼륨을 생성

 2. 복원된 볼륨을 EC2 인스턴스와 연결

 3. 복원된 볼륨이 마운트 될 경로를 생성

sudo mkdir /mnt/data-store2


 4. 복원된 볼륨을 인스턴스에 마운트

sudo mount /dev/sdg /mnt/data-store2


 5. 복원된 볼륨에서 이전 볼륨에서 삭제한 파일을 읽기

ls /mnt/data-store2/




[결론]

 - Create an Amazon EBS Volume
    (Amazon EBS 볼륨을 생성)

 - Attach the volume to an EC2 instance
    (EC2 인스턴스에 볼륨을 연결)

 - Created a file system on the volume

    (볼륨에 파일 시스템을 생성)

 - Added a file to volume
    (파일을 볼륨에 추가)

 - Created a snapshot of your volume
    (볼륨의 스냅샷 생성)

 - Created a new volume from the snapshot
    (스냅샷에서 새 볼륨  생성)

 - Attached and mounted the new volume to your EC2 instance

    (EC2 인스턴스에 새 볼륨을 연결하고 마운트)

 - Verified that the file you created earlier was on the newly created volume

    (이전에 생성한 파일이 새로 생성된 볼륨에 있음을 확인)


+ Recent posts