Use a sincronização de instâncias entre contas para replicar imagens de uma instância em uma conta Alibaba Cloud para outra. Esse recurso independe da região e oferece suporte à sincronização manual e automática.
Observações de uso
-
A instância de source deve ser da Enterprise Edition. A instância de destino pode ser das edições Basic ou Advanced.
Para fazer upgrade de uma instância Enterprise Edition, acesse o console do Container Registry (ACR) e clique em Upgrade no canto inferior direito do cartão da instância.
Não há suporte para sincronização de regiões de nuvem pública para regiões de nuvem não pública, como Finance Cloud e Gov Cloud.
Em algumas regiões, restrições especiais, como a ausência de acesso à rede pública para buckets do Object Storage Service (OSS), permitem apenas o uso de links de sincronização personalizados.
Informações básicas
A sincronização de instâncias entre contas permite replicar imagens entre qualquer combinação de contas Alibaba Cloud e usuários RAM.
Sincronizar instâncias automaticamente entre contas
Configure uma regra de sincronização para replicar automaticamente uma imagem para uma instância de destino em outra conta sempre que a imagem for enviada à instância de source. Este tópico considera que a instância de source pertence à Conta A e a instância de destino pertence à Conta B.
A sincronização automática de instâncias entre contas aplica-se apenas a imagens enviadas após a criação da regra de sincronização; ela não sincroniza imagens já existentes.
Para sincronizar imagens existentes, use um dos métodos a seguir:
Se você tiver poucas imagens existentes, sincronize-as manualmente. Para mais informações, consulte Sincronizar instâncias manualmente entre contas e CreateRepoSyncTask.
-
Para um grande volume de imagens existentes, adote a solução Replicação OSS + Importação de imagem ACR:
Copie todos os arquivos do bucket OSS da instância de source para o bucket OSS da instância ACR de destino. Para mais detalhes, consulte Replicação de dados.
Crie uma regra de importação, selecione OSS Bucket como fonte de migração e inicie uma tarefa de importação de imagem.
Antes de começar
Antes de iniciar, obtenha as seguintes informações:
-
Os UIDs da Conta A e da Conta B.
NotaSe você usar um usuário RAM, obtenha o UID da conta Alibaba Cloud à qual esse usuário RAM pertence.
-
A região e o ID da instância de destino.
Faça login no console do ACR. Na barra de navegação superior, selecione uma região. Na página Instances, clique em na instância Enterprise Edition desejada. Na página Overview, visualize a Region da instância. Na seção Instance, localize o Instance ID.
-
A sincronização automática de instâncias entre contas pode ocorrer por namespace ou por repositório:
A sincronização por namespace exige nomes correspondentes tanto na instância de source quanto na de destino. Além disso, a criação automática de repositórios deve estar ativada para o namespace na instância de destino. Para saber como ative a criação automática de repositórios, consulte Crie um namespace.
Já a sincronização por repositório requer correspondência tanto do namespace quanto do nome do repositório de imagens nas instâncias de source e de destino.
Etapa 1: Conceder permissões na Conta B
Na Conta B, conceda à Conta A as permissões necessárias para sincronizar imagens com a instância de destino.
-
Crie a função aliyuncontainerregistrycrossaccoutsyncrole.
NotaO nome da função deve ser exatamente
aliyuncontainerregistrycrossaccoutsyncrole. Esse nome exato, incluindo o erro de digitação, é obrigatório.Faça login no console do RAM com a Conta B.
No painel de navegação à esquerda, escolha . Na página exibida, clique em Create Role.
Na página Create Role, defina Principal Type como Cloud Account, especifique os detalhes da conta Alibaba Cloud e clique em OK.
Na caixa de diálogo Create Role, insira
aliyuncontainerregistrycrossaccoutsyncrolecomo nome da função e clique em Confirm.
-
Crie uma política de acesso.
No painel de navegação à esquerda do console do RAM, escolha e clique em Create Policy.
-
Na página Create Policy, selecione JSON Editor. Substitua o campo
Resourceno conteúdo abaixo conforme necessário, copie o conteúdo para a caixa de texto e clique em Confirm. Em seguida, na caixa de diálogo Create Policy, insira um Policy Name e uma Description.NotaResource: O recurso autorizado. O formato éacs:cr:<região_da_instância_de_destino_na_Conta_B>:<UID_da_Conta_B>:instance/<ID_da_instância_de_destino_na_Conta_B>.Se a Conta B for um usuário RAM, o parâmetro
UID_of_Account_Bno campoResourcecorresponde ao UID da conta Alibaba Cloud à qual o usuário RAM pertence.{ "Statement": [ { "Effect": "Allow", "Action": [ "cr:CreateSyncRule", "cr:CreateRepositorySync", "cr:UpdateSyncRule" ], "Resource": "acs:cr:cn-beijing:151356101970****:instance/cri-4im1o411ls8g****" }, { "Effect": "Allow", "Action": [ "cr:CreateSyncRule", "cr:CreateRepositorySync", "cr:UpdateSyncRule" ], "Resource": "acs:cr:cn-hangzhou:151356101970****:instance/cri-4im1o411ls8gxr****" } ], "Version": "1" }
-
Anexe a política de acesso criada à função aliyuncontainerregistrycrossaccoutsyncrole.
Na página Policies, pesquise e clique em no nome da política de acesso que você criou.
Clique em na aba References e, em seguida, clique em Attach Policy.
No painel Add Permission, defina Resource Scope como Account, configure Principal como Principal e clique em OK.
Clique em Off.
-
Modifique a política de confiança da função aliyuncontainerregistrycrossaccoutsyncrole.
No painel de navegação à esquerda do console do RAM, escolha .
Na página Roles, pesquise e clique em
aliyuncontainerregistrycrossaccoutsyncrole.Clique em na aba Trust Policy e selecione Edit Trust Policy.
-
No editor, substitua o valor do campo
Servicena política abaixo pelas suas informações e clique em Save trust policy document.NotaService: O principal autorizado. O formato é<UID_da_Conta_A>@cr.aliyuncs.com.Se a Conta A for um usuário RAM, o parâmetro
UID_of_Account_Ano campoServicecorresponde ao UID da conta Alibaba Cloud à qual o usuário RAM pertence.{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "125287961064****@cr.aliyuncs.com" ] } } ], "Version": "1" }
Etapa 2: Crie uma regra de sincronização na Conta A
Faça login no console do ACR com a Conta A.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique em na instância Enterprise Edition que deseja gerencie.
No painel de navegação à esquerda, escolha . Na página exibida, clique em Create Rule.
-
Na caixa de diálogo Create Rule, preencha a etapa Instance e clique em Next.
Parâmetro
Descrição
Rule Name
Insira um nome para a regra de sincronização.
Sync Scenario
Defina Replication Scenario como Across Accounts.
Destination UID
Informe o UID da conta Alibaba Cloud à qual a instância de destino pertence.
Destination instance
Selecione a região da instância de destino e insira seu ID de instância.
-
Na etapa Replication Information, defina Replication Level como namespace ou repositório, selecione o namespace ou repositório correspondente, configure uma regra de filtragem para versões do repositório e clique em Create Rule.
Na página de gerenciamento da instância, escolha . Na página Replication Record, se o status da tarefa de sincronização for Completed e a imagem aparecer na instância de destino, a sincronização foi bem-sucedida.
Sincronizar instâncias manualmente entre contas
Você pode enviar manualmente uma imagem de uma instância de source para uma instância de destino em outra conta. Este tópico considera que a instância de source está na Conta A e a instância de destino está na Conta B.
Obtenha os UIDs da Conta A e da Conta B, além da região e do ID da instância de destino. Para mais informações, consulte a seção Antes de começar.
Conceda à Conta A permissões para sincronizar imagens com a instância na Conta B. Para detalhes, consulte a Etapa 1.
Faça login no console do Container Registry.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique em na instância Enterprise Edition que deseja gerencie.
No painel de navegação à esquerda da página de gerenciamento da instância Enterprise Edition, escolha .
Na página Repositories, clique em no nome do repositório de imagens alvo.
No painel de navegação à esquerda da página de detalhes do repositório, clique em Image Version. Localize a versão da imagem desejada e clique em Replication na coluna Actions.
-
Na caixa de diálogo Sync, defina Replication Scenario como Across Accounts, insira os seguintes detalhes do destino: UID da conta, região, ID da instância, namespace, nome do repositório e versão da imagem. Em seguida, clique em Confirm.
Na página de gerenciamento da instância, escolha . Na página Replication Record, se o status da tarefa de sincronização for Completed e a imagem aparecer na instância de destino, a sincronização manual foi bem-sucedida.
Tópicos relacionados
Para sincronizar uma imagem com outras regiões dentro da mesma conta, consulte a sincronização de instâncias intraconta. Esse método não requer autorização de conta.