

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar a conectividade VPC para uma fonte de dados
<a name="kb-managed-vpc-configuration"></a>

Algumas fontes de dados são executadas em recursos privados que não podem ser acessados pela Internet pública, como uma instância local do Confluence Data Center que você gerencia com um balanceador de carga interno em sua VPC. Para rastrear essas fontes de dados, você cria uma configuração de VPC. O Amazon Bedrock usa a configuração para provisionar um caminho de rede privada em sua VPC e acessar o recurso.

Uma configuração de VPC é um recurso reutilizável em sua base de conhecimento. Você o cria uma vez e, em seguida, faz referência a ele por ID de uma ou mais fontes de dados. Ao criar uma fonte de dados que precisa de conectividade privada, você seleciona uma configuração de VPC existente ou cria uma nova.

**nota**  
Quando o Amazon Bedrock provisiona uma configuração de VPC, ele assume uma função AWS Identity and Access Management (IAM) associada à sua base de conhecimento para criar um pequeno conjunto de recursos de rede em sua conta. Cada recurso criado pela Amazon Bedrock é marcado`ManagedBy=VPCProxyService`, e a função só pode atuar em recursos que carregam essa tag. Consulte [Permissões de função IAM da base de conhecimento](#kb-managed-vpc-configuration-role).

## O que você fornece
<a name="kb-managed-vpc-configuration-provide"></a>

Para criar uma configuração de VPC, você fornece o seguinte:


**Entradas de configuração do VPC**  

| Input | Por que é necessário | 
| --- | --- | 
| Uma VPC e uma ou mais sub-redes | Onde o Amazon Bedrock coloca o ponto de entrada da rede (um gateway privado) em sua VPC. Você fornece de 1 a 6 sub-redes da VPC escolhida. | 
| Um destino e uma porta de recursos | O endereço IP privado ou nome DNS (e porta) do recurso que você deseja acessar. | 
| Uma função do IAM na base de conhecimento | O Amazon Bedrock assume essa função para provisionar os recursos de rede em sua conta. Consulte [Permissões de função IAM da base de conhecimento](#kb-managed-vpc-configuration-role). | 

Você não fornece grupos de segurança. O Amazon Bedrock usa o grupo de segurança padrão da sua VPC para o gateway. Certifique-se de que as regras de saída (saída) do grupo de segurança padrão permitam alcançar seu alvo na porta solicitada. Consulte [Saída do grupo de segurança padrão](#kb-managed-vpc-configuration-egress).

## Requisitos de rede
<a name="kb-managed-vpc-configuration-network"></a>

O Amazon Bedrock alcança seu recurso por meio de um gateway privado criado somente com interfaces de rede privadas (sem endereço IP público). O gateway atinge seu alvo pela rede privada (local) da sua VPC e não pode acessar endereços IP públicos. Seu destino de recursos deve ser acessível de forma privada de dentro da sua VPC:
+ Um balanceador de carga interno (`scheme: internal`) cujo nome DNS é resolvido para endereços privados (por exemplo, `10.{{x}}``172.{{x}}`, ou). `192.168.{{x}}`
+ Um endereço IP privado ou um nome DNS privado que é resolvido para um endereço privado na VPC.

Não há suporte para um balanceador de carga voltado para a Internet. Um balanceador de carga voltado para a Internet retorna seus endereços IP públicos até mesmo para consultas de DNS na VPC, e o gateway privado não pode acessar esses endereços. Se seu recurso estiver atualmente exposto somente por meio de um balanceador de carga voltado para a Internet, crie (ou aponte para) um balanceador de carga interno na mesma VPC e use seu nome DNS como destino do recurso.

## Crie uma configuração de VPC
<a name="kb-managed-vpc-configuration-create"></a>

------
#### [ Console ]

**Para adicionar uma configuração de VPC**

1. Na configuração da fonte de dados, em Configuração da ** VPC**, escolha ** Adicionar configuração da VPC. ** Se já existir uma configuração adequada, selecione-a para reutilizá-la nas fontes de dados.

1. (Opcional) Insira um ** nome ** e uma ** descrição ** para a configuração.

1. Para ** VPC ID**, selecione a VPC a ser usada para conectividade.

1. Para IDs de ** sub-rede**, selecione uma ou mais sub-redes da VPC escolhida.

1. **Em Destino do ** recurso, insira o nome do host ou o endereço IP do seu recurso (por exemplo, `10.0.1.50` ou`confluence.internal.example.com`).

1. **Em ** Porta, insira o número da porta na qual se conectar (por exemplo, `443` ou`8090`).

1. Em **Protocolo**, escolha **HTTP** ou **HTTPS**.

1. No modo ** Resolução**, escolha como o endereço de destino do recurso é resolvido:
   + **Público ** — O destino do recurso é um nome de host ou endereço IP que pode ser resolvido publicamente.
   + **Na VPC ** — A meta do recurso só pode ser resolvida dentro da sua VPC. Esse é o caso comum de recursos internos.

1. (Opcional) Em Cabeçalho do ** host**, insira o valor do `Host` cabeçalho a ser enviado com as solicitações. Defina isso somente se seu recurso (ou um roteador upstream) for roteado pelo `Host` cabeçalho HTTP.

1. (Obrigatório para HTTPS) Em nome do servidor ** TLS**, insira a identidade esperada do certificado TLS (Nome alternativo do assunto) para o recurso. Um único curinga mais à esquerda é permitido (por exemplo,). `*.example.com`

1. Escolha **Criar**.

------
#### [ API ]

Para criar uma configuração de VPC, envie uma `CreateVpcConfiguration` solicitação. Todas as operações têm como escopo uma base de conhecimento por meio do parâmetro `knowledgeBaseId` path; o corpo da solicitação não inclui um ID de conta ou ARN de função, porque o Amazon Bedrock resolve as operações da base de conhecimento.

```
POST /knowledgebases/{{knowledgeBaseId}}/vpcconfigurations/
```

O corpo da solicitação usa os seguintes campos.


**CreateVpcConfiguration campos**  

| Campo | Obrigatório | Descrição | 
| --- | --- | --- | 
| vpcId | Sim | O ID da VPC. Correspondências^vpc-[a-zA-Z0-9]\+$, até 64 caracteres. | 
| subnetIds | Sim | De 1 a 6 IDs de sub-rede da VPC especificada. Cada partida^subnet-[a-zA-Z0-9]\+$. | 
| resourceTarget | Sim | O endereço IPv4 ou nome DNS do recurso (1—255 caracteres). Consulte [Restrições de metas de recursos](#kb-managed-vpc-configuration-target). | 
| port | Sim | A porta na qual se conectar (1—65535). | 
| protocol | Sim | HTTP ou HTTPS. | 
| resolutionMode | Sim | PUBLIC ou IN\_VPC. Use IN\_VPC quando o alvo for resolvido somente dentro da sua VPC. | 
| tlsServerName | Condicional | Obrigatório quando protocol éHTTPS. O nome do host correspondeu ao certificado TLS do recurso (até 253 caracteres). Um único curinga mais à esquerda é permitido. Não deve incluir uma porta. | 
| hostHeader | Não | O valor do Host cabeçalho HTTP a ser enviado (até 255 caracteres). Defina somente se seu recurso for roteado pelo Host cabeçalho. | 
| name | Não | Um nome legível por humanos (1—128 caracteres). | 
| description | Não | Uma descrição (até 512 caracteres). | 
| clientToken | Não | Um símbolo de idempotência. | 

A criação é assíncrona. `CreateVpcConfiguration`retorna uma `202` resposta com um `vpcConfigurationId` e um status de`CREATING`. Faça uma pesquisa `GetVpcConfiguration` até que o status seja `CREATED` (ou`CREATE_FAILED`, nesse caso, `statusMessage` nomeie a causa). Use `ListVpcConfigurations` para listar configurações e `DeleteVpcConfiguration` remover uma.

**nota**  
Se você criar várias configurações na mesma VPC com o mesmo conjunto de sub-redes, elas compartilharão um gateway. Um conjunto diferente de sub-redes fornece um gateway separado.

------

## Protocolo, nome do servidor TLS e cabeçalho do host
<a name="kb-managed-vpc-configuration-fields"></a>

Essas três configurações são as mais comumente configuradas incorretamente. Use as orientações a seguir para escolher os valores corretos.

`protocol`  
Escolha `HTTP` invocar o recurso por HTTP de texto simples ou `HTTPS` por TLS.

`tlsServerName`  
Obrigatório quando `protocol` é`HTTPS`. Esse é o nome do servidor que corresponde aos nomes alternativos do assunto do certificado TLS do seu recurso durante a invocação. Defina-o como o nome do host para o qual seu certificado foi emitido (por exemplo,`app.internal.example.com`). Um único curinga mais à esquerda é permitido (por exemplo,). `*.example.com` Se o recurso for acessado pelo endereço IP, mas apresentar um certificado para um nome, `tlsServerName` defina-o com esse nome. Se o certificado não corresponder, a invocação falhará na verificação de identidade TLS. Esse valor deve ser um nome de host sem uma porta.

`hostHeader`  
Opcional e uma preocupação com a camada de aplicação que é independente de. `tlsServerName` Defina-o somente se seu recurso, ou um roteador upstream ou entrada, rotear pelo `Host` cabeçalho HTTP e esse host for diferente do que você enviaria de outra forma. Se seu recurso atende a um único site e não passa por ele`Host`, não o defina.

`resolutionMode`  
Escolha `PUBLIC` quando o destino do recurso é um nome que pode ser resolvido publicamente ou um endereço IP público. Escolha `IN_VPC` quando o destino do recurso é resolvido somente dentro da sua VPC (DNS privado ou endereço IP privado), que é o caso comum de recursos internos. Um destino IP privado literal (por exemplo,`10.0.5.20`) funciona em qualquer um dos modos, porque não há nome de DNS para resolver.

## Restrições de metas de recursos
<a name="kb-managed-vpc-configuration-target"></a>

O Amazon Bedrock valida `resourceTarget` quando você cria a configuração para evitar que o serviço seja direcionado para si mesmo ou para a infraestrutura interna. As seguintes metas são rejeitadas:
+ Endereços de loopback (`127.0.0.0/8`,`::1`) e. `localhost`
+ Link-local endereços (`169.254.0.0/16`,`fe80::/10`), incluindo o endpoint `169.254.169.254` de metadados da instância.
+ Endereço curinga ou qualquer endereço local (`0.0.0.0`,`::`) e o bloco. `0.0.0.0/8`
+ Endereços multicast.
+ Literais IPv6. O gateway é provisionado IPv4-only, portanto, os destinos IP devem ser um endereço IPv4 com quatro pontos.

Os nomes DNS são permitidos. A validação não os resolve, portanto, o destino ainda deve estar acessível a partir das sub-redes do gateway.

## Saída do grupo de segurança padrão
<a name="kb-managed-vpc-configuration-egress"></a>

Como o Amazon Bedrock usa o grupo de segurança padrão da sua VPC para o gateway, as regras de saída desse grupo de segurança devem permitir o acesso. `resourceTarget` `port` Se o grupo de segurança padrão estiver bloqueado, a criação falhará rapidamente com uma mensagem clara, em vez de expirar mais tarde. Antes de criar a configuração, certifique-se de que uma regra de saída permita o tráfego das sub-redes do gateway para o destino e a porta.

## Permissões de função IAM da base de conhecimento
<a name="kb-managed-vpc-configuration-role"></a>

O Amazon Bedrock assume a função do IAM associada à sua base de conhecimento para provisionar e, posteriormente, eliminar os recursos de rede em sua conta. A função deve conceder as permissões de criação e exclusão abaixo, bem como as permissões de leitura que tornam idempotentes as repetidas exclusões. Cada recurso que o Amazon Bedrock cria é marcado `ManagedBy=VPCProxyService` e as permissões destrutivas estão bloqueadas nessa tag, portanto, a função pode atuar somente nos recursos criados por esse recurso.
+ **Crie ** —`vpc-lattice:CreateResourceGateway`,,`vpc-lattice:CreateResourceConfiguration`,`vpc-lattice:TagResource`,, `vpc-lattice:PutResourcePolicy` `ram:CreateResourceShare``ram:TagResource`, e `iam:CreateServiceLinkedRole` (uma vez`ram:AssociateResourceShare`, para a função vinculada ao serviço VPC Lattice).
+ **Excluir ** — `vpc-lattice:DeleteResourceGateway``vpc-lattice:DeleteResourceConfiguration`, `ram:DeleteResourceShare` e.
+ **Leia (validação e idempotência) ** —`vpc-lattice:GetResourceGateway`,,`vpc-lattice:GetResourceConfiguration`, `ram:GetResourceShares``ec2:DescribeSubnets`, e. `ec2:DescribeSecurityGroups` `ec2:DescribeVpcs`

**Importante**  
Conceda os dois `vpc-lattice:GetResourceGateway` `vpc-lattice:GetResourceConfiguration` e. Como as permissões de exclusão têm o escopo da tag, a exclusão de um recurso já excluído retorna um erro de acesso negado em vez de um erro não encontrado. O Amazon Bedrock usa essas permissões de leitura não marcadas para diferenciar um recurso já excluído (tratado como sucesso) de um problema genuíno de permissões. Sem eles, uma nova tentativa de exclusão após uma falha parcial pode ficar paralisada.

O exemplo de política a seguir concede as permissões necessárias. Substitua {{region}} e {{accountId}} pelos seus valores.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VpcProxyCreateTagged",
            "Effect": "Allow",
            "Action": [
                "vpc-lattice:CreateResourceGateway",
                "vpc-lattice:CreateResourceConfiguration",
                "vpc-lattice:TagResource"
            ],
            "Resource": [
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourcegateway/*",
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourceconfiguration/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/ManagedBy": "VPCProxyService",
                    "aws:ResourceTag/ManagedBy": "VPCProxyService"
                },
                "ForAllValues:StringEquals": { "aws:TagKeys": ["ManagedBy"] }
            }
        },
        {
            "Sid": "VpcProxyPutResourcePolicy",
            "Effect": "Allow",
            "Action": "vpc-lattice:PutResourcePolicy",
            "Resource": [
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourceconfiguration/*"
            ],
            "Condition": {
                "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" }
            }
        },
        {
            "Sid": "VpcProxyRamCreate",
            "Effect": "Allow",
            "Action": "ram:CreateResourceShare",
            "Resource": "*",
            "Condition": {
                "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService" },
                "StringEqualsIfExists": {
                    "ram:RequestedResourceType": "vpc-lattice:ResourceConfiguration"
                }
            }
        },
        {
            "Sid": "VpcProxyRamAssociate",
            "Effect": "Allow",
            "Action": "ram:AssociateResourceShare",
            "Resource": "*",
            "Condition": {
                "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" }
            }
        },
        {
            "Sid": "VpcProxyRamTagOnCreate",
            "Effect": "Allow",
            "Action": "ram:TagResource",
            "Resource": [
                "arn:aws:ram:{{region}}:{{accountId}}:resource-share/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/ManagedBy": "VPCProxyService",
                    "aws:ResourceTag/ManagedBy": "VPCProxyService"
                },
                "ForAllValues:StringEquals": { "aws:TagKeys": ["ManagedBy"] }
            }
        },
        {
            "Sid": "VpcProxyDeleteTagged",
            "Effect": "Allow",
            "Action": [
                "vpc-lattice:DeleteResourceConfiguration",
                "vpc-lattice:DeleteResourceGateway"
            ],
            "Resource": [
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourcegateway/*",
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourceconfiguration/*"
            ],
            "Condition": {
                "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" }
            }
        },
        {
            "Sid": "VpcProxyRamDeleteTagged",
            "Effect": "Allow",
            "Action": "ram:DeleteResourceShare",
            "Resource": [
                "arn:aws:ram:{{region}}:{{accountId}}:resource-share/*"
            ],
            "Condition": {
                "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" },
                "StringLike": { "ram:ResourceShareName": "vpc-proxy-share-*" }
            }
        },
        {
            "Sid": "VpcProxyGetResource",
            "Effect": "Allow",
            "Action": [
                "vpc-lattice:GetResourceConfiguration",
                "vpc-lattice:GetResourceGateway"
            ],
            "Resource": [
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourcegateway/*",
                "arn:aws:vpc-lattice:{{region}}:{{accountId}}:resourceconfiguration/*"
            ]
        },
        {
            "Sid": "VpcProxyRamGetResourceShares",
            "Effect": "Allow",
            "Action": "ram:GetResourceShares",
            "Resource": "*"
        },
        {
            "Sid": "VpcProxyEc2Describe",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VpcProxyLatticeServiceLinkedRole",
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": [
                "arn:aws:iam::{{accountId}}:role/aws-service-role/vpc-lattice.amazonaws.com/*"
            ],
            "Condition": {
                "StringEquals": { "iam:AWSServiceName": "vpc-lattice.amazonaws.com" }
            }
        }
    ]
}
```

## Ciclo de vida
<a name="kb-managed-vpc-configuration-lifecycle"></a>
+ Uma configuração de VPC faz a transição de `CREATING` para `CREATED` ou para. `CREATE_FAILED` Quando você o exclui, o status é`DELETING`, ou`DELETE_FAILED`.
+ A criação e a exclusão são assíncronas. Enquete `GetVpcConfiguration` para acompanhar o progresso. Em caso de falha, `statusMessage` nomeia a causa acionável, como a falta de permissão.
+ A exclusão é idempotente. Uma exclusão parcialmente concluída converge quando você a tenta novamente.