설명
SageMaker 엔드포인트의 저장 볼륨에는 모델 실행에 필요한 데이터와 임시 파일이 남을 수 있습니다. aws_sagemaker_endpoint_configuration의 kms_key_arn은 이 볼륨의 암호화 키를 지정합니다. 키를 생략해도 SageMaker는 저장 볼륨을 기본적으로 암호화하므로, 생략 자체가 비암호화 저장을 뜻하지는 않습니다.
별도 키 정책과 수명주기 통제가 필요하면 지원되는 저장 볼륨에 고객 관리형 KMS 키를 사용하세요. 일부 Nitro 인스턴스의 로컬 저장소는 하드웨어로 암호화되며 이 KMS 설정의 적용 대상이 아닙니다.
잠재적 영향
기본 암호화가 조직의 키 관리 요구사항을 충족하지 못할 수 있습니다. 반대로 필요한 키 권한을 제거하거나 키를 비활성화하면 엔드포인트 배포와 운영에 영향을 줄 수 있습니다.
해결 방법
- 인스턴스의 저장소 유형과 키 요구사항을 확인하고, 별도 키가 필요하면
kms_key_arn에 실제 키 ARN을 지정하세요. - SageMaker가 키를 사용할 수 있도록 필요한 권한을 부여하고 새 엔드포인트 구성을 적용한 뒤 추론 요청이 정상 처리되는지 확인하세요.
- S3 모델 파일, 데이터 캡처와 로그의 암호화 및 접근 권한은 별도로 점검하세요. 볼륨 암호화는 통신 보호나 추론 호출 권한을 대신하지 않습니다.
예시
엔드포인트 구성의 발췌입니다. 전체 구성에서 모델과 필요한 권한을 정의하세요.
키 생략
hcl
resource "aws_sagemaker_endpoint_configuration" "ml_endpoint_config" {
name = "my-endpoint-config"
production_variants {
variant_name = "variant-1"
model_name = aws_sagemaker_model.model.name
initial_instance_count = 1
instance_type = "ml.t2.medium"
}
}
별도 KMS 키를 지정하지 않습니다. 기본 저장 암호화와 조직의 키 관리 기준을 비교하세요.
KMS 키 지정
hcl
resource "aws_sagemaker_endpoint_configuration" "ml_endpoint_config" {
name = "my-endpoint-config"
production_variants {
variant_name = "variant-1"
model_name = aws_sagemaker_model.model.name
initial_instance_count = 1
instance_type = "ml.t2.medium"
}
kms_key_arn = aws_kms_key.sagemaker.arn
}
지원되는 저장 볼륨에 사용할 키를 지정합니다. 이 설정만으로 S3에 저장되는 모든 데이터의 암호화 키가 바뀌지는 않습니다.