스토리지 드라이브, 즉 볼륨은 물리 드라이브를 가상으로 나눈 공간. 인스턴스에서 실행되는 운영 체제에서는 모든 aws 볼륨이 실제 물리 드라이브처럼 보임. aws 에는 여러 유형의 볼륨이 있으며 각 유형이 동작하는 방식을 이해하는 것이 중요하다.
EBS는 필요한 수만큼 인스턴스에 연결할 수 있으며 물리 서버의 하드 드라이브, 플래시 드라이브, USB 드라이브와 유사하게 사용된다. 무릴 드라이브에서와 같이 어떤 EBS 볼륨 유형을 선택하느냐에 따라 성능과 비용은 달라진다.
aws는 sla에서 99.999% 가용성으로 ebs 볼륨에 저장한 데이터의 안정성을 보장하고 있으므로 장애에 대한 걱정은 하지 않아도 된다. EBS 드라이브에 장애가 생겨도 그 데이터는 이미 중복으로 저장돼 있어서 문제를 인식하기 전에 복구될 가능성이 크다. 따라서 사용자는 실질적으로 데이터에 얼마나 빠르고 효과적으로 액세스 할 것인가에만 관심을 기울이면 된다.
현재 ebs 볼륨 유형에는 ssd 기술을 사용하는 두 가지 유형과 기존의 디스크 회전 구동형 HDD 기술을 사용하는 두 가지 유형이 있다. 볼륨 유형의 성능은 최고 IOPS로 측정한다.
고성능 I/O 작업이 필요할 때 최대 32,000 IOPS와 최대 500MB/s 처리량을 제공하는 프로 비저닝된 IOPS를 사용한다.
대다수 일반 서버 워크로드에는 이론적으로는 짧은 지연 시간 성능을 제공하는 범용 SSD가 적합한다.
처리량에 최적화된 HDD 볼륨은 로그 처리와 빅데이터 작업 등 처리량이 많은 워크로드에 적합한 성능을 저렴한 비용에 제공.
빈번하게 액세스하지 않는 대용량 데이터 작업에 적합하다.
모든 EBS 스냅샷을 통해 복사할 수 있고, 기존 스냅샷을 다른 인스턴스에 공유해서 연결할 수 있으며, AMI로 등록할 수 있는 이미지로 변경할 수 있다.
EBS 볼륨을 암호화해서 EC2 인스턴스가 저장하거나 송수신하는 데이터를 보호할 수 있으며, EBS에서는 내부에서 암호화 키를 자동으로 관리하거나 AWS KMS에서 제공되는 키를 사용할 수 있다.
EBS 볼륨과 다른 임시 디스크며, 디스크가 연결된 인스턴스가 종료됐을 때 저장된 데이터는 영구히 삭제된다.
EBS 대신 인스턴스 스토어를 사용하는 이유는 다음과 같다.
ec2 인스턴스는 네트워크에 연결된 모든 장치와 마찬가지로 고유한 Ip로 식별된다. 모든 인스턴스에는 기본적으로 최소 한 개의 프라이빗 IPv4 주소가 할당된다.
프라이빗 서브넷에서 만들어진 인스턴스는 서브넷 내부에서만 통신할 수 있고, 인터넷에는 직접 연결할 수 없다.
인스턴스에 여러 개의 네트워크 인터페이스가 있어야 하는 경우, 가상 탄력적 네트워크 인터페이스를 만들어 인스턴스에 연결할 수 있다.
실행 중인 인스턴스에 연결돼 있기만 하면 탄력적 IP에는 비용이 부과되지 않는다.
방화벽 역할을 한다고 생각하면 편하다. 보안 그룹에 지정한 트래픽 유형만을 허용하는 정책 규칙을 설정, 네트워크에서 송수신하는 모든 데이터 패킷은 구 규칙에 따라 평가해서 허용 또는 거부된다.
보안 그룹에서는 정교한 규칙 세트를 쉽게 만들어 서비스 엑세스를 관리할 수 있으므로, 전 세계에 웹사이트를 공개하더라도 백엔드 서버에는 팀 구성원만 액세스하게 할 수 있다.
IAM 역할을 사용해서 ec2 인스턴스를 비롯한 aws 리소스에 액세스하는 것을 제어할 수 있다. aws 계정 내의 특정 서비스 또는 리소스에 작업을 수행할 수 있는 권한을 부여하며, 특정 사용자나 리소스에 역할을 할당하면 그 사용자나 리소스느느 역할 정책에 포함된 다른 리소스에 엑세스 할 수 있다.
프라이빗 인스턴스에서 인터넷으로 향하는 트래픽을 라우팅 할 수 있도록하는 장치이다.
세션을 제대로 보호하기 위해 키 페어를 생성, 퍼블릭 키는 EC2 인스턴스에 저장하고 다른 절반인 프라이빗 키는 사용자 단말에 저장한다.
인스턴스에 접속하기 위해선 프라이빗 키를 사용해 ssh 접속을 통해 인스턴스에 접속할 수 있다.
퍼블릭키가 분실, 노출됐다면 aws 에 저장된 키를 반드시 삭제해야한다. 키 관리는 매우 중요하며 인스턴스 접속 관리는 키 관리에 달려있다고 봐도 무방하다.