Utilisez AWS PrivateLink pour configurer un accès privé à Amazon Bedrock

Optimisez votre accès privé à Amazon Bedrock en utilisant AWS PrivateLink

Amazon Bedrock est un service entièrement géré fourni par AWS qui offre aux développeurs un accès aux modèles fondamentaux (FMs) et aux outils pour les personnaliser pour des applications spécifiques. Il permet aux développeurs de construire et de mettre à l’échelle des applications d’IA générative en utilisant les FMs via une API, sans gérer l’infrastructure. Vous pouvez choisir parmi différents FMs d’Amazon et de start-ups d’IA leaders telles que AI21 Labs, Anthropic, Cohere et Stability AI pour trouver le modèle le mieux adapté à votre cas d’utilisation. Avec l’expérience serverless d’Amazon Bedrock, vous pouvez rapidement commencer, expérimenter facilement avec les FMs, les personnaliser en privé avec vos propres données, et les intégrer et les déployer sans effort dans vos applications à l’aide des outils et des capacités d’AWS.

Les clients construisent des applications innovantes d’IA générative en utilisant les APIs d’Amazon Bedrock avec leurs propres données propriétaires. Lorsqu’ils accèdent aux APIs d’Amazon Bedrock, les clients recherchent un mécanisme pour établir un périmètre de données sans exposer leurs données à Internet afin de pouvoir atténuer les vecteurs de menace potentiels causés par une exposition à Internet. L’endpoint VPC d’Amazon Bedrock, propulsé par AWS PrivateLink, vous permet d’établir une connexion privée entre le VPC de votre compte et le compte de service d’Amazon Bedrock. Il permet aux instances de VPC de communiquer avec les ressources de service sans avoir besoin d’adresses IP publiques.

Dans cet article, nous montrons comment configurer un accès privé à votre compte AWS pour accéder aux APIs d’Amazon Bedrock via les endpoints VPC propulsés par PrivateLink, afin de vous aider à construire des applications d’IA générative en toute sécurité avec vos propres données.

Vue d’ensemble de la solution

Vous pouvez utiliser l’IA générative pour développer une large gamme d’applications, telles que la résumé de texte, la modération de contenu, et d’autres fonctionnalités. Lorsque vous construisez de telles applications d’IA générative en utilisant des FMs ou des modèles de base, les clients souhaitent générer une réponse sans passer par Internet public ou en se basant sur leurs données propriétaires qui peuvent résider dans leurs bases de données d’entreprise.

Dans le diagramme ci-dessous, nous avons représenté une architecture pour configurer votre infrastructure afin de lire vos données propriétaires résidant dans Amazon Relational Database Service (Amazon RDS) et augmenter la demande d’API d’Amazon Bedrock avec des informations sur les produits lors de la réponse à des requêtes liées aux produits provenant de votre application d’IA générative. Bien que nous utilisions Amazon RDS dans ce diagramme à des fins d’illustration, vous pouvez tester l’accès privé des APIs d’Amazon Bedrock de bout en bout en utilisant les instructions fournies dans cet article.

Les étapes du flux de travail sont les suivantes :

  1. AWS Lambda s’exécutant dans votre sous-réseau VPC privé reçoit la demande de prompt de l’application d’IA générative.
  2. La fonction Lambda effectue une requête à la base de données RDS propriétaire et augmente le contexte de la requête de prompt (par exemple, en ajoutant des informations sur les produits) et invoque l’API d’Amazon Bedrock avec la requête d’augmentation.
  3. L’appel API est routé vers l’endpoint VPC d’Amazon Bedrock qui est associé à la stratégie de point de terminaison VPC avec les autorisations d’Allow pour les APIs d’Amazon Bedrock.
  4. L’endpoint APIs du service Amazon Bedrock reçoit la requête d’API via PrivateLink sans passer par Internet public.
  5. Vous pouvez modifier la stratégie de point de terminaison VPC d’Amazon Bedrock pour les autorisations de Deny afin de vérifier que les appels aux APIs d’Amazon Bedrock sont refusés.
  6. Vous pouvez également accéder en privée aux APIs d’Amazon Bedrock via le point de terminaison VPC depuis votre réseau d’entreprise grâce à une passerelle AWS Direct Connect.

Prérequis

Avant de commencer, assurez-vous d’avoir les prérequis suivants :

  • Un compte AWS
  • Un rôle de fédération AWS Identity and Access Management (IAM) avec les accès pour effectuer les opérations suivantes :
    • Créer, modifier, afficher et supprimer des ressources réseau VPC
    • Créer, modifier, afficher et supprimer des fonctions Lambda
    • Créer, modifier, afficher et supprimer des rôles et des stratégies IAM
    • Lister les modèles de base et invoquer le modèle de base Amazon Bedrock
  • Pour cet article, nous utilisons la région us-east-1
  • Demandez l’accès au modèle de base via la console Amazon Bedrock

Mise en place de l’infrastructure d’accès privé

Dans cette section, nous configurons l’infrastructure telle que le VPC, les sous-réseaux privés, les groupes de sécurité et la fonction Lambda à l’aide d’un modèle AWS CloudFormation.

Utilisez le modèle suivant pour créer la pile d’infrastructure Bedrock-GenAI-Stack dans votre compte AWS.

Le modèle CloudFormation crée les ressources suivantes en votre nom :

  • Un VPC avec deux sous-réseaux privés dans des zones de disponibilité distinctes
  • Des groupes de sécurité et des tables de routage
  • Un rôle IAM et des stratégies à utiliser par Lambda, Amazon Bedrock et Amazon Elastic Compute Cloud (Amazon EC2)

Mettre en place le point de terminaison VPC pour Amazon Bedrock

Dans cette section, nous utilisons le réseau privé virtuel d’Amazon (Amazon VPC) pour configurer le point de terminaison VPC pour Amazon Bedrock afin de faciliter la connectivité privée entre votre VPC et Amazon Bedrock.

  1. Sur la console Amazon VPC, sous Réseau privé virtuel dans le volet de navigation, choisissez Points de terminaison.
  2. Choisissez Créer un point de terminaison.
  3. Pour Étiquette du nom, saisissez bedrock-vpce.
  4. Sous Services, recherchez bedrock-runtime et sélectionnez com.amazonaws.<région>.bedrock-runtime.
  5. Pour VPC, spécifiez le VPC Bedrock-GenAI-Project-vpc que vous avez créé à l’aide de la pile CloudFormation dans la section précédente.
  6. Dans la section Sous-réseaux, sélectionnez les zones de disponibilité et choisissez les identifiants de sous-réseau correspondants dans le menu déroulant.
  7. Pour Groupes de sécurité, sélectionnez le groupe de sécurité avec le nom de groupe Bedrock-GenAI-Stack-VPCEndpointSecurityGroup- et la description Allow TLS for VPC Endpoint.

Un groupe de sécurité agit comme un pare-feu virtuel pour votre instance afin de contrôler le trafic entrant et sortant. Notez que ce groupe de sécurité du point de terminaison VPC autorise uniquement le trafic provenant du groupe de sécurité attaché à vos sous-réseaux privés VPC, ce qui ajoute une couche de protection.

  1. Choisissez Créer un point de terminaison.

  2. Dans la section Politique, sélectionnez Personnalisé et saisissez la politique de privilège minimal suivante pour vous assurer que seules certaines actions sont autorisées sur la ressource spécifiée du modèle de base, arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1 pour un principal donné (comme le rôle IAM de la fonction Lambda).

    {   "Version": "2012-10-17",    "Statement": [      {           "Action": [             "bedrock:InvokeModel"               ],          "Resource": [               "arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1"               ],          "Effect": "Allow",          "Principal": {                "AWS": "arn:aws:iam::<accountid>:role/GenAIStack-Bedrock"            }      }   ]}

Il peut prendre jusqu’à 2 minutes avant que le point de terminaison d’interface soit créé et que le statut passe à Disponible. Vous pouvez rafraîchir la page pour vérifier le dernier statut.

Configurer la fonction Lambda sur les sous-réseaux VPC privés

Suivez les étapes suivantes pour configurer la fonction Lambda :

  1. Sur la console Lambda, choisissez Fonctions dans le volet de navigation.
  2. Choisissez la fonction gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. Dans l’onglet Configuration, choisissez Autorisations dans le volet de gauche.
  4. Sous Rôle d’exécution, choisissez le lien pour le rôle gen-ai-lambda-stack-BedrockTestLambdaFunctionRole-XXXXXXXXXXXX.

Vous êtes redirigé vers la console IAM.

  1. Dans la section Stratégies d’autorisation, choisissez Ajouter des autorisations et choisissez Créer une stratégie intégrée.

  2. Dans l’onglet JSON, modifiez la stratégie comme suit :

    {    "Version": "2012-10-17",    "Statement": [        {            "Sid": "eniperms",            "Effect": "Allow",            "Action": [                "ec2:CreateNetworkInterface",                "ec2:DescribeNetworkInterfaces",                "ec2:DeleteNetworkInterface",                "ec2:*VpcEndpoint*"            ],            "Resource": "*"        }    ]}
  3. Choisissez Suivant.

  4. Pour le Nom de la stratégie, saisissez enivpce-policy.

  5. Choisissez Créer la stratégie.

  6. Ajoutez la stratégie intégrée suivante (fournissez vos points de terminaison VPC source) pour restreindre l’accès de Lambda uniquement aux API Amazon Bedrock via les points de terminaison VPC :

    {    "Id": "lambda-bedrock-sourcevpce-access-only",    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Action": [        "bedrock:ListFoundationModels",                "bedrock:InvokeModel"            ],            "Resource": "*",            "Condition": {                "ForAnyValue:StringEquals": {                    "aws:sourceVpce": [                        "vpce-<bedrock-runtime-vpce>"                    ]                }            }        }    ]} 
  7. Sur la page de fonction Lambda, dans l’onglet Configuration, choisissez VPC dans le volet de gauche, puis choisissez Modifier.

  8. Pour VPC, choisissez Bedrock-GenAI-Project-vpc.

  9. Pour les Sous-réseaux, choisissez les sous-réseaux privés.

  10. Pour les Groupes de sécurité, choisissez gen-ai-lambda-stack-SecurityGroup- (le groupe de sécurité pour la charge de travail Amazon Bedrock dans les sous-réseaux privés).

  11. Choisissez Enregistrer.

Tester les contrôles d’accès privés

Maintenant, vous pouvez tester les contrôles d’accès privés (API Amazon Bedrock via des points d’accès VPC).

  1. Sur la console Lambda, choisissez Fonctions dans le volet de navigation.
  2. Choisissez la fonction gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. Sur l’onglet Code, choisissez Test.

Vous devriez voir la réponse suivante de l’appel d’API Amazon Bedrock (Statut : Réussi).

  1. Pour refuser l’accès aux API Amazon Bedrock via les points d’accès VPC, accédez à la console Amazon VPC.
  2. Sous Réseau privé virtuel dans le volet de navigation, choisissez Points d’accès.
  3. Choisissez votre politique et accédez à l’onglet Politique.

Actuellement, la politique du point d’accès VPC est définie sur Autoriser.

  1. Pour refuser l’accès, choisissez Modifier la politique.
  2. Changez Autoriser en Refuser et choisissez Enregistrer.

La mise à jour de la politique du point d’accès VPC peut prendre jusqu’à 2 minutes.

{    "Version": "2012-10-17",    "Statement": [      {           "Action": [             "bedrock:InvokeModel"               ],          "Resource": [               "arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1"               ],          "Effect": "Refuser",           "Principal": {                "AWS": "arn:aws:iam::<accountid>:role/GenAIStack-Bedrock"            }      }   ]}
  1. Revenez à la page de la fonction Lambda et sur l’onglet Code, choisissez Test.

Comme le montre la capture d’écran suivante, la demande d’accès à Amazon Bedrock via le point d’accès VPC a été refusée (Statut : Échec).

Grâce à ce processus de test, nous avons démontré comment le trafic entre votre VPC et le point d’accès API Amazon Bedrock traverse la connexion PrivateLink et non la connexion Internet.

Nettoyage

Suivez ces étapes pour éviter d’encourir des frais futurs :

  1. Nettoyez les points d’accès VPC.
  2. Nettoyez le VPC.
  3. Supprimez la pile CloudFormation.

Conclusion

Dans cet article, nous avons démontré comment configurer et opérationnaliser une connexion privée entre une charge de travail d’IA générative déployée sur votre VPC client et Amazon Bedrock en utilisant un point d’accès VPC d’interface alimenté par PrivateLink. Lors de l’utilisation de l’architecture discutée dans cet article, le trafic entre votre VPC client et Amazon Bedrock ne quittera pas le réseau Amazon, garantissant que vos données ne sont pas exposées à Internet public et aidant ainsi à respecter vos exigences de conformité.

Comme prochaine étape, essayez la solution dans votre compte et partagez vos commentaires.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Grok L'IA Chatbot de xAI d'Elon Musk

Plongez dans Grok d'Elon Musk par xAI, un chatbot IA avec une récupération d'informations en temps réel, de l'humour ...

AI

Juliette Powell et Art Kleiner, auteurs de la série d'interviews Le dilemme de l'IA

Le dilemme de l'IA est écrit par Juliette Powell et Art Kleiner. Juliette Powell est auteure, créatrice de télévision...

AI

Elon Musk met en garde contre la montée de la superintelligence en Chine

L’entrepreneur renommé Elon Musk a récemment fait les gros titres avec sa déclaration audacieuse lors d’u...

AI

Elon Musk présente 'Grok' l'AI Chatbot impertinent avec une touche de rébellion

Le monde de la technologie est en effervescence. Elon Musk, le génie derrière des entreprises révolutionnaires comme ...

AI

Elon Musk's xAI entraîné sur le flux de Twitter

Elon Musk, le visionnaire derrière des entreprises telles que Tesla et SpaceX, a de nouveau fixé son attention sur le...

AI

Restez en avance sur la courbe de confiance en IA la trousse à outils responsable en IA en open-source est dévoilée.

Dans le paysage technologique en évolution rapide d’aujourd’hui, l’intelligence artificielle (IA) e...