O Container Registry oferece o modo de compilação segura em VPC. Esse modo permite hospedar serviços, como GitLab autogerenciado ou repositório Maven, em uma Virtual Private Cloud (VPC) ou data center on-premises conectado a uma VPC via Express Connect, sem expor um endpoint público. Este tópico descreve como criar imagens de contêiner nesse modo.
Pré-requisitos
Crie uma instância Enterprise Edition do Container Registry. Para mais informações, consulte Usar uma instância Enterprise Edition para enviar e baixar imagens.
Configure um serviço GitLab autogerenciado em uma VPC ou data center on-premises na mesma região da sua instância Enterprise Edition. Se o serviço GitLab estiver hospedado em uma VPC e for acessado por meio de um endereço IP do Elastic Compute Service (ECS), adicione uma regra de entrada no grupo de segurança da instância ECS para permitir tráfego do bloco CIDR 100.104.0.0/16. Caso o acesso ao serviço GitLab ocorra por meio de uma instância do Server Load Balancer (SLB), não é necessária configuração de grupo de segurança.
Se o serviço estiver em um data center on-premises, o bloco CIDR de rede não deve entrar em conflito com o bloco CIDR de acesso reverso (100.104.0.0/16). Configure também rotas de retorno para o bloco CIDR 100.104.0.0/16 no roteador de borda virtual (VBR) e no data center. Para obter mais detalhes sobre o Express Connect e os VBRs, consulte O que é o Express Connect? e Roteadores de borda virtuais (VBRs).
-
Crie uma VPC e um vSwitch em uma zona compatível com o modo de compilação segura. A tabela a seguir lista as zonas suportadas.
Serviço de nuvem
Região
Zonas compatíveis
Nuvem pública
China (Pequim)
-
cn-beijing-c
-
cn-beijing-d
-
cn-beijing-e
-
cn-beijing-f
-
cn-beijing-i
-
cn-beijing-j
-
cn-beijing-k
-
cn-beijing-g
-
cn-beijing-h
China (Hangzhou)
-
cn-hangzhou-e
-
cn-hangzhou-f
-
cn-hangzhou-g
-
cn-hangzhou-h
-
cn-hangzhou-i
-
cn-hangzhou-j
-
cn-hangzhou-k
China (Shenzhen)
-
cn-shenzhen-a
-
cn-shenzhen-b
-
cn-shenzhen-c
-
cn-shenzhen-d
-
cn-shenzhen-e
-
cn-shenzhen-f
China (Xangai)
-
cn-shanghai-a
-
cn-shanghai-b
-
cn-shanghai-c
-
cn-shanghai-d
-
cn-shanghai-e
-
cn-shanghai-f
-
cn-shanghai-g
-
cn-shanghai-i
China (Zhangjiakou)
-
cn-zhangjiakou-a
-
cn-zhangjiakou-b
-
cn-zhangjiakou-c
China (Hong Kong)
-
cn-hongkong-b
-
cn-hongkong-c
-
cn-hongkong-d
Singapura
-
ap-southeast-1a
-
ap-southeast-1b
-
ap-southeast-1c
Indonésia (Jacarta)
-
ap-southeast-5a
-
ap-southeast-5b
EUA (Virgínia)
-
us-east-1a
-
us-east-1b
EUA (Vale do Silício)
-
us-west-1a
-
us-west-1b
Reino Unido (Londres)
-
eu-west-1a
-
eu-west-1b
Alemanha (Frankfurt)
-
eu-central-1a
-
eu-central-1b
Japão (Tóquio)
-
ap-northeast-1a
-
ap-northeast-1b
China (Chengdu)
-
cn-chengdu-a
-
cn-chengdu-b
China (Heyuan)
-
cn-heyuan-a
-
cn-heyuan-b
Alibaba Finance Cloud
China (Hangzhou)
-
cn-hangzhou-finance-i
-
cn-hangzhou-finance-j
-
cn-hangzhou-finance-k
-
cn-hangzhou-finance-h
-
Grupos de segurança gerenciados
Ao vincular um repositório de código-fonte na VPC, o Container Registry chama uma operação de API do ECS para criar um grupo de segurança gerenciado. Isso permite que o serviço de compilação do Container Registry acesse o serviço GitLab autogerenciado dentro da VPC. Para mais informações, consulte Grupos de segurança gerenciados.
Este é um grupo de segurança somente leitura, gerenciado pelo sistema e não modificável. Ele bloqueia todo o tráfego de entrada e permite tráfego de saída apenas para endpoints específicos, como os endpoints privados dos repositórios GitLab e Maven.
A instância de compilação do Container Registry acessa o serviço GitLab autogerenciado usando esse grupo de segurança gerenciado e uma interface de rede elástica (ENI) anexada ao vSwitch especificado.
Etapa 1: Gerencie o link
Faça login no console do Container Registry.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, selecione Instances.
Na página Instances, clique em na instância Enterprise Edition desejada.
Na página Overview, selecione .
Na página Code Source, localize o GitLab e clique em Manage Link na coluna Actions.
-
Na caixa de diálogo Manage Link, configure os parâmetros do link de acesso à VPC e clique em Create.
Tabela 1. Parâmetros para criação de um link de acesso à VPC
Parâmetro
Descrição
GitLab Private IP Address
Endpoint privado do repositório de código-fonte GitLab autogerenciado.
Other IP addresses that need to be allowed
Insira outros endpoints privados a serem adicionados à lista de permissões.
Existing VPC
Selecione a VPC preparada na seção de pré-requisitos.
Vswitch
Selecione o vSwitch preparado na seção de pré-requisitos.
Etapa 2: Vincular o GitLab
Na página Code Source, localize o GitLab e clique em Bind Account na coluna Actions.
-
Na caixa de diálogo Private GitLab, configure os parâmetros para vincular o repositório de código-fonte GitLab e clique em Confirm.
Tabela 2. Parâmetros para vinculação de um repositório de código-fonte baseado em VPC
Parâmetro
Descrição
Network Type
Selecione VPC.
Link Information
Selecione o link criado na Etapa 1: Gerencie o link.
Endpoint
Insira o endpoint de login da instância GitLab na VPC.
-
Para GitLab privado, insira o respectivo endpoint de login.
-
Para GitLab público, insira o respectivo endpoint de login.
Username
Nome de usuário da conta GitLab.
Private Token
Token de acesso pessoal. Para saber como criar um token, consulte Vincular uma plataforma de hospedagem de código-fonte.
Se a barra de status do GitLab exibir Bound, o repositório de código-fonte na VPC foi vinculado com sucesso.
-
Etapa 3: Crie uma imagem
Ao usar o modo de compilação segura em VPC, desative a opção build with servers deployed outside the Chinese mainland.
Após vincular o repositório de código-fonte, crie as imagens. Para mais informações, consulte Criar imagens usando uma instância Enterprise Edition.