Zephyrnet-logo

Gebruik AWS PrivateLink om privétoegang tot Amazon Bedrock | in te stellen Amazon-webservices

Datum:

Amazonebodem is een volledig beheerde service van AWS waar ontwikkelaars toegang toe hebben funderingsmodellen (FM's) en de tools om ze aan te passen voor specifieke toepassingen. Het stelt ontwikkelaars in staat generatieve AI-applicaties te bouwen en te schalen met behulp van FM's via een API, zonder de infrastructuur te beheren. U kunt kiezen uit verschillende FM's van Amazon en toonaangevende AI-startups zoals AI21 Labs, Anthropic, Cohere en Stability AI om het model te vinden dat het meest geschikt is voor uw gebruiksscenario. Met de serverloze ervaring van Amazon Bedrock kun je snel aan de slag, eenvoudig experimenteren met FM's, ze privé aanpassen met je eigen gegevens en ze naadloos integreren en implementeren in je applicaties met behulp van AWS-tools en -mogelijkheden.

Klanten bouwen innovatieve generatieve AI-applicaties met behulp van Amazon Bedrock API's met behulp van hun eigen bedrijfseigen gegevens. Bij toegang tot Amazon Bedrock API's zijn klanten op zoek naar een mechanisme om een ​​dataperimeter in te stellen zonder hun gegevens bloot te stellen aan internet, zodat ze potentiële bedreigingsvectoren door blootstelling aan internet kunnen beperken. Het Amazon Bedrock VPC-eindpunt mogelijk gemaakt door AWS PrivéLink Hiermee kunt u een privéverbinding tot stand brengen tussen de VPC in uw account en het Amazon Bedrock-serviceaccount. Het stelt VPC-instanties in staat te communiceren met servicebronnen zonder dat er openbare IP-adressen nodig zijn.

In dit bericht laten we zien hoe u privétoegang tot uw AWS-account kunt instellen om toegang te krijgen tot Amazon Bedrock API's VPC-eindpunten mogelijk gemaakt door PrivateLink om u te helpen generatieve AI-applicaties veilig te bouwen met uw eigen gegevens.

Overzicht oplossingen

U kunt generatieve AI gebruiken om een ​​breed scala aan toepassingen te ontwikkelen, zoals tekstsamenvatting, inhoudsmoderatie en andere mogelijkheden. Bij het bouwen van dergelijke generatieve AI-applicaties met behulp van FM's of basismodellen willen klanten een reactie genereren zonder via het openbare internet te gaan of op basis van hun eigen gegevens die zich mogelijk in hun bedrijfsdatabases bevinden.

In het volgende diagram geven we een architectuur weer om uw infrastructuur op te zetten om uw bedrijfseigen gegevens te lezen Amazon relationele databaseservice (Amazon RDS) en breid het Amazon Bedrock API-verzoek uit met productinformatie bij het beantwoorden van productgerelateerde vragen van uw generatieve AI-applicatie. Hoewel we in dit diagram ter illustratie Amazon RDS gebruiken, kun je de privétoegang van de Amazon Bedrock API's van begin tot eind testen met behulp van de instructies in dit bericht.

De workflowstappen zijn als volgt:

  1. AWS Lambda die in uw privé-VPC-subnet draait, ontvangt het promptverzoek van de generatieve AI-toepassing.
  2. Lambda doet een beroep op de eigen RDS-database en vergroot de context van de promptquery (bijvoorbeeld door productinformatie toe te voegen) en roept de Amazon Bedrock API aan met het uitgebreide queryverzoek.
  3. De API-aanroep wordt doorgestuurd naar het Amazon Bedrock VPC-eindpunt dat is gekoppeld aan het VPC-eindpuntbeleid met machtigingen toestaan ​​voor Amazon Bedrock API's.
  4. Het API-eindpunt van de Amazon Bedrock-service ontvangt het API-verzoek via PrivateLink zonder het openbare internet te passeren.
  5. Je kunt het Amazon Bedrock VPC-eindpuntbeleid wijzigen in Rechten weigeren om te valideren dat Amazon Bedrock API-aanroepen worden geweigerd.
  6. U kunt vanuit uw bedrijfsnetwerk ook privé toegang krijgen tot Amazon Bedrock API's via het VPC-eindpunt via een AWS Direct Connect poort.

Voorwaarden

Voordat u aan de slag gaat, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:

  • An AWS-account
  • An AWS Identiteits- en toegangsbeheer (IAM) federatierol met toegang om het volgende te doen:
    • VPC-netwerkbronnen maken, bewerken, bekijken en verwijderen
    • Lambda-functies maken, bewerken, bekijken en verwijderen
    • IAM-rollen en -beleid maken, bewerken, bekijken en verwijderen
    • Maak een lijst van funderingsmodellen en roep het Amazon Bedrock-fundamentmodel aan
  • Voor dit bericht gebruiken we de us-east-1 Regio
  • Aanvraag toegang tot funderingsmodellen via de Amazon Bedrock-console

Zet de privétoegangsinfrastructuur op

In deze sectie zetten we de infrastructuur zoals VPC, privé-subnetten, beveiligingsgroepen en Lambda-functie op met behulp van een AWS CloudFormatie sjabloon.

Gebruik het volgende sjabloon om de infrastructuurstack te creëren Bedrock-GenAI-Stack in uw AWS-account.

De CloudFormation-sjabloon maakt namens u de volgende bronnen:

  • Een VPC met twee privé-subnetten in afzonderlijke Beschikbaarheidszones
  • Beveiligingsgroepen en routeringstabellen
  • IAM-rol en -beleid voor gebruik door Lambda, Amazon Bedrock en Amazon Elastic Compute-cloud (Amazone EC2)

Stel het VPC-eindpunt in voor Amazon Bedrock

In deze sectie gebruiken we Amazon virtuele privécloud (Amazon VPC) om het VPC-eindpunt voor Amazon Bedrock in te stellen om privéconnectiviteit van uw VPC naar Amazon Bedrock te vergemakkelijken.

  1. Op de Amazon VPC-console, onder Virtuele privécloud in het navigatievenster, kies Eindpunten.
  2. Kies Eindpunt maken.
  3. Voor Naamlabel, ga naar binnen bedrock-vpce.
  4. Onder Diensten, zoek naar bedrock-runtime en selecteer com.amazonaws.<region>.bedrock-runtime.
  5. Voor VPC, geef de VPC op Bedrock-GenAI-Project-vpc die u in de vorige sectie hebt gemaakt via de CloudFormation-stack.
  6. In het subnetten sectie en selecteer de Beschikbaarheidszones en kies de overeenkomstige subnet-ID's in het vervolgkeuzemenu.
  7. Voor BeveiligingsgroepenSelecteer de beveiligingsgroep met de groepsnaam Bedrock-GenAI-Stack-VPCEndpointSecurityGroup- en beschrijving Allow TLS for VPC Endpoint.

Een beveiligingsgroep fungeert als een virtuele firewall voor uw exemplaar om inkomend en uitgaand verkeer te controleren. Houd er rekening mee dat deze VPC-eindpuntbeveiligingsgroep alleen verkeer toestaat dat afkomstig is van de beveiligingsgroep die is gekoppeld aan uw privé-subnetten van uw VPC, waardoor een beschermingslaag wordt toegevoegd.

  1. Kies Eindpunt maken.
  2. In het Beleid sectie, selecteer Eigen en voer het volgende beleid met minimale bevoegdheden in om ervoor te zorgen dat alleen bepaalde acties zijn toegestaan ​​op de opgegeven basismodelbron, arn:aws:bedrock:*::foundation-model/anthropic.claude-instant-v1 voor een bepaalde opdrachtgever (zoals de IAM-rol van de Lambda-functie).
    { "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" } } ]
    }

Het kan maximaal 2 minuten duren voordat het interface-eindpunt is gemaakt en de status verandert in Beschikbaar. U kunt de pagina vernieuwen om de laatste status te controleren.

Stel de Lambda-functie in via privé-VPC-subnetten

Voer de volgende stappen uit om de Lambda-functie te configureren:

  1. Kies op de Lambda-console Functies in het navigatievenster.
  2. Kies de functie gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. Op de Configuratie tabblad, kies machtigingen in het linkerdeelvenster.
  4. Onder Uitvoeringsrol¸ kies de link voor de rol gen-ai-lambda-stack-BedrockTestLambdaFunctionRole-XXXXXXXXXXXX.

U wordt doorgestuurd naar de IAM-console.

  1. In het Machtigingenbeleid sectie, kies Machtigingen toevoegen En kies Inline beleid maken.
  2. Op de JSON tabblad, wijzigt u het beleid als volgt:
    { "Version": "2012-10-17", "Statement": [ { "Sid": "eniperms", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:*VpcEndpoint*" ], "Resource": "*" } ]
    }

  3. Kies Volgende.
  4. Voor Beleidsnaam, ga naar binnen enivpce-policy.
  5. Kies Maak beleid.
  6. Voeg het volgende inline-beleid toe (geef uw bron-VPC-eindpunten op) om Lambda-toegang tot Amazon Bedrock API's alleen via VPC-eindpunten te beperken:
    { "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. Op de Lambda-functiepagina, op de Configuratie tabblad, kies VPC in het linkerdeelvenster en kies vervolgens Edit.
  8. Voor VPC, kiezen Bedrock-GenAI-Project-vpc.
  9. Voor subnetten, kies de privé-subnetten.
  10. Voor Beveiligingsgroepen, kiezen gen-ai-lambda-stack-SecurityGroup- (de beveiligingsgroep voor de Amazon Bedrock-werklast in privé-subnetten).
  11. Kies Bespaar.

Test privétoegangscontroles

Nu kunt u de privétoegangscontroles (Amazon Bedrock API's via VPC-eindpunten) testen.

  1. Kies op de Lambda-console Functies in het navigatievenster.
  2. Kies de functie gen-ai-lambda-stack-BedrockTestLambdaFunction-XXXXXXXXXXXX.
  3. Op de Code tabblad, kies test.

U zou het volgende antwoord moeten zien van de Amazon Bedrock API-aanroep (Status: Geslaagd).

  1. Om de toegang tot Amazon Bedrock API's via VPC-eindpunten te weigeren, navigeert u naar de Amazon VPC-console.
  2. Onder Virtuele privécloud in het navigatievenster, kies Eindpunten.
  3. Kies uw polis en navigeer naar de Tabblad Beleid.

Momenteel is het VPC-eindpuntbeleid ingesteld op Allow.

  1. Om de toegang te weigeren, kiest u Beleid bewerken.
  2. Veranderen Allow naar Deny En kies Bespaar.

Het kan tot twee minuten duren voordat het beleid voor het VPC-eindpunt is bijgewerkt.

{ "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. Keer terug naar de Lambda-functiepagina en naar de Code tabblad, kies test.

Zoals te zien is in de volgende schermafbeelding, werd het toegangsverzoek tot Amazon Bedrock via het VPC-eindpunt afgewezen (Status: Mislukt).

Via dit testproces hebben we aangetoond hoe verkeer van uw VPC naar het Amazon Bedrock API-eindpunt via de PrivateLink-verbinding loopt en niet via de internetverbinding.

Opruimen

Volg deze stappen om te voorkomen dat er in de toekomst kosten in rekening worden gebracht:

  1. Ruim de VPC-eindpunten op.
  2. Ruim de VPC op.
  3. De CloudFormation-stack verwijderen.

Conclusie

In dit bericht hebben we gedemonstreerd hoe u een privéverbinding kunt opzetten en operationeel maken tussen een generatieve AI-werklast die is geïmplementeerd op de VPC van uw klant en Amazon Bedrock met behulp van een interface-VPC-eindpunt mogelijk gemaakt door PrivateLink. Wanneer u de architectuur gebruikt die in dit bericht wordt besproken, zal het verkeer tussen de VPC van uw klant en Amazon Bedrock het Amazon-netwerk niet verlaten, waardoor uw gegevens niet worden blootgesteld aan het openbare internet en u zo wordt geholpen met uw nalevingsvereisten.

Probeer als volgende stap de oplossing uit in uw account en deel uw feedback.


Over de auteurs

Ram Vital is een Principal ML Solutions Architect bij AWS. Hij heeft meer dan dertig jaar ervaring met het ontwerpen en bouwen van gedistribueerde, hybride en cloudapplicaties. Hij heeft een passie voor het bouwen van veilige en schaalbare AI/ML- en big data-oplossingen om zakelijke klanten te helpen met hun cloudadoptie en optimalisatietraject om hun bedrijfsresultaten te verbeteren. In zijn vrije tijd rijdt hij op zijn motor en wandelt hij met zijn 3-jarige Sheepadoodle!

Ray Khorsandi is een AI/ML-specialist bij AWS en ondersteunt strategische klanten met best practices op het gebied van AI/ML. Met een M.Sc. en Ph.D. in Elektrotechniek en Computerwetenschappen leidt hij ondernemingen bij het bouwen van veilige, schaalbare AI/ML- en big data-oplossingen om hun cloudadoptie te optimaliseren. Zijn passies omvatten computervisie, NLP, generatieve AI en MLOps. Ray houdt van voetballen en quality time doorbrengen met zijn gezin.

Michaël Daniëls is een AI/ML-specialist bij AWS. Zijn expertise ligt in het bouwen en leiden van AI/ML en generatieve AI-oplossingen voor complexe en uitdagende zakelijke problemen, die wordt versterkt door zijn Ph.D. van de Universiteit. van Texas en zijn M.Sc. in Computer Science, specialisatie in Machine Learning van het Georgia Institute of Technology. Hij blinkt uit in het toepassen van geavanceerde cloudtechnologieën om toonaangevende organisaties te innoveren, inspireren en transformeren, terwijl hij ook effectief communiceert met belanghebbenden op elk niveau of elke schaal. In zijn vrije tijd kun je Michael zien skiën of snowboarden in de bergen.

spot_img

Laatste intelligentie

spot_img