Migração de VPC Block Storage de HPCS para Key Protect
Migre sua criptografia Hyper Protect Crypto Services (HPCS) para volumes VPC Block Storage para usar IBM Key Protect ( Key Protect ) em vez disso.
Antes de Iniciar
Se ainda não tiver feito isso, revise as informações na visão geral da migração para determinar se você precisa migrar seus volumes de armazenamento em bloco VPC para usar Key Protect em vez de HPCS.
Pré-requisitos para a migração
Conclua estas etapas antes de iniciar a migração.
-
Crie uma nova instância ou use uma instância existente do IBM Key Protect Dedicated.
-
Na instância Key Protect, observe o CRN da chave raiz do cliente (CRK) de destino.
ibmcloud kp keys -i KP-INSTANCE-ID -
Certifique-se de que a VPC Block Storage tenha acesso de leitura à instância Key Protect. Talvez você precise atribuir acesso usando o IAM. Esse acesso pode ser entre contas e deve ser configurado corretamente antes de prosseguir.
-
Se ainda não tiver feito isso, faça o download das ferramentas de migração encontradas na visão geral da migração.
Etapas da migração
Siga estas etapas para migrar seus volumes VPC Block Storage do HPCS para Key Protect.
-
Crie um arquivo CSV que mapeie seu HPCS CRK de origem para o Key Protect CRK de destino.
- Obtenha o CRN da sua chave raiz HPCS.
ibmcloud resource service-instance <hpcs-instance-name> ``` 2. Obtenha o CRN de sua chave raiz Key Protect. ```sh {: pre} ibmcloud resource service-instance <kp-instance-name> ``` 3. Crie um arquivo CSV (por exemplo, `hpcs-kms-migration.csv`) com o seguinte formato: ```csv {: codeblock} <source-hpcs-crk-crn>,<destination-kp-crk-crn> ``` Exemplo: ```csv {: codeblock} crn:v1:staging:public:hs-crypto:us-south:a/1152aa1c1ec54274ac42b807c90c:0ce92f39-69fd-4200-ba53-5ed555689:key:43eb6a-5451-4ea1-8080-0ca2d6cc7,crn:v1:staging:public:kms:us-south:a/1152aa1c1ec54274ac4ad8507c90c:b2ee9d-b658-4939-bb63-ffb6e7442:key:8cf424f4-bd6a-4de9-8ad5-5c60332de ``` -
Configure as variáveis de ambiente necessárias para a ferramenta de migração.
Se você tiver várias instâncias do KMS, certifique-se de que os endpoints utilizados nesta etapa correspondam à instância que você deseja migrar.
- Exporte as variáveis de ambiente necessárias. Substitua os valores de espaço reservado por seus endpoints e chave de API reais.
export HPCS_API_ENDPOINT=https://<hpcs-instance-id>.api.<region>.hs-crypto.appdomain.cloud export KP_ST_ENDPOINT=https://<kp-instance-id>.api.<region>.kms.appdomain.cloud export IBMCLOUD_API_KEY=<api-key-with-access-to-kms-and-hpcs> export IBMCLOUD_API_KEY_KP_ST=$IBMCLOUD_API_KEY ``` Para ambientes de preparação, defina também: ```sh {: pre} export IBMCLOUD_STAGE=true export DEBUG_MODE=true ``` -
Valide o arquivo CSV e verifique o estado atual da migração. Observe que, caso haja várias chaves em uso, o arquivo
CSVpoderá conter várias entradas.- Execute o comando
statuspara verificar se sua configuração está correta.
./crk-migration-tool-darwin-arm64-1.1.0 status hpcs-kms-migration.csv ``` 2. Revise a saída para garantir que os CRKs de origem e destino sejam identificados corretamente. - Execute o comando
-
Crie a intenção de migração do CRK usando o arquivo CSV.
- Execute o comando create para estabelecer a intenção de migração.
./crk-migration-tool-darwin-arm64-1.1.0 create hpcs-kms-migration.csv ``` 2. Verifique se a intenção foi criada com êxito verificando a saída do comando. -
Realize a migração real do CRK sincronizando a intenção. Observe que, se a mesma chave for usada em vários clusters, isso também migrará todos os volumes que utilizam essa chave nesses clusters.
- Execute o comando de sincronização para realizar a migração.
./crk-migration-tool-darwin-arm64-1.1.0 sync hpcs-kms-migration.csv ``` 2. Aguarde até que a operação de sincronização seja concluída. Esse processo migra as chaves de criptografia de seus volumes. -
Verifique se seus volumes agora fazem referência ao Key Protect CRK.
Você só precisa verificar os volumes que migrou. Se você utilizou o script de detecção para listar quais volumes utilizam a chave HPCS, verifique os volumes listados na saída.
- Liste seus Volumes persistentes e anote os IDs dos volumes.
kubectl get pv ``` 2. Descreva um Volume Persistente para obter o ID do volume. ```sh {: pre} kubectl describe pv <pv-name> ``` 3. Verifique os detalhes do volume usando a CLI do IBM Cloud. ```sh {: pre} ibmcloud is volume <volume-id> ``` 4. Na saída, verifique se o campo `Encryption Key` agora faz referência ao CRK CRN de sua instância Key Protect em vez da instância HPCS. -
Atualize suas classes de armazenamento para garantir que todos os futuros PVCs usem o Key Protect CRK.
Você só precisa realizar essa etapa para as classes de armazenamento que migrou. Se você utilizou o script de detecção para listar quais classes de armazenamento utilizam a chave HPCS, conclua esta etapa para as classes listadas na saída.
- Liste suas classes de armazenamento existentes.
kubectl get storageclass ``` 2. Identifique as classes de armazenamento que fazem referência ao HPCS CRK em seus parâmetros. 3. Exclua as classes de armazenamento baseadas em HPCS. ```sh {: pre} kubectl delete storageclass <storageclass-name> ``` 4. Crie novas classes de armazenamento com o Key Protect CRK CRN. Use o exemplo a seguir como modelo: ```yaml {: codeblock} apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ibmc-vpc-block-kms provisioner: vpc.block.csi.ibm.io parameters: profile: "general-purpose" encrypted: "true" encryptionKey: "<key-protect-crk-crn>" csi.storage.k8s.io/fstype: "ext4" reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer ``` 5. Aplique a nova classe de armazenamento. ```sh {: pre} kubectl apply -f <storageclass-file> ```
Próximas etapas
- Verifique se seus aplicativos continuam funcionando corretamente com os volumes migrados.
- Monitore sua instância Key Protect quanto a problemas de acesso ou criptografia.
- Atualize a documentação e os manuais de execução para refletir a nova configuração do site Key Protect.
- Considere a possibilidade de configurar políticas de rotação de chaves para suas chaves raiz Key Protect.