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 |