

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configurar la conectividad de VPC para una fuente de datos
<a name="kb-managed-vpc-configuration"></a>

Algunas fuentes de datos se ejecutan en recursos privados a los que no se puede acceder a través de la Internet pública, como una instancia local de Confluence Data Center en la que tienes un balanceador de cargas interno en tu VPC. Para rastrear estas fuentes de datos, debes crear una configuración de VPC. Amazon Bedrock usa la configuración para aprovisionar una ruta de red privada a su VPC y llegar al recurso.

La configuración de una VPC es un recurso reutilizable de su base de conocimientos. La crea una vez y, a continuación, hace referencia a ella por su ID desde una o más fuentes de datos. Cuando creas una fuente de datos que necesita conectividad privada, seleccionas una configuración de VPC existente o creas una nueva.

**nota**  
Cuando Amazon Bedrock aprovisiona una configuración de VPC, asume una función AWS Identity and Access Management (IAM) asociada a su base de conocimientos para crear un pequeño conjunto de recursos de red en su cuenta. Todos los recursos que crea Amazon Bedrock están etiquetados `ManagedBy=VPCProxyService` y el rol solo puede actuar en los recursos que llevan esa etiqueta. Consulte [Base de conocimiento: permisos de roles de IAM](#kb-managed-vpc-configuration-role).

## Lo que usted proporciona
<a name="kb-managed-vpc-configuration-provide"></a>

Para crear una configuración de VPC, debes proporcionar lo siguiente:


**Entradas de configuración de VPC**  

| Input | Por qué es necesaria | 
| --- | --- | 
| Una VPC y una o más subredes | Donde Amazon Bedrock coloca el punto de entrada de la red (una puerta de enlace privada) en su VPC. Usted proporciona de 1 a 6 subredes desde la VPC elegida. | 
| Un destino y un puerto de recursos | La dirección IP privada o el nombre DNS (y el puerto) del recurso al que desea acceder. | 
| Una función de IAM en la base de conocimientos | Amazon Bedrock asume esta función para aprovisionar los recursos de red de su cuenta. Consulte [Base de conocimiento: permisos de roles de IAM](#kb-managed-vpc-configuration-role). | 

No proporciona grupos de seguridad. Amazon Bedrock usa el grupo de seguridad predeterminado de su VPC para la puerta de enlace. Asegúrese de que las reglas de salida (salida) del grupo de seguridad predeterminado permitan llegar a su destino en el puerto solicitado. Consulte [Salir del grupo de seguridad predeterminado](#kb-managed-vpc-configuration-egress).

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

Amazon Bedrock llega a su recurso a través de una puerta de enlace privada que se crea únicamente con interfaces de red privadas (sin dirección IP pública). La puerta de enlace llega a su objetivo a través de la red privada (local) de su VPC y no puede acceder a las direcciones IP públicas. Tu destino de recursos debe ser accesible de forma privada desde tu VPC:
+ Un balanceador de cargas interno (`scheme: internal`) cuyo nombre de DNS se convierte en direcciones privadas (por ejemplo, `10.{{x}}``172.{{x}}`, o). `192.168.{{x}}`
+ Una dirección IP privada o un nombre DNS privado que se resuelve en una dirección privada en la VPC.

No se admite un balanceador de cargas conectado a Internet. Un balanceador de cargas conectado a Internet devuelve sus direcciones IP públicas incluso a las consultas de DNS integradas en la VPC, y la puerta de enlace privada no puede acceder a esas direcciones. Si actualmente tu recurso solo está expuesto a través de un balanceador de cargas conectado a Internet, crea (o apunta a) un balanceador de cargas interno en la misma VPC y usa su nombre de DNS como destino del recurso.

## Crea una configuración de VPC
<a name="kb-managed-vpc-configuration-create"></a>

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

**Para añadir una configuración de VPC**

1. En la configuración de la fuente de datos, en Configuración de ** VPC**, elija ** Agregar configuración de VPC. ** Si ya existe una configuración adecuada, selecciónela para reutilizarla en todas las fuentes de datos.

1. (Opcional) Introduzca un ** nombre ** y una ** descripción ** para la configuración.

1. Para el ID de ** VPC**, seleccione la VPC que se va a usar para la conectividad.

1. Para los ID de ** subred**, selecciona una o más subredes de la VPC elegida.

1. En el destino del ** recurso**, introduzca el nombre de host o la dirección IP de su recurso (por ejemplo, o). `10.0.1.50` `confluence.internal.example.com`

1. **En ** Puerto, introduzca el número de puerto al que desea conectarse (por ejemplo, `443` o`8090`).

1. Para **Protocolo**, elija **HTTPS** o **HTTP**.

1. **En el modo de resolución**, elija cómo se resolverá la dirección de destino del recurso:
   + **Público**: el destino del recurso es un nombre de host o una dirección IP que se puede resolver públicamente.
   + **En la VPC**: el destino del recurso solo se puede resolver en tu VPC. Este es el caso habitual de los recursos internos.

1. (Opcional) En el encabezado del ** host**, introduzca el valor del `Host` encabezado para enviar las solicitudes. Configúralo solo si tu recurso (o un router ascendente) se enruta por el `Host` encabezado HTTP.

1. (Obligatorio para HTTPS) En el nombre del servidor ** TLS**, introduzca la identidad del certificado TLS esperada (nombre alternativo del sujeto) para el recurso. Se permite un único comodín situado en el extremo izquierdo (por ejemplo,). `*.example.com`

1. Seleccione **Crear**.

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

Para crear una configuración de VPC, envía una solicitud. `CreateVpcConfiguration` Todas las operaciones se asignan a una base de conocimientos mediante el parámetro `knowledgeBaseId` path; el cuerpo de la solicitud no incluye un identificador de cuenta ni un ARN de rol, ya que Amazon Bedrock los resuelve a partir de la base de conocimientos.

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

El cuerpo de la solicitud usa los siguientes campos.


**CreateVpcConfiguration campos**  

| Campo | Obligatorio | Descripción | 
| --- | --- | --- | 
| vpcId | Sí | Es el ID de la VPC. ^vpc-[a-zA-Z0-9]\+$Coincidencias, hasta 64 caracteres. | 
| subnetIds | Sí | De 1 a 6 identificadores de subred de la VPC especificada. Cada uno coincide. ^subnet-[a-zA-Z0-9]\+$ | 
| resourceTarget | Sí | La dirección IPv4 o el nombre DNS del recurso (de 1 a 255 caracteres). Consulte [Restricciones de destino de recursos](#kb-managed-vpc-configuration-target). | 
| port | Sí | El puerto al que conectarse (1—65535). | 
| protocol | Sí | HTTP o bien HTTPS. | 
| resolutionMode | Sí | PUBLIC o bien IN\_VPC. Úselo IN\_VPC cuando el objetivo se resuelva solo dentro de su VPC. | 
| tlsServerName | Condicional | Necesario cuando lo protocol esHTTPS. El nombre de host coincide con el certificado TLS del recurso (hasta 253 caracteres). Se permite un único comodín situado en el extremo izquierdo. No debe incluir ningún puerto. | 
| hostHeader | No | El valor del Host encabezado HTTP que se va a enviar (hasta 255 caracteres). Configúralo solo si el recurso se dirige por el Host encabezado. | 
| name | No | Un nombre legible para los humanos (de 1 a 128 caracteres). | 
| description | No | Una descripción (hasta 512 caracteres). | 
| clientToken | No | Un símbolo de idempotencia. | 

La creación es asincrónica. `CreateVpcConfiguration`devuelve una `202` respuesta con un `vpcConfigurationId` y un estado de. `CREATING` `GetVpcConfiguration`Sondea hasta que el estado sea `CREATED` (o`CREATE_FAILED`, en ese caso`statusMessage`, indique la causa). `ListVpcConfigurations`Utilícelo para `DeleteVpcConfiguration` enumerar las configuraciones y eliminar una.

**nota**  
Si creas varias configuraciones en la misma VPC con el mismo conjunto de subredes, comparten una puerta de enlace. Un conjunto diferente de subredes aprovisiona una puerta de enlace independiente.

------

## Protocolo, nombre del servidor TLS y encabezado del host
<a name="kb-managed-vpc-configuration-fields"></a>

Estas tres opciones son las que se configuran mal con más frecuencia. Utilice la siguiente guía para elegir los valores correctos.

`protocol`  
Elija invocar el recurso `HTTP` a través de HTTP de texto sin formato o `HTTPS` a través de TLS.

`tlsServerName`  
Obligatorio cuando es. `protocol` `HTTPS` Es el nombre del servidor que coincide con los nombres alternativos del sujeto del certificado TLS del recurso durante la invocación. Configúralo en el nombre de host para el que se emitió el certificado (por ejemplo,). `app.internal.example.com` Se permite un único comodín situado en el extremo izquierdo (por ejemplo,). `*.example.com` Si se accede al recurso mediante una dirección IP pero se presenta un certificado como nombre, configúrelo `tlsServerName` con ese nombre. Si el certificado no coincide, la invocación no supera la comprobación de identidad de TLS. Este valor debe ser un nombre de host sin puerto.

`hostHeader`  
Opcional y un problema de nivel de aplicación que es independiente de. `tlsServerName` Configúralo solo si tu recurso, o un router ascendente o una entrada, se enruta por el `Host` encabezado HTTP y ese host es diferente del que enviarías de otro modo. Si el recurso se dirige a un solo sitio y no pasa por él`Host`, déjelo sin definir.

`resolutionMode`  
Elija `PUBLIC` si el destino del recurso es un nombre que se pueda resolver públicamente o una dirección IP pública. Elija `IN_VPC` si el destino del recurso se resuelve solo dentro de su VPC (DNS privada o dirección IP privada), que es el caso habitual en los recursos internos. Un objetivo de IP literalmente privado (por ejemplo`10.0.5.20`) funciona en cualquiera de los dos modos, porque no hay ningún nombre de DNS que resolver.

## Restricciones de destino de recursos
<a name="kb-managed-vpc-configuration-target"></a>

Amazon Bedrock las valida `resourceTarget` al crear la configuración para evitar que el servicio se dirija a sí mismo o a la infraestructura interna. Se rechazan los siguientes objetivos:
+ Direcciones de bucle invertido (`127.0.0.0/8`,`::1`) y. `localhost`
+ Link-local direcciones (`169.254.0.0/16`,`fe80::/10`), incluido el punto final de los metadatos de la instancia. `169.254.169.254`
+ La dirección comodín o cualquier dirección local (`0.0.0.0`,`::`) y el bloque. `0.0.0.0/8`
+ Direcciones de multidifusión.
+ Literales de IPv6. La puerta de enlace está aprovisionada IPv4-only, por lo que los destinos IP deben ser una dirección IPv4 con cuatro puntos.

Se permiten los nombres DNS. La validación no los resuelve, por lo que el destino debe seguir siendo accesible desde las subredes de la puerta de enlace.

## Salir del grupo de seguridad predeterminado
<a name="kb-managed-vpc-configuration-egress"></a>

Como Amazon Bedrock usa el grupo de seguridad predeterminado de su VPC para la puerta de enlace, las reglas de salida de ese grupo de seguridad deben permitir acceder a él. `resourceTarget` `port` Si el grupo de seguridad predeterminado está bloqueado, la creación se produce rápidamente y se emite un mensaje claro, en lugar de agotarse el tiempo de espera más tarde. Antes de crear la configuración, asegúrese de que una regla de salida permita el tráfico desde las subredes de la puerta de enlace al destino y al puerto.

## Base de conocimiento: permisos de roles de IAM
<a name="kb-managed-vpc-configuration-role"></a>

Amazon Bedrock asume la función de IAM asociada a su base de conocimientos para aprovisionar y, posteriormente, desmantelar los recursos de red de su cuenta. El rol debe conceder los permisos de creación y eliminación que se indican a continuación, así como los permisos de lectura que hacen que las eliminaciones reintentadas sean idempotentes. Todos los recursos que crea Amazon Bedrock están etiquetados `ManagedBy=VPCProxyService` y los permisos destructivos de esa etiqueta están restringidos, por lo que el rol solo puede actuar en los recursos creados por esta función.
+ **Cree**:`vpc-lattice:CreateResourceGateway`,,`vpc-lattice:CreateResourceConfiguration`,`vpc-lattice:TagResource`, `vpc-lattice:PutResourcePolicy` `ram:CreateResourceShare``ram:TagResource`, y `iam:CreateServiceLinkedRole` (una sola vez`ram:AssociateResourceShare`, para la función vinculada al servicio VPC Lattice).
+ **Elimine ** —, `vpc-lattice:DeleteResourceGateway` y. `vpc-lattice:DeleteResourceConfiguration` `ram:DeleteResourceShare`
+ **Leer (validación e idempotencia) ** —`vpc-lattice:GetResourceGateway`,,`vpc-lattice:GetResourceConfiguration`, `ram:GetResourceShares` `ec2:DescribeSubnets``ec2:DescribeSecurityGroups`, y. `ec2:DescribeVpcs`

**importante**  
Otorga ambos y`vpc-lattice:GetResourceGateway`. `vpc-lattice:GetResourceConfiguration` Como los permisos de eliminación tienen un ámbito de etiqueta, al eliminar un recurso ya eliminado se produce un error de acceso denegado en lugar de un error de no encontrado. Amazon Bedrock utiliza estos permisos de lectura sin etiquetar para diferenciar un recurso ya eliminado (considerado como correcto) de un problema de permisos real. Sin ellos, una eliminación que se vuelva a intentar después de un error parcial puede quedar estancada.

El siguiente ejemplo de política otorga los permisos necesarios. Reemplace {{region}} y {{accountId}} con sus 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>
+ Una configuración de VPC pasa `CREATING` a `CREATED` o hasta`CREATE_FAILED`. Cuando la eliminas, el estado es `DELETING` o`DELETE_FAILED`.
+ La creación y la eliminación son asincrónicas. Sondea `GetVpcConfiguration` para hacer un seguimiento del progreso. En caso de error`statusMessage`, indica la causa procesable, como la falta de un permiso.
+ La eliminación es idempotente. Una eliminación parcialmente completada converge cuando se vuelve a intentar.