공부/AWS

EBS

HY13 2020. 12. 30. 17:42

EBS(Elastic Block Store)

인스턴스에 사용할 수 있는 블록 수준 스토리지 볼륨을 제공한다.

EBS 볼륨은 형식이 지정되지 않은 원시 블록 디바이스처럼 동작한다.

이러한 볼륨을 인스턴 스에 디바이스로 마운트할 수 있다.

동일한 인스턴스에 여러 볼륨을 탑재하고 한 번에 여러 인스턴스에 볼륨을 탑재할 수 있다.

이러한 볼륨 위에 파일 시스 템을 생성하거나 하드 드라이브와 같은 블록 디바이스를 사용하는 것처럼 볼륨을 사용할 수 있다.

인스턴스에 연결된 볼륨의 구성을 동적으로 변경할 수 있습니다.

 

 

 

AWS 스토리지 서비스 및 생성을 해보자.

 

왼쪽 목록의 Elastic Block Store에서 볼륨을 클릭해준다.

WEBSERVER의 볼륨을 체크해주고 볼륨생성 버튼을 눌러준다.

 

 

WEBSERVER는 가용영역이 2a이므로 새로 생성하는 볼륨도 2a로 맞춰 줘야한다.

키-값도 위와 같이 설정 해준다.

입력 후 볼륨 생성 버튼 클릭

 

 

 

My-VOL에 우측 마우스 클릭 -> 볼륨 연결을 클릭한다

 

인스턴스는 WEBSERVER, 디바이스는 디폴트값으로 설정한 후 연결 버튼을 누른다.

My-VOL의 상태가 in-use 상태로 바뀐것을 확인 할 수 있다.

 

이제 볼륨 마운트를 해주어야한다.

MobaX에서 WEBSERVER를 연다.

[ec2-user@ip-10-0-1-198 ~]$ lsblk                          // 디스크 상태 확인
                                                                       // xvdf가 추가된 것을 확인 할 수 있다.

[ec2-user@ip-10-0-1-198 ~]$ sudo file -s /dev/xvdf /dev/xvdf: data
[ec2-user@ip-10-0-1-198 ~]$ sudo mkfs -t ext4 /dev/xvdf
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux Block size=4096 (log=2) 
...
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

[ec2-user@ip-10-0-1-198 ~]$ sudo mkdir /data                       //마운트 포인트 디렉토리 생성
[ec2-user@ip-10-0-1-198 ~]$ sudo mount /dev/xvdf /data         // /dev/xvdf를 /data에 마운트한다

[ec2-user@ip-10-0-1-198 data]$ sudo touch helloworld.txt
[ec2-user@ip-10-0-1-198 data]$ ls
helloworld.txt lost+found

[ec2-user@ip-10-0-1-198 data]$ cd
[ec2-user@ip-10-0-1-198 ~]$ sudo umount /data
[ec2-user@ip-10-0-1-198 ~]$ df -h                                   // helloworld.txt 마운트가 끊어진 것을 볼수있다.

[ec2-user@ip-10-0-1-198 ~]$ lsblk
NAME       MAJ:MIN    RM SIZE RO TYPE MOUNTPOINT
xvda         202:0           0 8G 0 disk
└─xvda1  202:1           0 8G 0 part /
xvdf          202:80         0 8G 0 disk

이제 xvdf 볼륨을 끊어주자.

AWS 왼쪽 목록의 볼륨에서 My-VOL에 우클릭 -> 볼륨 분리

잠시 후면 available 상태가 된 것을 볼 수 있다.

 

 

 

 

 

이번에는 EBS스냅샷을 생성해보자. 

스냅샷이란 현 상태를 저장해주는 기능이다.

스냅샷을 생성한 후 작업 -> 작업 도중 다시 스냅샷을 찍은 상태로 돌아가고싶다 -> 그 때의 환경으로 돌아갈 수 있다.

(스냅샷은 같은 머신 안에 머물러 있고, 백업은 다른 머신에 저장하는 상태이므로 스냅샷과 백업은 다르다)

(하지만 AWS 스냅샷은 백업과 비슷하다)

 

My-VOL 우클릭 -> 스냅샷 생성

 

키-값만 적어주고 스냅샷 생성 버튼을 클릭한다.

 

왼쪽 메뉴의 스냅샷 클릭

방금 생성한 스냅샷을 우클릭 -> 볼륨 생성 (볼륨을 만드는 과정에서 가용영역을 생성할 수 있으므로)

 

 

가용영역 : 2c

키-값 : 원하는 이름 생성

볼륨 생성 클릭

 

다시 왼쪽 목록의 볼륨 클릭

방금 생성한 My-VOL-SNAPSHOT-DB 우클릭 -> 볼륨 연결

이제 볼륨이 연결되었다. (상태가 in-use)

 

MobaX에서 DATABASE를 열어준다.

$ lsblk 를 입력해주면 xvdf가 연결되어있는 것을 볼 수 있다.

ubuntu@ip-10-0-2-220:~$ sudo mkdir /data
ubuntu@ip-10-0-2-220:~$ sudo mount /dev/xvdf /data
ubuntu@ip-10-0-2-220:~$ cd /data
ubuntu@ip-10-0-2-220:/data$ ls
helloworld.txt lost+found                                               // helloworld라는 파일을 볼 수 있다.
ubuntu@ip-10-0-2-220:/data$ cat helloworld.txt                 // 아무내용도 없다.

ubuntu@ip-10-0-2-220:/data$ cd
ubuntu@ip-10-0-2-220:~$ sudo umount /data

My-VOL-SNAPSHOT-DB 우클릭 -> 볼륨 분리 -> available 상태로 변경

 

 

 

스냅샷을 다른 교차리전으로 옮기고 싶다.

 

대상 리전 변경하면 스냅샷이 해당 리전에 복사가 된다.

 

 

 

스냅샷을 이용하여 이미지 생성도 가능하다.

방법은 두가지가 있다.

1. 운영중인 인스턴스 -> 이미지로 바로 생성 가능

2. 볼륨 -> 볼륨을 스냅샷으로 찍는다 -> 이미지로 생성한다.

 

 

 

두번째 방법으로 실습해보자.

2. 볼륨 -> 볼륨을 스냅샷으로 찍는다 -> 이미지로 생성한다.

 

왼쪽 메뉴에서 볼륨 클릭

WEBSERVER 우클릭 -> 스냅샷 생성 선택

 

키-값 작성하고 스냅샷 생성 버튼 클릭

 

왼쪽 메뉴의 스냅샷으로 이동

방금 만든 스냅샷 우클릭 -> 이미지 생성 클릭

 

 

이름 입력 후 생성 버튼 클릭

 

왼쪽 메뉴에서 AMI로 이동

생성된 이미지 우클릭 -> 시작하기 클릭

 

인스턴스 생성 부분이 나온다.

단계 1인 AMI 선택만 빼고 나머지는 동일하게 구성해준다.

 

단계 3)

네트워크: MY-VPC

서브넷: PUBLIC-SUBNET

 

단계 5)

키: Name

값: WEB-RESTORE

 

단계 6)

기존 보안 그룹 선택 : SG-WEB

 

단계 7)

기존 키페어 선택

 

스냅샷을 이용하여 인스턴스 생성 완료!! - 다시 복원 되었다.

'공부 > AWS' 카테고리의 다른 글

ELB  (0) 2020.12.31
IAM  (0) 2020.12.31
보안그룹(Security Group) / NAT Gateway  (0) 2020.12.30
VPC Peering  (0) 2020.12.29
VPC  (0) 2020.12.28