🪣 EBS Volume
EBS란 Elastic Block Store의 약어로, 인스턴스가 실행되는 동안 연결할 수 있는 네트워크 드라이브이다.
EBS 볼륨은 인스턴스가 종료된 후에도 데이터를 유지할 수 있게 해주며,
CCP레벨에서 EBS 볼륨은 한 번에 한 인스턴스에만 마운트 될 수 있는 네트워크 USB라고 생각하면 된다.
매월 30GB의 SSD와 같은 일반적인 타입이나 마그네틱 타입의 저장소를 제공한다.
✅ EBS 볼륨의 특징
EBS 볼륨은 물리적 드라이브가 아닌, 네트워크 드라이브다.
인스턴스와 EBS 볼륨 사이의 의사소통에는 네트워크를 사용하기 때문에, 어느 정도의 지연이 발생하기도 한다.
한 EC2 인스턴스에서 분리되어 다른 인스턴스로 빠르게 연결이 가능하며, 이것은 장애 조치에 매우 유용하다.
둘째로, EBS 볼륨은 가용 영역 단위로 묶이게 된다.
따라서 생성된 가용 영역 외의 가용 영역에는 연결이 불가능하다.
하지만, EBS 볼륨의 스냅 샷을 만들어두면 다른 가용 영역으로 이동할 수 있다.
마지막으로, 필요한 용량을 공급해야 한다.
시간에 따라 용량을 늘릴 수 있고, 사용 용량에 따라 금액을 지불해야 한다.
⚙️ EBS의 종료시 삭제 옵션
종료시 삭제 옵션은 EC2 인스턴스가 종료될 때의 EBS의 행동을 제어한다.
기본적으로 루트 EBS 볼륨은 인스턴스 종료시 삭제하도록,
새로 생성해서 연결된 EBS 볼륨은 삭제하지 않도록 설정되어 있다.
이 옵션은 AWS 콘솔이나 CLI에서 설정이 가능하다.
인스턴스가 종료될 때 데이터를 저장하기 위해서는 루트 볼륨의 종료 시 삭제 옵션을 비활성화 하면 된다.
🏞️ EBS 스냅샷
EBS 볼륨을 가지고 백업본인 스냅샷을 만들 수 있다.
스냅샷을 만들 때 연결 해제를 권장하지만, 반드시 할 필요는 없다.
스냅샷을 이용하면, 다른 가용 영역이나 리전으로 EBS 볼륨을 복사할 수 있다.
[EBS 스냅샷의 기능]
- EBS 스냅샷 아카이브
- 스냅샷을 75% 더 저렴한 아카이브 티어로 옮길 수 있게 해준다.
- 저렴하지만, 아카이브에서 복원하는데는 24시간에서 72시간이 소요된다.
- EBS 스냅샷 재활용 통
- 삭제된 스냅 샷을 잘못 삭제했을 경우 복구해준다.
- 보존 기간을 1일에서 1년 사이로 설정할 수 있다.
📷 AMI
AMI란 Amazon Machine Image의 약어로, 사용자화된 EC2 인스턴스이다.
자신만의 소프트웨어, 구성, 운영체제, 모니터링 도구를 추가할 수 있으며,
이것들은 모두 AMI를 통해 패키지화 되어있기 때문에, 부팅이나 구성이 빨라진다.
AMI는 리전 단위로 묶이게 되며, 다른 리전으로 복사해서 사용할 수 있다.
⚙️ EC2 인스턴스 설치 옵션
A Public AMI : AWS가 제공하는 AMI
Your own AMI : 스스로 만들고 유지하는 AMI
An AWS Marketplace AMI : 누군가가 만들어서 배포하거나 판매하는 AMI
📃 AMI 프로세스
- EC2 인스턴스를 시작하고, 사용자화 한다.
- 데이터 무결성을 위해 인스턴스를 중단한다.
- AMI를 구축한다. 이 때, 내부적으로 EBS 스냅샷도 생성한다.
- 다른 AMI를 통해 인스턴스를 설치한다.
📠 EC2 Image Builder
가상 머신이나 다른 컨테이너 이미지의 생성을 자동화하는데 사용된다.
이 말은 곧 EC2 AMI의 생성, 유지, 검증을 자동화해준다는 말이다.
EC2 Image Builder는 매주 1번이나 패키지가 업데이트 될 때 등, 정해진 일정에 따라 작동할 수도 있다.
또한, 무료 서비스이기 때문에 EC2 인스턴스 사용에 대한 비용만 지불하면 된다.
🏪 EC2 인스턴스 스토어
EBS 볼륨은 성능이 제한된 네트워크 드라이브다.
따라서 고성능의 하드웨어 디스크가 필요할 경우 EC2 인스턴스 스토어를 이용하게 된다.
EC2 인스턴스 스토어를 이용하게 되면 I/O 성능을 향상시킬 수 있다.
주의할 점은 인스턴스 스토어에 있는 EC2 인스턴스를 중단하거나 종료하게 되면 스토리지가 사라진다는 것이다.
또한, 하드웨어 장애시 데이터 손실 우려가 있다.
따라서 인스턴스 스토어는 버퍼, 캐시, 스크래치 데이터, 임시 콘텐츠 등 일시적인 작업을 원하는 경우 좋지만,
장기적인 저장소로 사용할 수는 없어 일시적인 저장소라고 불린다.
또한 EC2 인스턴스 스토어 사용시, 사용자는 백업과 복제 작업을 할 책임이 있다.
📁 EFS
EFS는 Elastic File System의 약어로,
한 번에 수백개의 EC2 인스턴스에 마운트가 가능한 관리되는 네트워크 파일 시스템이다.
EFS는 Linux EC2 인스턴스에서만 여러개의 가용 영역에 걸쳐 작동하며,
고가용성이고, 확장 가능하지만 가격이 비싸고 capacity planning 없이 사용한 만큼 지불해야 한다.
✅ EBS와 EFS의 차이
- EBS
- 하나의 가용 영역에서는 하나의 EC2 인스턴스에만 연결이 가능하며, 가용 영역별로 구분된다.
- 스냅샷을 통해 다른 가용 영역으로 옮긴다고 해도, 이는 복제본일 뿐이다.
- EFS
- EFS에 있는 내용은 마운트된 모든 인스턴스에 공유된다.
- 어떤 가용 영역에 있는 인스턴스든지 동시에 EFS에 마운트하여 동일한 파일을 사용하는 것이 가능하다.
🫙 EFS Infrequent Access (EFS-IA)
자주 액세스하지 않는 파일에 대한 비용 최적화된 저장소 클래스로, EFS Standard에 비해 92% 정도 저렴하다.
EFS-IA를 활성화하면 EFS는 파일이 마지막으로 액세스된 시점에 기반해 자동적으로 EFS-IA로 이동시킨다.
'60일간 액세스되지 않은 파일 이동'처럼 라이프사이클 정책을 정의하고 EFS-IA를 활성화 할 수 있으며,
애플리케이션들이 EFS에 엑세스 하는데 있어서 투명성이 제공된다.
🔑 EC2 저장소에 대한 책임 분배 모델
[AWS]
- 모든 인프라의 보안
- EBS 볼륨과 EFS 드라이브를 위한 데이터 복제
- 결함있는 하드웨어 교체
- 직원들이 데이터에 접근하지 못하도록 하는 것
[사용자]
- 백업이나 스냅샷을 만들어두는 것
- 데이터를 암호화 하는 것
- 드라이브에 있는 모든 데이터에 대한 책임
- EC2 인스턴스 스토어를 사용하는 것에 대한 위험 이해
🛠️ Amazon FSx
AWS에서 타사의 고성능 파일 시스템을 설치하는 완전관리형 서비스이다.
FSx for Lustre, FSx for Windows File Server, FSx for NetApp ONTAP이 있다.
🗃️ Amazon FSx for Windows File Server
완전관리형이고, 고도로 신뢰 가능하며, 확장 가능한 Windows 공유 파일 시스템이다.
Windows 파일 서버에 구축되어 있으며, Windows 인스턴스를 위한 것으로,
SMB 프로토콜과 Windows NTFS를 지원한다.
Microsoft Active Directory와 통합되어 있으며, AWS를 통하거나 on-premise 인프라를 통해 접근 가능하다.
🗃️ Amazon FSx for Luster
Luster란, Linux와 cluster의 합성어이다.
고성능 켬퓨팅(HPC)을 위한 완전관리형이며, 고성능에, 확장 가능한 파일 저장소로,
머신러닝, 분석, 영상처리, 금융 모델링등에 사용된다.
초당 수백GB의 처리속도, 수백만 개의 IO작업, sub-ms 단위의 지연을을 보여준다.