Trabalhar com conectividade de saída em Code Engine
O recurso de conexões de saída IBM Cloud® Code Engine permite definir pontos de extremidade acessíveis para seus projetos Code Engine.
- Use intervalos de endereços IP de destino permitidos para conexões de saída na notação CIDR.
- Conecte seu projeto Code Engine aos serviços de caminho privado VPC do IBM Cloud usando o console Code Engine ou a CLI.
Você pode criar conexões de saída usando o console ou a CLI.
Faixas de endereços IP de destino permitidas para conexões de saída
Os intervalos de endereços IP de destino permitidos garantem que o tráfego de saída seja restrito aos endereços que você definir como seguros. Portanto, você evita o acesso indesejado à Internet e aumenta a conformidade e a segurança.
As especificações de intervalo CIDR não afetam a comunicação interna do projeto, as conexões de caminho privado ou as conexões de serviço privado, que são sempre destinos permitidos. Consequentemente, restringir o tráfego de saída com base em intervalos de CIDR não impede que os aplicativos do seu projeto Code Engine se comuniquem entre si, ou se comuniquem com um serviço de caminho privado conectado, ou com um ponto de extremidade privado de uma API de serviço IBM Cloud.
Seu caso de uso pode determinar as especificações da conexão de saída. Os casos de uso típicos são os seguintes:
- Especificando nenhuma regra (ou seja, nenhum endereço IP permitido), se os aplicativos Code Engine em um projeto não devem alcançar nenhum ponto de extremidade externo.
- Especificar um único intervalo de endereços IP de destino permitido (
0.0.0.0/0) para permitir todos os pontos de extremidade possíveis. Por padrão, há uma regra, chamada allow-all, definida com um intervalo de IP de 0.0.0.0/0. - Especificando uma regra com um intervalo de endereços IP de destino permitido que permite que a carga de trabalho em seu projeto Code Engine alcance apenas o intervalo especificado de endpoints (por exemplo, para o data center local).
Conexões de caminhos privados
O caminho privado permite conexões entre um serviço IBM Cloud como Code Engine e sua VPC sem comprometer a segurança ou colocar sua VPC em risco. Consulte Habilitação de um serviço IBM Cloud para se conectar à VPC de um provedor.
Este diagrama ilustra como estabelecer um serviço de caminho privado com conexões para o gateway VPE de um aplicativo Code Engine e sua VPC. Primeiro, o aplicativo Code Engine se conecta ao gateway VPE dentro da VPC do Code Engine. Em seguida,
o gateway VPE se conecta ao NLB de caminho privado na VPC do provedor. Por sua vez, o Private Path NLB se conecta ao aplicativo do provedor. Em seguida, o aplicativo do provedor responde à solicitação. Essa atividade de serviço de caminho
privado está completamente contida em uma única região (por exemplo, us-south) em uma rede privada IBM Cloud.
O diagrama abaixo mostra exemplos adicionais de como o Private Path pode ajudar a conectar seu projeto Code Engine:
- um VSI em uma VPC,
- um cluster OpenShift hospedado em uma VPC,
- ambientes locais ou qualquer outra rede externa (consulte também como conectar serviços de nuvem a ambientes locais com o Private Path )
Conexões de serviço privado
A conexão a pontos de extremidade privados de um conjunto de serviços comuns da plataforma IBM Cloud está habilitada como parte dos destinos de saída permitidos de todos os projetos Code Engine. O conjunto de serviços de plataforma habilitados varia de acordo com a região, conforme detalhado na tabela a seguir.
| Serviço de plataforma | Ponto de extremidade privado disponível em regiões |
|---|---|
| Pesquisa global (Ponto de extremidade URL ) e marcação global (Ponto de extremidade URL ) | au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, jp-osa, jp-tok, us-east, us-south |
| Catálogo Global ( URL de terminais ) | au-syd, br-sao, eu-de, jp-osa, us-east, us-south |
Gerenciamento de contas (Endpoint URL (https://private.accounts.cloud.ibm.com) ) |
eu-de, us-east, us-south |
| Medição de uso ( URL de terminais ) | eu-de, us-east, us-south |
| Gerenciamento Corporativo ( URL de terminais ) | eu-de, us-east, us-south |
| Controlador de Recursos ( URL do Endpoint ) | eu-de, us-east, us-south |
| Gerenciamento de usuários ( URL de terminais ) | eu-de, us-east, us-south |
Gerenciamento de destinos de saída permitidos usando o console
Adição de um intervalo de endereços IP de destino permitido para conectividade de saída
Você pode criar intervalos de endereços IP de destino permitidos para limitar o local ao qual sua carga de trabalho pode se conectar em uma rede externa.
- Acesse a página “Conectividade”:
- Selecione o seu projeto na página Projects(Projetos)no console Code Engine.
- Clique na guia Configurações do projeto > Conectividade > Intervalos CIDR para ver uma lista dos intervalos de endereços IP de destino permitidos existentes.
- Clique em Add para criar um intervalo de endereços IP de destino permitido.
- Forneça um nome.
- Forneça um intervalo de endereços IP na notação CIDR.
- Confirme sua configuração.
Adição de uma conexão de caminho privado para conectividade de saída
Você pode estabelecer uma conexão de caminho privado entre seu projeto Code Engine e sua VPC.
- Acesse a página “Conectividade”:
- Selecione o seu projeto na página Projects(Projetos)no console Code Engine.
- Clique na guia Configurações do projeto > Conectividade > Conexões de caminho privado para ver uma lista das conexões de caminho privado existentes.
- Clique em “Adicionar” para criar uma conexão de caminho privado.
- Forneça um nome.
- Você especifica a instância do serviço Private Path à qual se conectar por nome ou por CRN.
- Por Nome, selecione a instância do serviço Private Path na lista suspensa.
- Por CRN, forneça a instância de serviço de caminho privado CRN.
- Selecione a política de isolamento:
- Shared (Compartilhado )- Permite que a conexão do caminho privado seja reutilizada entre projetos Code Engine que residem na mesma conta IBM Cloud que a VPC de destino, ou contas dentro da mesma família de contas empresariais.
- Dedicado- Restringe o uso dessa conexão de caminho privado a exatamente um projeto Code Engine.
- Confirme sua configuração.
Depois que a conexão com a VPC for criada, o proprietário do serviço de caminho privado receberá uma solicitação de conexão. O proprietário pode revisar, permitir ou negar essa solicitação de conexão. Use o consumidor Code Engine account ID e VPE gateway creation timestamp exibidos na exibição de detalhes da conexão de caminho privado para identificar a solicitação de conexão no serviço de caminho privado.
Atualização de um intervalo de endereços IP de destino permitido para conectividade de saída
Você pode alterar os intervalos de endereços IP de destino permitidos para impedir que sua carga de trabalho se conecte a pontos de extremidade não intencionais (por exemplo, para se conectar à Internet pública).
- Acesse a página “Conectividade”:
- Selecione o seu projeto na página Projects(Projetos)no console Code Engine.
- Clique na guia Configurações do projeto > Conectividade > Intervalos CIDR para ver uma lista dos intervalos de endereços IP de destino permitidos existentes.
- Clique na linha com o intervalo de endereços IP de destino permitido que você deseja editar.
- Forneça o intervalo de endereços IP atualizado e salve suas alterações.
Quando você atualizar as regras de conectividade de saída, observe:
-
Os intervalos de endereços IP de destino permitidos não entram em conflito; eles são aditivos. Quando você define vários intervalos, os destinos permitidos criam uma união de todos os intervalos especificados, de modo que a ordem de adição dos intervalos não afeta os destinos permitidos resultantes. Se você adicionar um segundo intervalo que já esteja coberto por um intervalo existente, o sistema rejeitará a criação por ser redundante.
-
A especificação do intervalo de endereços IP
0.0.0.0/0remove todas as regras existentes e abre a conectividade total. -
Depois que você restringir as regras de conectividade de saída, pode levar algum tempo para que sua carga de trabalho as aceite. Por exemplo, se o cliente HTTP usado em seu código estabelecer uma conexão antes de você atualizar a regra de conectividade de saída, ele poderá abrir uma conexão com esse endpoint. Para garantir que suas regras de conectividade de saída sejam aplicadas imediatamente, redefina todas as conexões. Você pode redefinir reimplantando suas cargas de trabalho ou lidando com essas situações em seu código.
-
Depois de restringir as conexões de saída do seu projeto Code Engine, você poderá ver efeitos colaterais não intencionais, como falhas nas execuções de compilação, porque nenhuma solicitação externa pode ser feita.
Atualização de uma conexão de caminho privado para conectividade de saída
Você pode alterar uma conexão de caminho privado entre o projeto Code Engine e a VPC para dedicated ou shared.
- Uma conexão de caminho privado pode ser
sharede, portanto, reutilizada entre projetos Code Engine que residem na mesma conta IBM Cloud que a VPC de destino, ou contas dentro da mesma família de contas empresariais. - Para restringir o uso de uma conexão de caminho privado a exatamente um projeto Code Engine, defina sua política de isolamento como
dedicated. - Uma conexão de caminho privado
dedicatedsempre pode ser alterada parashared. - Uma conexão de caminho privado
sharedsó pode ser alterada paradedicatedse não for usada por mais de um projeto Code Engine.
Para atualizar a política de isolamento de uma conexão de caminho privado:
- Acesse a página “Conectividade”:
- Selecione o seu projeto na página Projects(Projetos)no console Code Engine.
- Clique na guia Configurações do projeto > Conectividade > Conexões de caminho privado para ver uma lista das conexões de caminho privado existentes.
- Vá até a linha com a conexão de caminho privado que você deseja atualizar e clique no ícone de ações da linha com três pontos e selecione a opção Alterar política de isolamento.
- Na caixa de diálogo, clique em Change (Alterar ) para confirmar suas alterações.
Exclusão de um destino de saída permitido para conectividade de saída
Você pode excluir os destinos de saída permitidos definidos anteriormente, caso não queira mais defini-los para a conectividade de saída.
A exclusão de intervalos de endereços IP de destino permitidos bloqueia o tráfego de saída para aplicativos, funções e trabalhos do Code Engine em um projeto.
- Acesse a página “Conectividade”:
- Selecione o seu projeto na página Projects(Projetos)no console Code Engine.
- Clique na guia Configurações do projeto > Conectividade > Intervalos CIDR para ver uma lista dos intervalos de endereços IP de destino permitidos existentes ou na guia Conexões de caminho privado para ver uma lista das conexões de caminho privado existentes.
- Vá até a linha com o destino de saída permitido que você deseja remover, clique no ícone de ações da linha com três pontos e selecione a opção Excluir.
- Confirme a exclusão quando solicitado.
Gerenciamento de destinos de saída permitidos usando a CLI
Para trabalhar com destinos de saída permitidos usando comandos da CLI, faça login na sua conta IBM Cloud e selecione a conta Code Engine e o grupo de recursos.
Adição de um intervalo de endereços IP de destino permitido para conectividade de saída
Para os comandos CLI de saída de conectividade Code Engine, você pode especificar os valores --name e --cidr para configurar os intervalos de endereços IP de destino permitidos. Siga estas diretrizes do CIDR:
- Não use um intervalo de IPs dos intervalos de IPs reservados.
- Não use valores duplicados em
--namee--cidr. - Não use um nome CIDR sem suporte.
- Não utilize um intervalo de endereços IP não compatível. Siga a notação CIDR.
Você pode criar intervalos de endereços IP de destino permitidos para limitar o local ao qual sua carga de trabalho pode se conectar em uma rede externa.
-
Selecione seu projeto “ Code Engine ”. Por exemplo:
ibmcloud ce project select --name myproject -
Crie um intervalo de endereços IP de destino permitido especificando as opções
--namee--cidr. Forneça um nome e um endereço IP válidos. Consulte estes exemplos:ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24 ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
Adição de uma conexão de caminho privado para conectividade de saída
Para os comandos CLI de saída da conectividade Code Engine, você pode especificar os valores --name, --format, --pps-crn e, opcionalmente, --isolation-policy para estabelecer conexões de
caminho privado entre o projeto Code Engine e a VPC.
-
Selecione seu projeto “ Code Engine ”. Por exemplo:
ibmcloud ce project select --name myproject -
Crie uma conexão de caminho privado para conectividade de saída especificando os endereços
--name,--formate--pps-crn. Forneça um nome, formato e CRN válidos. Forneçasharedoudedicatedse estiver especificando--isolation-policy. Consulte estes exemplos:ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
Depois que a conexão com a VPC for criada, o proprietário do serviço de caminho privado receberá uma solicitação de conexão. O proprietário pode revisar, permitir ou negar essa solicitação de conexão. Use o consumidor Code Engine account ID e VPE gateway creation timestamp exibidos na exibição de detalhes da conexão de caminho privado para identificar a solicitação de conexão no serviço de caminho privado.
Exibição de destinos permitidos existentes para conectividade de saída
Para mostrar um destino de saída permitido específico, especifique o nome. Por exemplo:
ibmcloud ce connectivity outbound get --name my-allowed-destination
Para mostrar todos os destinos de saída permitidos, execute:
ibmcloud ce connectivity outbound list
Para mostrar formatos selecionados de destinos de saída permitidos, execute, por exemplo:
ibmcloud ce connectivity outbound list --format cidr,pps
ibmcloud ce connectivity outbound list --format cidr
ibmcloud ce connectivity outbound list --format pps
Atualização de um intervalo de endereços IP de destino permitido para conectividade de saída
Você pode alterar os intervalos de endereços IP de destino permitidos para impedir que sua carga de trabalho se conecte a pontos de extremidade não intencionais (por exemplo, para se conectar à Internet pública).
Atualize um intervalo de endereços IP de destino permitido especificando as opções --name e --cidr. Forneça um nome e um endereço IP válidos. Consulte estes exemplos:
ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24
ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>
ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
Quando você atualizar as regras de conectividade de saída, observe:
-
Os intervalos de endereços IP de destino permitidos não entram em conflito; eles são aditivos. Quando você define vários intervalos, os destinos permitidos criam uma união de todos os intervalos especificados, de modo que a ordem de adição dos intervalos não afeta os destinos permitidos resultantes. Se você adicionar um segundo intervalo que já esteja coberto por um intervalo existente, o sistema rejeitará a criação por ser redundante.
-
A especificação do intervalo de endereços IP
0.0.0.0/0remove todas as regras existentes e abre a conectividade total. -
Mesmo depois de restringir as regras de conectividade de saída, pode levar algum tempo para que sua carga de trabalho as aceite. Por exemplo, se o cliente HTTP usado em seu código estabelecer uma conexão antes de você atualizar a regra de conectividade de saída, ele poderá abrir uma conexão com esse endpoint. Para garantir que suas regras de conectividade de saída sejam aplicadas imediatamente, redefina todas as conexões. Você pode redefinir reimplantando suas cargas de trabalho ou lidando com essas situações em seu código.
-
Depois de restringir as conexões de saída do seu projeto Code Engine, você poderá ver efeitos colaterais não intencionais, como falhas nas execuções de compilação, porque nenhuma solicitação externa pode ser feita.
Atualização de uma conexão de caminho privado para conectividade de saída
Você pode alterar uma conexão de caminho privado entre o projeto Code Engine e a VPC para dedicated ou shared.
- Uma conexão de caminho privado pode ser
sharede, portanto, reutilizada entre os projetos Code Engine que residem na mesma conta IBM Cloud que a VPC de destino, ou contas dentro da mesma família de contas corporativas. - Para restringir o uso de uma conexão de caminho privado a exatamente um projeto Code Engine, defina seu
--isolation-policycomodedicated. - Uma conexão de caminho privado
dedicatedsempre pode ser alterada parashared. - Uma conexão de caminho privado
sharedsó pode ser alterada paradedicatedse não for usada por mais de um projeto Code Engine.
Para atualizar uma conexão de caminho privado, especifique as opções --name e --isolation-policy. Consulte estes exemplos:
ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated
ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared
Exclusão de um destino de saída permitido para conectividade de saída
Você pode excluir os destinos de saída permitidos definidos anteriormente, caso não queira mais defini-los para a conectividade de saída.
A exclusão de intervalos de endereços IP de destino permitidos bloqueia o tráfego de saída para aplicativos, funções e trabalhos do Code Engine em um projeto.
Para excluir um destino de saída permitido com confirmação, especifique o nome. Por exemplo:
ibmcloud ce connectivity outbound delete --name my-allowed-destination
Para excluir um destino de saída permitido de forma forçada (ou seja, sem confirmação), execute:
ibmcloud ce connectivity outbound delete --name my-allowed-destination --force