인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브(물리적 드라이브가 아님)
인스턴스가 종료되도 데이터를 지속할 수 있음
인스턴스를 재생성하고 이전 EBS 볼륨을 마운트하여 데이터를 다시 받는 구조
하나의 EBS 는 하나의 EC2 인스턴스에만 마운트 가능
EC2 인스턴스와 EBS 의 마운트는 특정 가용 영역에 제한됨
다른 가용 영역에 마운트하기 위한 방법으로 Snapshot 을 사용할 수 있음
EC2 인스턴스를 제거하면 default 로 생성된 EBS 도 같이 제거되며
사용자가 추가한 EBS 에 대해서만 제거되지 않고 유지된다
Delete on termination 설정을 변경하여 제거 유무 변경 가능
1.EC2 Dashboard -> Elastic block store -> Volums -> Create Volume
2.설정 값 세팅 및 적용할 인스턴스의 AZ 확인하여 같은 AZ(가용 영역) 적용
3.볼륨 생성
4.생성한 볼륨 클릭 -> Actions -> Volume Attach 클릭
5.동일한 AZ 의 인스턴스 선택 및 적용
6.EC2 Dashboard -> Instance -> Storage 클릭 및 적용 확인
가용 영역(AZ) 또는 리전에 걸친 스냅샷 복사, 복원 목적
1.EC2 Dashboard -> Elastic block store -> Volumes -> 볼륨 클릭
2.Actions -> Create snapshot 클릭 -> 값 설정 및 생성
3.Snapshots -> 생성된 snapshot 확인
기존 가용 영역에서 사용 중이던 EBS 의 snapshot 생성
해당 snapshot 을 copy 하여 다른 리전에 snapshot 생성
다른 리전에 copy 된 snapshot 클릭 -> Actions -> Create volume from snapshot 클릭 -> 새로운 volume 에 대한 값 설정 및 생성
각자의 소프트웨어 구성에 대해 운영체제 정의 및 설정과 모니터링 도구를 설정
EC2 인스턴스에 설치하고자 하는 모든 설정이 AMI 가 사전에 모두 패키징하여
구성 및 부팅 시간을 단축할 수 있음
1.EC2 Dashboard -> Instance -> Instance 생성, 실행, 무결성 체크
2.생성한 Insctance 클릭 -> Actions -> image and Templates 클릭
3.AMI 를 사용하지만 인스턴스를 생성하기 위한 조건을 다시 한번 체크하거나 입력
4.Advanced Details -> user data 설정 후 인스턴스 생성
5.정상적으로 AMI 를 이용한 인스턴스가 생성되고 정상 작동되는지 확인
1.처음 생성한 인스턴스 user data 에는 httpd(웹서버)를 설치하는 명령어 입력
2.AMI를 이용한 두 번째 인스턴스 user data 에는 echo 명령어로 html 파일을 생성
3.웹서버가 이미지에 이미 구축되어 있어 html 파일만 생성해도 사용 가능함
I/O 성능 향상을 위한 경우
인스턴스 스토어를 중지/종료한 경우 해당 스토리지는 손실됨
버퍼, 캐시, 스크레치 데이터, 임시 콘텐츠를 사용하는 경우에 사용
장기 스토리지의 경우 인스턴스 스토어는 적합하지 않고 EBS를 사용
장애 발생을 대비해 백업 or 복제를 미리 구성
EBS 정의 기준: 크기, 처리량, IOPS
EC2 인스턴스의 부팅 볼륨으로 사용 가능 모델: gp2, gp3, io1, io2
IOPS 성능을 유지할 필요가 있으며 16,000 IOPS 이상을 요구하는 애플리케이션에 적합
일반적으로 데이터베이스 워크로드에 적합
위 와 같은 조건 필요시 gp -> io 로 변경, io 는 최신 세대를 고르는 것을 권장함
io 를 사용하며 Nitro EC2 인스턴스를 사용하면 최대 64,000 IOPS 까지 가능
EBS 타입이 io1/io2, 같은 가용 영역, 클러스터 인식 파일 시스템 필수 사용
EBS 볼륨 생성시 저장 데이터는 볼륨 내부에 암호화됨
인스턴스와 볼륨간의 데이터는 암호화되어 전송됨
암호화된 볼륨으로 생성한 스냅샷, 해당 스냅샷으로 생성한 볼륨 또한 자동 암호화
암호화, 복호화 메커니즘은 보이지 않으며 백그라운드에서 처리됨
암호화는 지연 시간에 전혀 지장을 주지 않음
KMS 암호화(AES-256) 키를 생성하여 암/복호화에 사용
관리된 NFS(Network File System)
여러 EC2 인스턴스에서 마운트할 수 있음
다양한 가용 영역의 EC2 인스턴스에 대한 마운트 허용
높은 가용성과 확정성이 뛰어남
gp2 타입의 EBS 볼륨 비용에 대해 3배 정도 더 비쌈
사용할 때 마다 비용을 지불하는 구조로 사전 프로비저닝 용량이 없음
컨텐츠 관리, 웹 서비스 제공, 데이터 공유, WordPress 등에 사용
내부적으로 NFSv4 프로토콜 사용
EFS 접근을 제어하기 위해 보안 그룹 설정 필요
Windows 가 아닌 Linux 기반의 AMI 에만 호환이 가능
용량을 미리 설정하지 않고 사용하는 1GB 마다 비용을 지불하는 방식
60일 사용하지 않은 파일에 대한 정책이 있다는 가정하에
Standard 계층에 있는 파일이 60일 이상 사용되지 않으면
EFS-IA 계층으로 이동되며 비용도 적어짐
1.EFS Dashboard -> Create file system 클릭
2.옵션 default -> Customize 클릭
3.위에서 설명한 EFS Storage classes 에 대한 옵션들 default
4.Next 클릭
5.Network -> Security Groups -> 기존 보안 그룹 제거
6.새로운 Security Groups 생성하여 모든 AZ에 적용
7.File system policy - optional 그대로 Next
8.설정 값 확인하고 Create 버튼 클릭
9.EC2 Dashboard -> Instance -> Launch Instances 클릭
10.Key Pair -> Proceed without a key pair 선택
11.Configure Storage -> 0 x File systems -> Edit 클릭
12.Network Settings -> edit 클릭
13.Subnet -> AZ 선택
14.다시 Storage -> Add shared file system 클릭
15.생성한 EFS가 설정 값에 있는지 확인, Mount point 확인
16.인스턴스 생성
17.9 ~ 16번 반복해서 두 번째 인스턴스 생성
18.생성한 EC2 인스턴스 1, 2 -> aws ssh connect
19.EC2 인스턴스 1번에서 Mount point 경로에 echo 명령어 사용
20.파일 생성 되었는지 확인
21.EC2 인스턴스 2번에서 Mount point 경로 접근
22.EC2 인스턴스 1번이 생성한 파일 있는지 확인
EC2 인스턴스 스토어 사용: 기반 스토리지에 310,000의 IOPS가 필요한 고성능 데이터베이스를 실행할 때 추천 방법?