brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Aug 02. 2020

431. KMS이용하여  EMR 클라이언트 측 암호화

실습,EMR사용시 KMS사용은 필수로 하자

큰그림

EMR파일 시스템, S3 데이터를 KMS키를 이용해 클라이언트 측  암호화 하자.

암호화 해독도 하자.

EMR, S3 모두 KMS 암호화 사용하자.


s3버킷도 만들고

KMS키도 만들어   AWS암호화 키의 안전한 생성 및 관리

EMR도 만들자

EMR에 접속해 사용하자.




<1> S3 버킷 만들기

<2>  KMS 키 만들기

<3> EMR 보안 설정 하기

<4>  EMR 생성하기

<5> 보안 그룹 SSH  접근 제어

<6>  EMR  접속하기

<7> 클라이언트 사이트 암호화 확인하기






<1> S3 버킷 만들기


S3 > 

seo-serive-emr-bucket1




<2>  KMS 키 만들기


1

KMS >  키 생성  >  대칭  > 다음 

KMS키이름

service1-emr-kms

EMR key for use with encrypted clusters

다음


2

키관리 권한 정의 

키 관리자 선택 

admin  권한 페이지가 나온다.

admin으로 할 사용자를 체크한다.

다음


3

키 사용 권한 정의

CMK를 사용할수 있는 IAM 상용자 및 역할을 선택한다.

사용자 체크

다음


완료




<3> EMR 보안 설정 하기


1

EMR > 왼쪽 보안 구성  > 생성

emr-sec1


2

S3  암호화 세션  

    암호화  s3 체크하기  


    CSE-KMS 선택  


    AWS KMS 고객 마스터키    : service1-emr-key  


생성하기


// 참고   

EMRFS 의 IAM  역할 필요

 S3에 대한 EMRFS  요청에 IAM역할사용 

 





<4>  EMR 생성하기


EMR= 관리형 하둡 클러스터


1

EMR >  클러스터 생성  > 고급  옵션으로 이동  >  소프트웨어 구성 (Hadoop , Hive )   다음



2

네트워크  :  인프라에서 지정한 VPC

EC2  서브넷  : 서브넷 선택 

인스텐스 타입 설정  

다음



일반 옵션

클러스터 이름

seo1-emr

S3  버킷 선택

service1-emr-bucket

디버깅, 종료보호 선택하거나 선택 해지 

다음




4

 Ec2 Key pair  :  변경 

권한 

사용자 지정 으로 변경

EMR 역할   : EMR_DefaultRole

EC2 인스턴스 프로파일 :  EMR_EC2_DefaultRole

Auto Scaling 역할 : EMR_AutoScaling_DefaultRole



5

EC2 보안그룹 

ElasticMapReduce-master

> 클러스터 생성 

// 특정소스 IP블럭에서 TCP 8443 허용 필요

// 보안 가이드 필요

 

6

클러스터 목록 클릭 >  상태 시작 확인


7

마스터 공인 DNS  확인

ec2-xxx-xxx--xx.us-west-2.compute.amazonaws.com





<5> 보안 그룹 SSH  접근 제어


보안 그룹   > inboun 룰  > add 룰

ssh 

my ip 를 허용 해야 한다.

저장




<6>  EMR  접속하기


EMR 마스터 ssh로 접속하기


1

putty로 접속하기 

호스트 네임 :ec2-34-222-32-110.us-west-2.compute.amazonaws.com

login :   hadoop  입력




<7> 클라이언트 사이트 암호화 확인하기


1

vi  test.txt

ssssssssssssss

저장


2

hadoop fs -put test.txt s3://BUCKET/

hadoop fs -put test.txt s3://seo-serive-emr-bucket1/



3

aws s3 cp s3://BUCKET/text.txt encryptedOutputFile.txt

aws s3 cp s3://seo-serive-emr-bucket1/test.txt encryptedOutputFile.txt


4

more encryptedOutputFile.txt


5

확인

hadoop fs -cat s3://BUCKET/test.txt

hadoop fs -cat s3://seo-serive-emr-bucket1/test.txt



감사합니다.





브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari