본문 바로가기
개발 환경 및 오류

AWS : EBS( Elastic Block Store)

by 노랑파랑 2017. 1. 2.
반응형






EBS( Elastic Block Store)

AWS 클라우드의 Amazon EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨(EBS가 생성한 디스크).

일종의 하드디스크





특징

가용 영역 내에 자동으로 데이터가 복제되어 구성요소 장애로부터 보호하고, 고가용성 및 내구성을 제공.

단 몇 분 내에 사용량을 많게 또는 적게 확장 가능하며, 생성 및 제거도 가능하다.

사용한 만큼 프로비저닝한 부분에 대해서만 비용을 지불한다.

스냅샷 기능을 제공하여 EBS의 현재 상태를 그대로 보존 할 수 있다.

EC2 인스턴스를 제거해도 EBS는 독립적이기 때문에 데이터가 유지된다.






EC2에 EBS 볼륨 생성

1. Amazone EC2 콘솔(여기)를 연다.


2. 탐색창의 Elastic Block Store -> Volumes


3. 왼쪽 상단의 Create Volume 클릭



4.  [Volume Type]에서 범용 SSD프로비저닝된 IOPS SSD 또는 Magnetic을 선택. 설정 지정Create 클릭


※ 범용 : 다양한 트랜잭션 워크로드에 사용 할 수 있으며 가격 대비 선능이 우수한 범용 SSD 볼륨 (대부분 워크로드, 가상 데스크톱, 개발 및 테스트 환경, 지연시간이 짧은 대화형 앱)

 프로비저닝된 IOPS SSD : 고성능  SSD 볼륨 (지속적인 IOPS 성능, 대량의 처리량을 필요로 하는 중요한 비지니스 어플리케이션, Large 데이터베이스 워크로드)

※ Magnetic : 이전 세대 HDD (데이터에 자주 액세스 하지 않는 워크로드)

(Volume Type 자세한 내용->링크)

※ AZ(Availability Zone) : 볼륨을 생성할 가용 영역, 물리적으로 다른 지역에 데이터 센터가 위치하지만 네트워크상 가까운 거리를 유지하고 있어 같은 지역 내의 가용성 존에서는 데이터를 고속으로 전송할 수 있다.

※ IPOS : 디스크에 데이터를 읽고 쓰는 속도. 통상 7500rpm 속도의 하드디스트의 IOPS를 75~100정도로 잡는다.

※ Encryption : 암호화된 볼륨 생성, 사용 시 사용할 마스터 키를 선택. 일부 인스턴스 유형에 연결될 수 있다(지원되는 인스턴스 유형)







EBS를 EC2에 연결

※ 사용 조건

사용할 디바이스 이름 (링크)

인스턴스에 연결할 수 있는 볼륨 수 (링크)

볼륨 암호화 확인 

볼륨에 AWS 마켓플레이스 제품 코드가 있는 경우


1. EC2 콘솔을 연다. 링크


2. 탐색창의 Elastic Block Store -> Volumes


3. Actions -> Attach Volume


4. Instance에 볼륨을 연결할 인스턴스 ID 또는 이름을 입력(볼륨과 동일한 가용 영역에 있는 인스턴스가 목록으로 나타난다.)



5. Attach 클릭 후 볼륨을 사용 가능하도록 만든다.








볼륨을 사용 가능하도록 만들기 (Linux 인스턴스) 


1. ssh를 이용해 인스턴스에 연결


2. 커널의 블록 디바이스 드라이버에 따라 디바이스 이름이 지정한 것과 다른 이름으로 연결될 수 있다. ( /dev/sdh -> /dev/xvdh 또는 /dev/hdh )

명령어 : lsblk  [디바이스 이름 확인용] 


3. 볼륨에서 파일 시스템을 생성해야 하는지 여부 확인

명령어 : sudo file -s 디바이스이름

▷ 해당 디바이스에 파일 시스템이 없는 것 -> 파일 시스템 생성

▷ 해당 디바이스에 파일 시스템이 있는 것


4. 파일 시스템이 없는 경우 볼륨에 ext4 파일 시스템 생성

명령어 : sudo mkfs -t ext4 디바이스이름


5. 볼륨에 사용할 마운트 포인트 디렉토리 생성

명령어 : sudo mkdir 마운트포인트디렉토리이름(예:/data)

마운트 포인트 : 파일 시스템 트리에 볼륨이 위치하고 볼륨을 마운트 한 후 파일을 읽고 쓰는 위치


6. 방금 생성한 위치에 볼륨 마운트

명령어 : sudo mount 디바이스이름 마운트포인트디렙토리이름


7. (선택)시스템을 재부팅할 때마다 이 EBS 볼륨을 마운트 하려면 디바이스에 대한 항목을 /etc/fstab 파일에 추가

※ /etc/fstab 파일 백업 : sudo cp /etc/fstab /etc/fstab.orig

※ 사용할 디바이스 이름은 영구적인 UUID를 사용하는 것이 좋다. (/dev/xvda 형식이 아닌) 

명령어 : sudo file -s 디바이스이름


a. nano 또는 vim 텍스트 편집기를 root나 sudo 명령으로 연다.

b. 해당 볼륨의 파일 끝에 아래와 같은 형식 추가

device_name  mount_point  file_system_type  fs_mntops  fs_freq  fs_passno

예 

UUID=de9a1ccd-a2dd-44f1-8be8-2d4275cb85a3       /data   ext4    defaults,nofail        0       2

※ nofail 옵션 : 볼륨 마운트 시 오류가 있어도 인스턴스 부팅. ubuntu와 같은 Debian 계열은 nobootwait 옵션 추가

c. 추가 후 해당 항목의 작동 확인

명령어 : sudo mount -a








EBS 볼륨 떼어내기

1. 장치 제거(마운트 해제)

명령어 : sudo umount -d 디바이스이름


2. EC2 콘솔의 Volume -> Action -> Detach Volume



반응형

'개발 환경 및 오류' 카테고리의 다른 글

AWS : Auto Scaling  (0) 2017.01.03
AWS : ELB(Elastic Load Balancing)  (0) 2017.01.03
AWS : AMIs  (0) 2017.01.02
AWS : S3(Simple Storage Service)  (0) 2017.01.02
AWS : EC2 (아마존 리눅스) Windows(Git설치)  (0) 2017.01.02