Apache Spark 암호화 활성화
Athena에서 Apache Spark 암호화를 활성화할 수 있습니다. 이렇게 하면 Spark 노드 간에 전송 중 데이터는 물론, Spark에서 로컬로 저장된 저장 데이터도 암호화됩니다. 이 데이터의 보안을 강화하기 위해 Athena는 다음과 같은 암호화 구성을 사용합니다.
spark.io.encryption.keySizeBits="256"
spark.io.encryption.keygen.algorithm="HmacSHA384"
Spark 암호화를 활성화하려면 Athena 콘솔, AWS CLI 또는 Athena API를 사용할 수 있습니다.
Spark 암호화가 활성화된 새 노트북을 생성하려면
https://console.aws.amazon.com/athena/
에서 Athena 콘솔을 엽니다. -
콘솔 탐색 창이 표시되지 않으면 왼쪽의 확장 메뉴를 선택합니다.
-
다음 중 하나를 수행합니다.
-
Notebook explorer(노트북 탐색기)에서 Create notebook(노트북 생성)을 선택합니다.
-
Notebook editor(노트북 편집기)에서 Create notebook(노트북 생성)을 선택하거나 더하기 아이콘(+)을 선택하여 노트북을 추가합니다.
-
-
노트북 이름에는 노트북의 이름을 입력합니다.
-
Spark 속성 옵션을 확장합니다.
-
Spark 암호화 켜기를 선택합니다.
-
생성(Create)을 선택합니다.
생성한 노트북 세션은 암호화됩니다. 평소처럼 새 노트북을 사용합니다. 나중에 노트북을 사용하는 새 세션을 시작하면 새 세션도 암호화됩니다.
또한 Athena 콘솔을 사용하여 기존 노트북의 Spark 암호화를 활성화할 수도 있습니다.
기존 노트북의 암호화를 활성화하려면
-
이전에 생성한 노트북의 새 세션을 엽니다.
-
노트북 편집기의 오른쪽 상단 Session(세션) 메뉴에서 Edit session(세션 편집)을 선택합니다.
-
세션 세부 정보 편집 대화 상자에서 Spark 속성을 확장합니다.
-
Spark 암호화 켜기를 선택합니다.
-
Save(저장)를 선택합니다.
콘솔은 암호화가 활성화된 새 세션을 시작합니다. 이 노트북에 대해 생성한 이후 세션에서도 암호화가 활성화됩니다.
AWS CLI를 사용하여 적절한 Spark 속성을 지정해 세션을 시작할 때 암호화를 활성화할 수 있습니다.
AWS CLI를 사용하여 Spark 암호화를 활성화하려면
-
다음과 같은 명령을 사용하여 Spark 암호화 속성을 지정하는 엔진 구성 JSON 객체를 생성합니다.
ENGINE_CONFIGURATION_JSON=$( cat <<EOF { "CoordinatorDpuSize": 1, "MaxConcurrentDpus": 20, "DefaultExecutorDpuSize": 1, "SparkProperties": { "spark.authenticate": "true", "spark.io.encryption.enabled": "true", "spark.network.crypto.enabled": "true" } } EOF )
-
AWS CLI에서 다음 예제와 같이
athena start-session
명령을 사용하여 생성한 JSON 객체를--engine-configuration
인수로 전달합니다.aws athena start-session \ --region "
region
" \ --work-group "your-work-group
" \ --engine-configuration "$ENGINE_CONFIGURATION_JSON"
Athena API를 사용하여 Spark 암호화를 활성화하려면 StartSession 작업 및 해당 EngineConfiguration SparkProperties
파라미터를 사용하여 StartSession
요청의 암호화 구성을 지정합니다.