Apache Spark 암호화 활성화 - Amazon Athena

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 암호화가 활성화된 새 노트북을 생성하려면
  1. https://console.aws.amazon.com/athena/에서 Athena 콘솔을 엽니다.

  2. 콘솔 탐색 창이 표시되지 않으면 왼쪽의 확장 메뉴를 선택합니다.

  3. 다음 중 하나를 수행합니다.

    • Notebook explorer(노트북 탐색기)에서 Create notebook(노트북 생성)을 선택합니다.

    • Notebook editor(노트북 편집기)에서 Create notebook(노트북 생성)을 선택하거나 더하기 아이콘(+)을 선택하여 노트북을 추가합니다.

  4. 노트북 이름에는 노트북의 이름을 입력합니다.

  5. Spark 속성 옵션을 확장합니다.

  6. Spark 암호화 켜기를 선택합니다.

  7. 생성(Create)을 선택합니다.

생성한 노트북 세션은 암호화됩니다. 평소처럼 새 노트북을 사용합니다. 나중에 노트북을 사용하는 새 세션을 시작하면 새 세션도 암호화됩니다.

또한 Athena 콘솔을 사용하여 기존 노트북의 Spark 암호화를 활성화할 수도 있습니다.

기존 노트북의 암호화를 활성화하려면
  1. 이전에 생성한 노트북의 새 세션을 엽니다.

  2. 노트북 편집기의 오른쪽 상단 Session(세션) 메뉴에서 Edit session(세션 편집)을 선택합니다.

  3. 세션 세부 정보 편집 대화 상자에서 Spark 속성을 확장합니다.

  4. Spark 암호화 켜기를 선택합니다.

  5. Save(저장)를 선택합니다.

콘솔은 암호화가 활성화된 새 세션을 시작합니다. 이 노트북에 대해 생성한 이후 세션에서도 암호화가 활성화됩니다.

AWS CLI를 사용하여 적절한 Spark 속성을 지정해 세션을 시작할 때 암호화를 활성화할 수 있습니다.

AWS CLI를 사용하여 Spark 암호화를 활성화하려면
  1. 다음과 같은 명령을 사용하여 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 )
  2. 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 요청의 암호화 구성을 지정합니다.