기본적으로 Google Cloud Managed Lustre는 미사용 고객 콘텐츠를 암호화합니다. Managed Lustre는 사용자의 추가 작업 없이 암호화를 처리합니다. 이 옵션을 Google 기본 암호화 라고 합니다.
암호화 키를 제어하려면 Managed Lustre를 포함한 CMEK 통합 서비스와 함께 Cloud KMS에서 고객 관리 암호화 키 (CMEK)를 사용하면 됩니다. Cloud KMS 키를 사용하면 보호 수준, 위치, 순환 일정, 사용 및 액세스 권한, 암호화 경계 를 관리할 수 있습니다. Cloud KMS를 사용하면 키 사용을 추적하고 감사 로그를 보며 키 수명 주기를 제어할 수도 있습니다. Google에서 데이터를 보호하는 대칭 키 암호화 키 (KEK)를 소유하고 관리하는 대신 사용자가 Cloud KMS에서 이러한 키를 제어하고 관리할 수 있습니다.
CMEK로 리소스를 설정한 후 Managed Lustre 리소스에 액세스하는 환경은 Google 기본 암호화를 사용하는 것과 유사합니다. 암호화 옵션에 대한 자세한 내용은 고객 관리 암호화 키 (CMEK)를 참조하세요.
다음 Managed Lustre 데이터는 CMEK로 보호됩니다.
- 파일 데이터
- 파일 이름과 같은 파일 시스템 메타데이터
제한사항
다음과 같은 제한사항이 적용됩니다.
CMEK로 보호되는 Managed Lustre 인스턴스의 동적 프로비저닝은 Google Kubernetes Engine에서 지원되지 않지만 정적 프로비저닝은 지원됩니다.
Cluster Toolkit은 CMEK로 보호되는 Managed Lustre 인스턴스를 지원하지 않습니다.
VPC 서비스 제어 경계 내에서 CMEK로 보호되는 Managed Lustre 인스턴스를 만들 때 Cloud KMS 키는 다음 중 하나여야 합니다.
- 동일한 VPC 서비스 제어 경계 내에 있거나
- 이그레스 규칙을 통해 액세스할 수 있습니다. 자세한 내용은 고객 관리 암호화 키 (CMEK)와 함께 VPC 서비스 제어 사용 을 참조하세요.
Cloud KMS 키 만들기
CMEK가 사용 설정된 Lustre 인스턴스를 만들기 전에 Cloud KMS 키링과 Cloud KMS 키가 있어야 합니다.
Managed Lustre는 세 가지 보호 수준을 지원합니다.
- 소프트웨어 (
SOFTWARE) - 하드웨어 (
HSM) - 인터넷을 통한 외부 (
EXTERNAL)
키를 만들 때 Managed Lustre 인스턴스가 포함된 프로젝트와 다른 프로젝트에서 Cloud KMS 키를 만드는 것이 좋습니다. 업무 분장을 참조하세요.
Cloud KMS 키는 만들려는 Managed Lustre 인스턴스와 동일한 리전에서 만들어야 합니다.
키를 만들려면 다음 안내를 따르세요.
- 키링이 아직 없는 경우 키링을 만듭니다.
- Cloud KMS 키를 만듭니다.
Managed Lustre 서비스 에이전트에 IAM 권한 부여
Managed Lustre는
서비스 에이전트를 사용하여
리소스에 액세스하고 사용자를 대신하여 작업을 수행합니다. CMEK를 사용하려면 서비스 에이전트에 Cloud KMS 키에 대한 roles/cloudkms.cryptoKeyEncrypterDecrypter IAM 역할을 부여해야 합니다.
Google Cloud 콘솔을 사용하여 CMEK로 보호되는 Managed Lustre 인스턴스를 만드는 경우 이 섹션을 건너뛸 수 있습니다. Google Cloud 콘솔은 인스턴스 생성 흐름의 일부로 필요한 권한을 부여합니다.
프로젝트의 서비스 에이전트 ID를 모르는 경우 서비스 에이전트 ID 만들기 또는 검색을 참조하세요.
서비스 에이전트에 권한 부여
서비스 에이전트에 역할을 부여하려면 gcloud kms keys add-iam-policy-binding 명령어를 사용합니다.
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:SERVICE_AGENT_IDENTITY \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
다음 변수를 바꿉니다.
- KEY_NAME: Cloud KMS 키의 이름
- KEY_RING: 키가 포함된 키링의 이름
- REGION: 키링이 있는 리전
- KMS_PROJECT_ID: Cloud KMS 키가 포함된 프로젝트의 ID
- SERVICE_AGENT_IDENTITY: Managed Lustre 서비스
에이전트 ID
(
service-<var>PROJECT_NUMBER</var>@gcp-sa-lustre.iam.gserviceaccount.com)
CMEK가 사용 설정된 Managed Lustre 인스턴스 만들기
CMEK로 보호되는 Managed Lustre 인스턴스를 만들려면 다음 안내를 따르세요.
gcloud
gcloud를 사용하여 CMEK로 보호되는 인스턴스를 만들려면
인스턴스 만들기의 단계를 따르세요. 아래와 같이 키 식별자를 --kms-key-name의 값으로 지정합니다.
gcloud lustre instance create INSTANCE_ID \
--filesystem=FILESYSTEM_NAME \
--per-unit-storage-throughput=PERF_TIER \
--capacity-gib=CAPACITY_GIB \
--location=ZONE \
--network=NETWORK_NAME \
--project=PROJECT_ID \
--kms-key-name=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Cloud KMS 키는 만들려는 Managed Lustre 인스턴스와 동일한 리전에 있어야 합니다.
REST
REST API를 사용하여 CMEK로 보호되는 인스턴스를 만들려면
인스턴스 만들기의 단계를 따르세요. 아래와 같이 키 식별자를 kmsKey의 값으로 지정합니다.
POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
"filesystem": "FILESYSTEM_NAME",
"perUnitStorageThroughput": PERF_TIER,
"capacityGib": CAPACITY_GIB,
"network": "NETWORK_NAME",
"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
}
Cloud KMS 키는 만들려는 Managed Lustre 인스턴스와 동일한 리전에 있어야 합니다.
필드 및 설명의 전체 목록은
Instance 리소스 참고 문서를 확인하세요.
Google Cloud 콘솔
콘솔 Google Cloud 을 사용하여 CMEK로 보호되는 인스턴스를 만들려면 인스턴스 만들기의 단계를 따르세요. 콘솔의 인스턴스 만들기 페이지에서 Google Cloud 다음 안내를 따르세요.
암호화 섹션에서 Cloud KMS 키 를 선택합니다.
키 관리 유형으로 Cloud KMS 를 선택하고 키를 선택합니다. 키가 다른 프로젝트에 있는 경우 (권장) 프로젝트 전환을 클릭하고 키 프로젝트를 선택한 후 키를 선택합니다. Cloud KMS 키는 만들려는 Managed Lustre 인스턴스와 동일한 리전에 있어야 합니다.
Managed Lustre 서비스 에이전트에 CMEK를 사용할 수 있는 필수 권한이 없는 경우
cloudkms.cryptoKeyEncrypterDecrypter역할을 부여하라는 메시지가 표시됩니다. 부여 를 클릭하여 역할을 적용합니다.
Cloud KMS 키를 사용할 수 없거나 만들기 작업을 시작할 때 권한 문제가 있는 경우 작업이 실패하고 FAILED_PRECONDITION 오류가 반환됩니다.
키 관리
Cloud Key Management Service 키는 순환, 사용 중지, 다시 사용 설정 또는 폐기할 수 있습니다. 다양한 이유로 사용할 수 없게 될 수 있습니다.
키 순환
Cloud KMS 키를 순환할 수 있습니다. 키를 순환하면 새 키 버전 이 생성됩니다.
키를 순환해도 Managed Lustre 인스턴스의 데이터가 다시 암호화되지는 않습니다. Managed Lustre는 데이터 복호화 또는 재암호화를 지원하지 않습니다.
Managed Lustre 인스턴스의 기존 용량은 인스턴스가 생성될 때 사용 중인 키 버전으로 계속 암호화됩니다.
인스턴스의 스토리지 용량을 늘리면 용량 증가 요청을 할 때 기본 키 버전으로 새 용량이 보호되고 해당 용량에 기록되는 모든 데이터는 해당 키 버전으로 보호됩니다.
즉, 키 버전을 순환한 후 인스턴스의 용량을 늘린 경우 Managed Lustre 인스턴스를 암호화하는 키 버전이 여러 개 있을 수 있습니다.
키 중지
키 버전을 사용 중지할 수 있습니다. Managed Lustre 인스턴스에서 사용하는 키 버전 이 사용 중지된 동안 인스턴스가 일시정지됩니다. 인스턴스를 다시 시작하려면 인스턴스를 보호하는 모든 키 버전을 사용 가능한 상태로 되돌립니다. 일시정지된 인스턴스에 대한 자세한 내용은 사용할 수 없는 키를 참조하세요.
자세한 내용은 키 버전 사용 설정 및 사용 중지를 참조하세요.
키 다시 사용 설정
키 버전이 사용 중지된 경우 Cloud KMS API를 통해 다시 사용 설정할 수 있습니다. 키 버전 사용 설정 및 사용 중지를 참조하세요.
Managed Lustre 인스턴스를 다시 시작하려면 스토리지 용량을 암호화하는 모든 키 버전을 사용 설정하거나 복원해야 합니다.
필요한 모든 키가 ENABLED 상태로 돌아가면 Managed Lustre가 키 변경사항을 자동으로 감지하고 인스턴스를 다시 시작합니다. 인스턴스 상태가 ACTIVE가 되고 Managed Lustre 서비스가 정상 작동을 재개합니다. I/O 및 기타 모든 장기 실행 작업을 수행할 수 있습니다.
키 소멸
Cloud KMS 키 버전은 폐기할 수 있습니다. 즉, 키 자료가 영구적으로 삭제됩니다.
Cloud KMS 키는 즉시 폐기할 수 없습니다. 대신 폐기할 키 버전을 예약해야 합니다. 예약된 기간 동안 키 버전을 복원하여 폐기를 취소할 수 있습니다. 자세한 내용은 키 버전 폐기 및 복원을 참조하세요.
폐기되도록 예약된 키 버전은 사용할 수 없습니다. 해당 키 버전으로 보호되는 모든 Managed Lustre 인스턴스가 일시정지됩니다. 일시정지된 인스턴스에 대한 자세한 내용은 사용할 수 없는 키를 참조하세요.
키 버전이 폐기되면 복원할 수 없습니다. 인스턴스는 영구적으로 일시정지된 상태로 유지됩니다. Managed Lustre 인스턴스에서 사용할 수 있는 유일한 작업은 인스턴스 삭제입니다.
사용할 수 없는 키
키는 다음과 같은 이유로 사용할 수 없게 될 수 있습니다.
- 키가 사용 중지됩니다.
- 키가 폐기되거나 폐기되도록 예약됩니다.
- 서비스 에이전트에서 필요한 권한이 삭제됩니다.
- Cloud KMS 키의 프로젝트에서 결제가 사용 중지되고 1시간 넘게 사용 중지된 상태로 유지됩니다.
- 외부 키에 1시간 넘게 연결할 수 없습니다.
이러한 경우 이벤트 발생 후 몇 분 이내에 Managed Lustre 인스턴스가 종료되고 인스턴스 상태가 SUSPENDED로 설정됩니다.
SUSPENDED 인스턴스는 키를 다시 사용할 수 있도록 하여 복구할 수 있습니다.
가능한 일시정지 이유는 다음과 같습니다.
| 키에 대한 작업 | 인스턴스 상태 | 정지 사유 | 다시 사용 설정할 수 있음 |
|---|---|---|---|
| 사용 중지 | SUSPENDED |
KEY_DISABLE |
예 |
| 폐기 예약 | SUSPENDED |
KEY_DESTROY_SCHEDULED |
예 |
| 소멸 | SUSPENDED |
KEY_DESTROY |
아니요 |
| 권한 삭제 | SUSPENDED |
PERMISSION_DENIED |
예 |
| 1시간 동안 결제 사용 중지 | SUSPENDED |
BILLING_DISABLED |
예 |
| 1시간 동안 EKM 키에 연결할 수 없음 | SUSPENDED |
EKM_KEY_UNREACHABLE |
예 |
인스턴스가 일시정지되면 다음이 발생합니다.
- 인스턴스 업데이트 및 가져오기/내보내기와 같은 장기 실행 작업이 차단되고
FAILED_PRECONDITION오류가 반환됩니다. - I/O 작업은 서버 노드가 종료될 때까지 응답을 중지합니다. 이 작업은 30분 이내에 발생합니다.
- 허용되는 유일한 장기 실행 작업은
DeleteInstance입니다.
4개월 넘게 일시정지된 인스턴스는 다시 시작하지 못할 수 있습니다.
일시정지된 인스턴스에 대한 결제
키를 사용할 수 없어서 Managed Lustre 인스턴스가 SUSPENDED 상태가 되면 인스턴스에 대한 요금이 계속 발생합니다. 일시정지 상태에서는 결제가 일시정지되지 않습니다. 인스턴스에 대한 요금 발생을 중지하려면 인스턴스를 삭제해야 합니다.
사용 중인 키 버전에 대해서는 Cloud KMS에서 별도로 청구합니다.
키 사용량 보기 및 키 버전 나열
Cloud KMS 키로 보호되는 조직 내의 Google Cloud 리소스를 볼 수 있습니다. 자세한 내용은 키 사용 정보 보기를 참조하세요.
Managed Lustre 인스턴스에서 사용하는 키 버전의 전체 목록을 보려면 gcloud kms inventory search-protected-resources 명령어를 사용합니다.
gcloud kms inventory search-protected-resources \
--keyname=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--scope=organizations/ORGANIZATION_ID \
--filter="name:projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID" \
--flatten="cryptoKeyVersions" \
--format="value(cryptoKeyVersions)"
각 항목의 의미는 다음과 같습니다.
- ORGANIZATION_ID는 조직의 숫자 ID입니다. 조직 리소스 ID 가져오기를 참조하세요.
키 인벤토리 페이지에서 키 정보를 볼 수도 있습니다.