Logo Zéphyrnet

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

Date :

Socle amazonien est un service entièrement géré fourni par AWS qui offre aux développeurs un accès à modèles de fondation (FM) et les outils pour les personnaliser pour des applications spécifiques. Il permet aux développeurs de créer et de faire évoluer des applications d'IA générative à l'aide de FM via une API, sans gérer l'infrastructure. Vous pouvez choisir parmi différents FM d'Amazon et de startups d'IA de premier plan 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 sans serveur Amazon Bedrock, vous pouvez démarrer rapidement, expérimenter facilement les FM, les personnaliser en privé avec vos propres données, puis les intégrer et les déployer de manière transparente dans vos applications à l'aide des outils et fonctionnalités AWS.

Les clients créent des applications d'IA générative innovantes à l'aide des API Amazon Bedrock en utilisant leurs propres données propriétaires. Lorsqu'ils accèdent aux API Amazon Bedrock, les clients recherchent un mécanisme permettant de configurer un périmètre de données sans exposer leurs données à Internet afin de pouvoir atténuer les vecteurs de menace potentiels liés à l'exposition à Internet. Le point de terminaison d'un VPC Amazon Bedrock alimenté par Lien privé AWS vous permet d'établir une connexion privée entre le VPC de votre compte et le compte de service Amazon Bedrock. Il permet aux instances 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é sur votre compte AWS pour accéder aux API Amazon Bedrock via Points de terminaison VPC optimisé par PrivateLink pour vous aider à créer des applications d'IA génératives 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 gamme diversifiée d'applications, telles que le résumé de texte, la modération de contenu et d'autres fonctionnalités. Lors de la création de telles applications d'IA générative à l'aide de FM ou de modèles de base, les clients souhaitent générer une réponse sans passer par l'Internet public ou sur la base de leurs données propriétaires qui peuvent résider dans les bases de données de leur entreprise.

Dans le diagramme suivant, nous décrivons une architecture pour configurer votre infrastructure afin de lire vos données propriétaires résidant dans Service de base de données relationnelle Amazon (Amazon RDS) et augmentez la demande d'API Amazon Bedrock avec des informations sur le produit lorsque vous répondez aux requêtes liées au produit à partir 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 API Amazon Bedrock de bout en bout à l'aide des instructions fournies dans cet article.

Les étapes du flux de travail sont les suivantes :

  1. AWS Lambda exécuté dans votre sous-réseau VPC privé reçoit la demande d'invite de l'application d'IA générative.
  2. Lambda appelle la base de données RDS propriétaire, augmente le contexte de requête d'invite (par exemple, en ajoutant des informations sur le produit) et appelle l'API Amazon Bedrock avec la requête de requête augmentée.
  3. L'appel d'API est acheminé vers le point de terminaison du VPC Amazon Bedrock associé à la stratégie de point de terminaison du VPC avec les autorisations Autoriser les API Amazon Bedrock.
  4. Le point de terminaison de l'API du service Amazon Bedrock reçoit la demande d'API via PrivateLink sans passer par l'Internet public.
  5. Vous pouvez modifier la stratégie de point de terminaison d'un VPC Amazon Bedrock sur Refuser les autorisations pour valider que les appels d'API Amazon Bedrock sont refusés.
  6. Vous pouvez également accéder en privé aux API Amazon Bedrock via le point de terminaison du VPC depuis votre réseau d'entreprise via un AWS Direct Connect passerelle.

Pré-requis

Avant de commencer, assurez-vous que vous disposez des conditions préalables suivantes:

  • An Compte AWS
  • An Gestion des identités et des accès AWS Rôle de fédération (IAM) avec 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
    • Répertorier les modèles de fondation et appeler le modèle de fondation Amazon Bedrock
  • Pour cet article, nous utilisons le us-east-1 Région
  • Demande accès au modèle de fondation via la console Amazon Bedrock

Mettre en place 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 AWS CloudFormation modèle.

Utilisez le suivant modèle 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
  • Groupes de sécurité et tables de routage
  • Rôle et politiques IAM à utiliser par Lambda, Amazon Bedrock et Cloud de calcul élastique Amazon (Amazon EC2)

Configurer le point de terminaison d'un VPC pour Amazon Bedrock

Dans cette section, nous utilisons Cloud privé virtuel Amazon (Amazon VPC) pour configurer le point de terminaison d'un VPC pour Amazon Bedrock afin de faciliter la connectivité privée de votre VPC à Amazon Bedrock.

  1. Sur la console Amazon VPC, sous Cloud privé virtuel dans le volet de navigation, choisissez Endpoints.
  2. Selectionnez Créer un point de terminaison.
  3. Pour Etiquette de nom, Entrer bedrock-vpce.
  4. Sous Services, recherchez bedrock-runtime et sélectionnez com.amazonaws.<region>.bedrock-runtime.
  5. Pour VPC, spécifiez le VPC Bedrock-GenAI-Project-vpc que vous avez créé via la pile CloudFormation dans la section précédente.
  6. Dans le Sous-réseaux , puis sélectionnez les zones de disponibilité et choisissez les ID de sous-réseau correspondants dans le menu déroulant.
  7. Pour Groupes de sécurité, sélectionnez le groupe de sécurité portant le nom du groupe Bedrock-GenAI-Stack-VPCEndpointSecurityGroup- et descriptif 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é de point de terminaison de VPC autorise uniquement le trafic provenant du groupe de sécurité attaché à vos sous-réseaux privés de VPC, ajoutant ainsi une couche de protection.

  1. Selectionnez Créer un point de terminaison.
  2. Dans le Politique section, sélectionnez Coutume et entrez la politique de moindre privilège suivante pour garantir que seules certaines actions sont autorisées sur la ressource de modèle de fondation spécifiée, arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1 pour un principal donné (tel que 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" } } ]
    }

Cela peut prendre jusqu'à 2 minutes jusqu'à ce que le point de terminaison de l'interface soit créé et que l'état passe à Disponible. Vous pouvez actualiser la page pour vérifier le dernier statut.

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

Effectuez les étapes suivantes pour configurer la fonction Lambda :

  1. Sur la console Lambda, choisissez Les fonctions dans le volet de navigation.
  2. Choisissez la fonction gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. Sur le configuration onglet, choisissez Permissions 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 le Politiques d'autorisations section, choisissez Ajouter des autorisations et choisissez Créer une politique en ligne.
  2. Sur le 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. Selectionnez Suivant.
  4. Pour Nom de la politique, Entrer enivpce-policy.
  5. Selectionnez Créer une politique.
  6. Ajoutez la stratégie en ligne suivante (fournissez vos points de terminaison de VPC source) pour restreindre l'accès Lambda aux API Amazon Bedrock uniquement via les points de terminaison de 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 la fonction Lambda, sur la page configuration onglet, choisissez VPC dans le volet de gauche, puis choisissez Modifier.
  8. Pour VPC, choisissez Bedrock-GenAI-Project-vpc.
  9. Pour Sous-réseaux, choisissez les sous-réseaux privés.
  10. Pour 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. Selectionnez Épargnez.

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

Vous pouvez désormais tester les contrôles d'accès privés (API Amazon Bedrock sur les points de terminaison d'un VPC).

  1. Sur la console Lambda, choisissez Les fonctions dans le volet de navigation.
  2. Choisissez la fonction gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. Sur le Code onglet, choisissez Teste.

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 sur les points de terminaison d'un VPC, accédez à la console Amazon VPC.
  2. Sous Cloud privé virtuel dans le volet de navigation, choisissez Endpoints.
  3. Choisissez votre police et accédez au Onglet Politique.

Actuellement, la stratégie de point de terminaison d'un VPC est définie sur Allow.

  1. Pour refuser l'accès, choisissez Modifier la politique.
  2. Modifier Allow à Deny et choisissez Épargnez.

La mise à jour de la stratégie du point de terminaison du 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": "Deny", "Principal": { "AWS": "arn:aws:iam::<accountid>:role/GenAIStack-Bedrock" } } ]
}

  1. Revenez à la page de la fonction Lambda et sur la page Code onglet, choisissez Teste.

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

Grâce à ce processus de test, nous avons démontré comment le trafic de votre VPC vers le point de terminaison de l'API Amazon Bedrock transite via la connexion PrivateLink et non via la connexion Internet.

Nettoyer

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

  1. Nettoyer les points de terminaison du VPC.
  2. Nettoyer le VPC.
  3. Supprimer la pile CloudFormation.

Conclusion

Dans cet article, nous avons 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 à l'aide d'un point de terminaison d'interface VPC alimenté par PrivateLink. Lorsque vous utilisez l'architecture décrite dans cet article, le trafic entre votre VPC client et Amazon Bedrock ne quittera pas le réseau Amazon, garantissant ainsi que vos données ne seront pas exposées à l'Internet public et répondant ainsi à vos exigences de conformité.

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


À propos des auteurs

Bélier Vittal est architecte principal de solutions ML chez AWS. Il possède plus de trois décennies d'expérience dans l'architecture et la création d'applications distribuées, hybrides et cloud. Il est passionné par la création de solutions d'IA/ML et de Big Data sécurisées et évolutives pour aider les entreprises clientes dans leur parcours d'adoption et d'optimisation du cloud afin d'améliorer leurs résultats commerciaux. Dans ses temps libres, il roule en moto et se promène avec son Sheepadoodle de 3 ans !

Ray Khorsandi est un spécialiste de l'IA/ML chez AWS, qui accompagne les clients stratégiques avec les meilleures pratiques d'IA/ML. Avec une M.Sc. et doctorat. Diplômé en génie électrique et en informatique, il amène les entreprises à créer des solutions d'IA/ML et de Big Data sécurisées et évolutives afin d'optimiser leur adoption du cloud. Ses passions incluent la vision par ordinateur, la PNL, l'IA générative et le MLOps. Ray aime jouer au football et passer du temps de qualité en famille.

Michel Daniels est un spécialiste IA/ML chez AWS. Son expertise réside dans la création et la direction de solutions d'IA/ML et d'IA générative pour des problèmes commerciaux complexes et difficiles, qui sont renforcées par son doctorat. de l'Univ. du Texas et sa maîtrise en sciences. en informatique, spécialisation en apprentissage automatique du Georgia Institute of Technology. Il excelle dans l'application de technologies cloud de pointe pour innover, inspirer et transformer des organisations de pointe, tout en communiquant efficacement avec les parties prenantes à tous les niveaux et à toutes les échelles. Pendant son temps libre, vous pouvez voir Michael skier ou faire du snowboard dans les montagnes.

spot_img

Dernières informations

spot_img