개발 환경 및 오류

AWS : EBS( Elastic Block Store)

노랑파랑 2017. 1. 2. 19:47
반응형






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