EMR 보안 강화를 위해 Security Configuration을 생성하고 이를 EMR 클러스터에 적용하는 방법을 설명하겠습니다.
1. EMR Security Configuration 생성 및 적용 개요
EMR 클러스터에서 암호화 및 보안 정책을 적용하려면 먼저 Security Configuration을 생성하고 이를 EMR 클러스터 기동 시 지정해야 합니다.
EMR Security Configuration은 다음 요소를 포함할 수 있습니다.
✅ S3 저장 데이터 암호화 (Amazon S3에 저장되는 데이터 암호화)
✅ 로컬 디스크 데이터 암호화 (EMR 노드의 임시 스토리지 및 HDFS 데이터 암호화)
✅ 전송 데이터 암호화 (클러스터 내/외부 간 네트워크 트래픽 암호화)
✅ EMR WAL 저장 데이터 암호화 (EMR 작업 로그 및 상태 데이터 암호화)
✅ IMDSv2 적용 (AWS 인스턴스 메타데이터 서비스 보안 강화)
2. EMR Security Configuration 생성 방법
EMR 보안 설정을 적용하려면 먼저 Security Configuration을 생성해야 합니다.
📌 AWS Management Console 사용 방법
1️⃣ AWS 콘솔에 로그인 후 EMR 서비스로 이동
2️⃣ Security Configuration 메뉴로 이동
3️⃣ 새로운 보안 설정 생성 클릭
4️⃣ 다음 설정을 지정
- Encryption (암호화 설정)
- At-Rest Encryption (정지된 데이터 암호화)
- S3 암호화 활성화 (S3 데이터 저장 시 KMS 키 사용)
- Local Disk 암호화 활성화 (디스크 암호화 설정 적용)
- In-Transit Encryption (전송 중인 데이터 암호화)
- TLS 적용 (EMR 내부 및 외부 통신 암호화)
- At-Rest Encryption (정지된 데이터 암호화)
- IAM Roles & Policies
- S3 및 EC2 액세스 권한을 가진 IAM 역할 적용
5️⃣ 생성 버튼 클릭
3. 생성한 Security Configuration을 EMR 클러스터에 적용
EMR 클러스터 기동 시 보안 설정을 적용해야 합니다.
📌 AWS Management Console에서 적용 방법
1️⃣ AWS EMR 콘솔 → Clusters → Create Cluster
2️⃣ Advanced options 선택
3️⃣ Security Configuration 에서 생성한 보안 설정 선택
4️⃣ Instance Metadata Service(IMDSv2) 적용
- "Instance Metadata Service" 설정을 "IMDSv2 Only" 로 변경
5️⃣ 클러스터 생성 진행
📌 AWS CLI를 사용한 적용 방법
aws emr create-cluster \
--name "MySecureEMRCluster" \
--release-label emr-6.6.0 \
--applications Name=Hadoop Name=Spark \
--instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m5.xlarge \
--use-default-roles \
--security-configuration "MyEMRSecurityConfig" \
--configurations '[{"Classification":"emrfs-site","Properties":{"fs.s3.enableServerSideEncryption":"true"}}]' \
--instance-metadata-options "HttpTokens=required"
- --security-configuration "MyEMRSecurityConfig" → 생성한 보안 설정 적용
- --instance-metadata-options "HttpTokens=required" → IMDSv2 적용
- fs.s3.enableServerSideEncryption=true → S3 암호화 활성화
4. 적용 시 고려해야 할 영향도
- 성능 영향도: 암호화로 인해 클러스터 성능에 일부 영향이 있을 수 있음
- S3 암호화 설정: 기존 S3 데이터에 대한 암호화 정책을 재검토해야 함
- IAM 역할 변경 필요: 암호화된 데이터에 접근할 수 있도록 KMS 권한을 포함해야 함
- 기존 EMR 클러스터 변경 불가: 이미 실행 중인 EMR 클러스터에는 적용 불가능 (새 클러스터 배포 필요)
5. 추가 보안 강화 설정 (권장 사항)
✅ IAM 역할 최소 권한 적용: EMR 노드에 필요한 최소한의 권한만 부여
✅ S3 버킷 정책 설정: 암호화되지 않은 객체 업로드 차단
✅ VPC 보안 그룹 구성: 외부에서 불필요한 접근 차단
📢 결론 및 향후 계획
- EMR Security Configuration 생성 → 클러스터 생성 시 적용
- 다양한 암호화 설정 적용 → 성능 및 서비스 영향도 분석 필요
- IMDSv2 Only 적용 → 보안 강화 필수
- 기존 클러스터에 즉시 적용 불가 → 새로운 클러스터 배포 필요
이 설정은 AWS 보안 가이드라인에 따라 진행되며, 적용 시 사전 테스트를 권장합니다. 🚀