기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
기존 및 새 Amazon EBS 볼륨 자동 암호화
작성자: Tony DeMarco (AWS) 및 Josh Joy(AWS)
환경: 프로덕션 | 기술: 스토리지 및 백업, 보안, 자격 증명, 규정 준수, 관리 및 거버넌스 | |
AWS 서비스: AWS Config, Amazon EBS, AWS KMS, AWS Organizations, AWS Systems Manager |
요약
Amazon Elastic Block Store(Amazon EBS) 볼륨의 암호화는 조직의 데이터 보호 전략에 중요합니다. 이는 잘 설계된 환경을 구축하는 데 있어 중요한 단계입니다. 암호화되지 않은 기존 EBS 볼륨 또는 스냅샷을 암호화하는 직접적인 방법은 없지만 새 볼륨 또는 스냅샷을 생성하여 암호화할 수 있습니다. 자세한 내용은 Amazon EC2 설명서의 EBS 리소스 암호화를 참조하세요. 이 패턴은 신규 및 기존 EBS 볼륨을 모두 암호화하기 위한 예방 및 탐지 제어를 제공합니다. 이 패턴에서는 계정 설정을 구성하고, 자동화된 수정 프로세스를 만들고, 액세스 제어를 구현합니다.
사전 조건 및 제한 사항
사전 조건
활성 Amazon Web Services(AWS) 계정
macOS , Linux 또는 Windows에 설치 및 구성된AWS 명령줄 인터페이스(AWS CLI)
jq
, macOS, Linux 또는 Windows에 설치 및 구성됨 AWS Identity and Access Management(IAM) 권한은 AWS CloudFormation, Amazon Elastic Compute Cloud(Amazon EC2), AWS Systems Manager, AWS Config 및 AWS Key Management Service(AWS KMS)에 대한 읽기 및 쓰기 액세스를 갖도록 프로비저닝됩니다.
AWS 조직은 서비스 제어 정책에 대한 요구 사항인 모든 기능이 활성화된 상태로 구성됩니다.
AWS 대상 계정에서 Config가 활성화됨
제한 사항
대상 AWS 계정에는 encrypted-volumes라는 AWS Config 규칙이 없어야 합니다. 이 솔루션은 이 이름을 가진 규칙을 배포합니다. 이 이름을 가진 기존 규칙을 사용하면 배포가 실패하고, 동일한 규칙을 두 번 이상 처리하는 것과 관련된 불필요한 요금이 부과될 수 있습니다.
이 솔루션은 동일한 AWS KMS 키로 모든 EBS 볼륨을 암호화합니다.
계정에 대한 EBS 볼륨 암호화를 활성화하면 이 설정은 리전별로 다릅니다. AWS 리전에 대해 활성화하면 해당 리전의 개별 볼륨 또는 스냅샷에 대해 비활성화할 수 없습니다. 자세한 내용은 Amazon EC2 설명서의 기본적으로 암호화를 참조하세요.
암호화되지 않은 기존 EBS 볼륨을 수정할 때는 EC2 인스턴스가 사용 중이 아닌지 확인합니다. 이 자동화는 암호화되지 않은 볼륨을 분리하고 암호화된 볼륨을 연결하기 위해 인스턴스를 종료합니다. 수정이 진행되는 동안에는 다운타임이 있습니다. 이것이 조직의 중요한 인프라인 경우, 인스턴스에서 실행되는 애플리케이션의 가용성에 영향을 미치지 않도록 수동 또는 자동 고가용성 구성을 마련해야 합니다. 중요한 리소스는 표준 유지 관리 기간에만 수정하는 것이 좋습니다.
아키텍처
자동화 워크플로
AWS Config는 암호화되지 않은 EBS 볼륨을 감지합니다.
관리자는 AWS Config를 사용하여 Systems Manager에 수정 명령을 보냅니다.
Systems Manager 자동화는 암호화되지 않은 EBS 볼륨의 스냅샷을 생성합니다.
Systems Manager 자동화는 AWSKMS를 사용하여 스냅샷의 암호화된 사본을 생성합니다.
Systems Manager 자동화는 다음 작업을 수행합니다.
영향을 받는 EC2 인스턴스가 실행 중인 경우 중지합니다.
암호화된 볼륨의 새 복사본을 EC2 인스턴스에 연결합니다.
EC2 인스턴스를 원래 상태로 되돌립니다.
도구
AWS 서비스
AWS CLI – AWS 명령줄 인터페이스(AWS CLI)는 AWS 서비스의 퍼블릭 애플리케이션 프로그래밍 인터페이스(APIs)에 대한 직접 액세스를 제공합니다. 를 사용하여 서비스의 기능을 탐색AWSCLI하고 쉘 스크립트를 개발하여 리소스를 관리할 수 있습니다. 하위 수준 API등가 명령 외에도 여러 AWS 서비스가 AWS 에 대한 사용자 지정을 제공합니다CLI. 사용자 지정에는 복잡한 에서 서비스 사용을 단순화하는 상위 수준 명령이 포함될 수 있습니다API.
AWS CloudFormation – AWS CloudFormation 는 AWS 리소스를 모델링하고 설정하는 데 도움이 되는 서비스입니다. 원하는 모든 AWS 리소스(예: Amazon EC2 인스턴스)를 설명하는 템플릿을 생성하고 해당 리소스를 CloudFormation 프로비저닝하고 구성합니다.
AWS Config – AWS Config는 AWS 계정의 AWS 리소스 구성에 대한 세부 보기를 제공합니다. 이러한 보기에는 리소스 간에 어떤 관계가 있는지와 리소스가 과거에 어떻게 구성되었는지도 포함되므로, 시간이 지나면서 구성과 관계가 어떻게 변하는지 확인할 수 있습니다.
Amazon EC2 - Amazon Elastic Compute Cloud(Amazon EC2)는 소프트웨어 시스템을 구축하고 호스팅하는 데 사용하는 크기 조정 가능한 컴퓨팅 용량을 제공하는 웹 서비스입니다.
AWS KMS – AWS Key Management Service(AWS KMS)는 클라우드에 맞게 조정된 암호화 및 키 관리 서비스입니다. AWS KMS 키와 기능은 다른 AWS 서비스에서 사용하며 이를 사용하여 AWS 환경의 데이터를 보호할 수 있습니다.
AWS Organizations – AWS Organizations는 여러 계정을 생성하여 중앙에서 관리하는 조직으로 통합할 수 있는 AWS 계정 관리 서비스입니다.
AWS Systems Manager Automation – Systems Manager Automation은 Amazon EC2 인스턴스 및 기타 AWS 리소스에 대한 일반적인 유지 관리 및 배포 작업을 간소화합니다.
기타 서비스
jq
– jq는 가볍고 유연한 명령줄 JSON 프로세서입니다. 이 도구를 사용하여 AWS CLI 출력에서 키 정보를 추출합니다.
코드
이 패턴의 코드는 GitHub 고객 KMS 키 리포지토리를 사용하여 암호화되지 않은 EBS 볼륨 자동 수정
에서 사용할 수 있습니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
스크립트 및 CloudFormation 템플릿을 다운로드합니다. | GitHub 고객 KMS 키 리포지토리를 사용하여 암호화되지 않은 EBS 볼륨 자동 수정 | AWS 관리자, 일반 AWS |
AWS KMS 키의 관리자를 식별합니다. |
| AWS 관리자, 일반 AWS |
Stack1 CloudFormation template를 배포합니다. |
CloudFormation 템플릿 배포에 대한 자세한 내용은 CloudFormation 설명서의 AWS CloudFormation 템플릿 작업을 참조하세요. | AWS 관리자, 일반 AWS |
Stack2 CloudFormation template를 배포합니다. | 에서
| AWS 관리자, 일반 AWS |
테스트용으로 암호화되지 않은 볼륨을 생성합니다. | 암호화되지 않은 EBS 볼륨으로 EC2 인스턴스를 생성합니다. 지침은 Amazon 설명서의 Amazon EBS 볼륨 생성을 참조하세요. EC2 인스턴스 유형은 중요하지 않으며 인스턴스에 액세스할 필요가 없습니다. t2.micro 인스턴스를 생성하여 프리 티어를 유지할 수 있으며, 키 페어를 생성할 필요가 없습니다. | AWS 관리자, 일반 AWS |
AWS Config 규칙을 테스트합니다. |
Systems Manager에서 다음과 같이 수정 진행 상황과 상태를 볼 수 있습니다.
| AWS 관리자, 일반 AWS |
추가 계정 또는 AWS 리전을 구성합니다. | 사용 사례에 필요한 경우 추가 계정 또는 AWS 리전에 대해 이 에픽을 반복합니다. | AWS 관리자, 일반 AWS |
작업 | 설명 | 필요한 기술 |
---|---|---|
Enable 스크립트를 실행합니다. |
| AWS 관리자, 일반 AWS, bash |
설정이 업데이트되었는지 확인합니다. |
| AWS 관리자, 일반 AWS |
추가 계정 또는 AWS 리전을 구성합니다. | 사용 사례에 필요한 경우 추가 계정 또는 AWS 리전에 대해 이 에픽을 반복합니다. | AWS 관리자, 일반 AWS |
작업 | 설명 | 필요한 기술 |
---|---|---|
서비스 제어 정책을 생성합니다. |
| AWS 관리자, 일반 AWS |
관련 리소스
AWS 서비스 설명서
기타 리소스