EC2 인스턴스의 부팅 볼륨과 데이터 볼륨을 모두 암호화할 수 있습니다.
암호화된 EBS 볼륨을 생성하여 지원되는 인스턴스 유형에 연결하면 다음 유형의 데이터가 암호화됩니다.
- 볼륨 내부에 있는 정지 데이터
- 볼륨과 인스턴스 간에 이동하는 모든 데이터
- 볼륨에서 생성된 모든 스냅샷
- 해당 스냅샷에서 생성된 모든 볼륨
Amazon EBS는 업계 표준인 AES-256 데이터 암호화를 사용하여 볼륨을 데이터 키로 암호화합니다 . 데이터 키는 AWS KMS에서 생성한 다음 볼륨 정보와 함께 저장되기 전에 AWS KMS에서 AWS KMS 키로 암호화합니다. Amazon EBS는 Amazon EBS 리소스를 만든 각 리전에 고유한 AWS 관리 키를 자동으로 만듭니다. KMS 키의 별칭은aws/ebs . 기본적으로 Amazon EBS는 이 KMS 키를 암호화에 사용합니다. 또는 사용자가 만든 대칭 고객 관리 암호화 키를 사용할 수 있습니다. 고유한 KMS 키를 사용하면 KMS 키를 만들고, 순환하고, 비활성화하는 기능을 포함하여 더 많은 유연성을 얻을 수 있습니다.
Amazon EC2는 AWS KMS와 함께 작동하여 암호화된 볼륨을 생성한 스냅샷이 암호화되었는지 여부에 따라 약간 다른 방식으로 EBS 볼륨을 암호화하고 암호 해독합니다.
스냅샷이 암호화될 때 EBS 암호화가 작동하는 방식
사용자가 소유한 암호화된 스냅샷에서 암호화된 볼륨을 생성할 때 Amazon EC2는 AWS KMS와 협력하여 다음과 같이 EBS 볼륨을 암호화하고 암호 해독합니다.
- Amazon EC2는 AWS KMS에 GenerateDataKeyWithoutPlaintext 요청을 보내 볼륨 암호화에 대해 선택한 KMS 키를 지정합니다.
- 볼륨이 스냅샷과 동일한 KMS 키를 사용하여 암호화된 경우 AWS KMS는 스냅샷과 동일한 데이터 키를 사용하여 동일한 KMS 키로 암호화합니다. 볼륨이 다른 KMS 키를 사용하여 암호화된 경우 AWS KMS는 새 데이터 키를 생성하여 지정한 KMS 키로 암호화합니다. 암호화된 데이터 키는 Amazon EBS로 전송되어 볼륨 메타데이터와 함께 저장됩니다.
- 암호화된 볼륨을 인스턴스에 연결하면 Amazon EC2에서 AWS KMS에 CreateGrant 요청을 전송하여 데이터 키를 해독할 수 있습니다.
- AWS KMS는 암호화된 데이터 키를 복호화하고 복호화된 데이터 키를 Amazon EC2로 전송합니다.
- Amazon EC2는 Nitro 하드웨어의 일반 텍스트 데이터 키를 사용하여 볼륨에 대한 디스크 I/O를 암호화합니다. 일반 텍스트 데이터 키는 볼륨이 인스턴스에 연결되어 있는 한 메모리에 유지됩니다.
스냅샷이 암호화되지 않은 경우 EBS 암호화가 작동하는 방식
암호화되지 않은 스냅샷에서 암호화된 볼륨을 생성할 때 Amazon EC2는 AWS KMS와 함께 다음과 같이 EBS 볼륨을 암호화하고 암호 해독합니다.
- Amazon EC2는 AWS KMS에 CreateGrant 요청을 보내서 스냅샷에서 생성된 볼륨을 암호화할 수 있습니다.
- Amazon EC2는 AWS KMS에 GenerateDataKeyWithoutPlaintext 요청을 보내 볼륨 암호화에 대해 선택한 KMS 키를 지정합니다.
- AWS KMS는 새로운 데이터 키를 생성하고 볼륨 암호화에 선택한 KMS 키로 암호화한 다음 암호화된 데이터 키를 Amazon EBS로 전송하여 볼륨 메타데이터와 함께 저장합니다.
- Amazon EC2는 AWS KMS에 Decrypt 요청을 보내 암호화된 데이터 키를 해독한 다음 이를 사용하여 볼륨 데이터를 암호화합니다.
- 암호화된 볼륨을 인스턴스에 연결하면 Amazon EC2에서 AWS KMS에 CreateGrant 요청을 전송하여 데이터 키를 해독할 수 있습니다.
- 암호화된 볼륨을 인스턴스에 연결하면 Amazon EC2는 AWS KMS에 암호 해독 요청을 보내 암호화된 데이터 키를 지정합니다.
- AWS KMS는 암호화된 데이터 키를 복호화하고 복호화된 데이터 키를 Amazon EC2로 전송합니다.
- Amazon EC2는 Nitro 하드웨어의 일반 텍스트 데이터 키를 사용하여 볼륨에 대한 디스크 I/O를 암호화합니다. 일반 텍스트 데이터 키는 볼륨이 인스턴스에 연결되어 있는 한 메모리에 유지됩니다.
자세한 내용은 AWS Key Management Service 개발자 가이드 의 Amazon Elastic Block Store(Amazon EBS)가 AWS KMS를 사용하는 방식 및 Amazon EC2 예제 2를 참조하세요 .
사용할 수 없는 KMS 키가 데이터 키에 미치는 영향
KMS 키가 사용할 수 없게 되면 그 효과는 거의 즉각적입니다(최종 일관성에 따라). KMS 키의 키 상태는 새로운 조건을 반영하도록 변경되고 암호화 작업에서 KMS 키를 사용하려는 모든 요청은 실패합니다.
KMS 키를 사용할 수 없게 만드는 작업을 수행하면 EC2 인스턴스나 연결된 EBS 볼륨에 즉각적인 영향이 없습니다. Amazon EC2는 볼륨이 인스턴스에 연결된 동안 모든 디스크 I/O를 암호화하기 위해 KMS 키가 아닌 데이터 키를 사용합니다.
그러나 암호화된 EBS 볼륨이 EC2 인스턴스에서 분리되면 Amazon EBS는 Nitro 하드웨어에서 데이터 키를 제거합니다. 다음에 암호화된 EBS 볼륨이 EC2 인스턴스에 연결되면 Amazon EBS가 KMS 키를 사용하여 볼륨의 암호화된 데이터 키를 해독할 수 없기 때문에 연결이 실패합니다. EBS 볼륨을 다시 사용하려면 KMS 키를 다시 사용할 수 있도록 해야 합니다.
https://docs.aws.amazon.com/ebs/latest/userguide/how-ebs-encryption-works.html
How Amazon EBS encryption works - Amazon EBS
If you no longer want access to data stored in an EBS volume encrypted with a data key generated from a KMS key that you intend to make unusable, we recommend that you detach the EBS volume from the EC2 instance before you make the KMS key unusable.
docs.aws.amazon.com
'[AWS-FRF] > EC2' 카테고리의 다른 글
[중요] NGINX / JAVA 서버 로그 주기 설정 작업 !! (5) | 2025.03.12 |
---|---|
[참고] AES-256(Advanced Encryption Standard - 256bit) 강력한 대칭키 암호화 알고리즘 !! (3) | 2025.03.11 |
[중요][AWS] Vault Consul 포트 이슈 !! (4) | 2025.03.05 |
[참고][장애회고] ORM(JPA) 사용 시 예상치 못한 쿼리로 인한 HikariCP 이슈 (3) | 2025.02.19 |
[중요] Amazon Linux 2023 Swap 메모리 설정하기!! (2) | 2025.02.17 |
[중요] 자바 힙(Heap) 메모리 구조 & 동작과정 !! (4) | 2025.02.07 |
[중요][AWS][Linux] systemctl 명령어로 서비스 등록, 생성, 삭제!! (18) | 2025.02.05 |
[참고][AWS] 리전 및 가용 영역!! (9) | 2024.12.11 |
댓글