Konfigurasikan Amazon Bedrock AgentCore Gateway VPC Egress untuk Target Gateway
Layanan AgentCore Gateway menyediakan manajemen lalu lintas jalan keluar yang aman dan terkontrol untuk aplikasi Anda, memungkinkan komunikasi tanpa batas dengan sumber daya dalam Virtual Private Cloud (VPC) Anda. Dokumen ini menguraikan bagaimana lalu lintas keluar mengalir melalui AgentCore Gateway untuk mencapai sumber daya VPC. Anda akan mempelajari tentang jenis target gateway yang didukung (Lambda, API Gateway, dan server MCP melalui AgentCore Runtime), persyaratan konfigurasinya, dan metode otentikasi yang didukung untuk setiap jenis target. Panduan ini mencakup pertimbangan keamanan, mekanisme perutean, dan praktik terbaik yang diperlukan untuk memungkinkan arus lalu lintas keluar yang tepat sambil mempertahankan isolasi jaringan dan mengikuti prinsip hak istimewa paling sedikit di seluruh arsitektur Anda.
MCP
AgentCore Gateway mendukung server Model Context Protocol (MCP) sebagai titik akhir target, menyediakan opsi penerapan yang fleksibel untuk memenuhi berbagai kebutuhan pelanggan. Server MCP dapat dikonfigurasi dengan berbagai cara tergantung pada kebutuhan infrastruktur dan persyaratan keamanan Anda.
Target MCP Anda bisa terdiri dari dua jenis, tidak di-host AgentCore, atau dihosting di AgentCore Runtime atau Gateway. Kami membahas keduanya di bawah ini.
MCP tidak dihosting di AgentCore
AgentCore Gateway mendukung koneksi ke server MCP yang dihosting sendiri yang berjalan di dalam VPC Anda menggunakan titik akhir pribadi yang didukung oleh Amazon VPC Lattice. Anda dapat mengonfigurasi target gateway Anda untuk mengarahkan lalu lintas secara pribadi ke server MCP Anda tanpa memaparkannya ke internet publik. privateEndpoint
Contoh berikut membuat target server MCP pribadi menggunakan Managed Lattice:
{ "name": "my-private-mcp-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "targetConfiguration": { "mcp": { "mcpServer": { "endpoint": "https://my-mcp-server.internal.example.com/mcp" } } } }
Jika Anda ingin merutekan lalu lintas melalui komponen perantara seperti titik akhir VPC atau penyeimbang beban internal, Anda dapat menentukan file. routingDomain Untuk informasi selengkapnya, lihat Merutekan lalu lintas melalui domain perantara.
Jika server MCP Anda menggunakan sertifikat TLS yang dikeluarkan oleh otoritas sertifikat pribadi, Anda dapat menempatkan Application Load Balancer internal dengan sertifikat ACM publik di depannya. Untuk informasi selengkapnya, lihat Solusi untuk sertifikat pribadi: ALB.
Untuk Lattice yang dikelola sendiri, pengaturan lintas akun, dan konfigurasi lanjutan, lihat Connect to private resources di VPC menggunakan VPC Lattice.
AgentCore Runtime atau Gateway
AgentCore Runtime menyediakan dukungan asli untuk berkomunikasi dengan sumber daya dalam VPC Anda melalui pendekatan infrastruktur terkelola. Semua komunikasi antara AgentCore Gateway dan AgentCore Runtime tetap berada di AWS tulang punggung, memastikan data Anda tidak pernah melintasi internet publik (kecuali untuk panggilan lintas wilayah ke pusat data Tiongkok). Untuk informasi selengkapnya, lihat bagian Konektivitas
Untuk otorisasi keluar dari AgentCore Gateway ke AgentCore Runtime, dua metode otentikasi didukung: tidak ada otorisasi (tidak disarankan untuk penggunaan produksi) dan OAuth dengan pemberian kredensyal klien (untuk otentikasi mesin-ke-mesin). Ketika tidak ada otorisasi yang dikonfigurasi, permintaan dari AgentCore Gateway ke AgentCore Runtime tidak memiliki token autentikasi. Arsitektur ini menyediakan jalur koneksi yang mulus sambil mempertahankan isolasi keamanan. Sebagai praktik keamanan terbaik, konfigurasikan izin otentikasi dan otorisasi terbatas untuk AgentCore Runtime dan AgentCore Gateway, membatasi akses hanya ke sumber daya dan operasi yang diperlukan untuk kasus penggunaan spesifik Anda. Untuk mengonfigurasi Identitas OAuth yang akan digunakan oleh AgentCore Gateway untuk keluar dan masuk untuk AgentCore Runtime gunakan dokumen berikut:
Contoh CreateGatewayTarget dengan AgentCore Runtime sebagai target
Contoh berikut menunjukkan cara membuat target gateway dengan AgentCore Runtime:
POST /gateways/gatewayIdentifier/targets/ HTTP/1.1 Content-type: application/json { "clientToken": "string", "credentialProviderConfigurations": [ { "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "scopes": [ "string" ], ... } }, "credentialProviderType": "OAUTH" } ], "description": "string", "metadataConfiguration": { "allowedQueryParameters": [ "string" ], "allowedRequestHeaders": [ "string" ], "allowedResponseHeaders": [ "string" ] }, "name": "string", "targetConfiguration": { "mcp": { "mcpServer": { "endpoint": "https://bedrock-agentcore.<region>.amazonaws.com/runtimes/<runtime-id>/invocations?qualifier=DEFAULT&accountId=<account-id>" } } } }
catatan
Hindari menggunakan URL titik akhir VPC (VPCE) privateEndpoint untuk mencegah hop jaringan tambahan yang tidak perlu. Gunakan endpoint AgentCore Runtime langsung sebagai gantinya, dengan lalu lintas yang tetap berada di tulang punggung. AWS
Buka target API
Titik akhir API Gateway melalui Target API Terbuka
Jika API Gateway Anda tidak dapat ditambahkan secara langsung sebagai target, Anda selalu dapat mengekspor sumber daya sebagai spesifikasi OpenAPI dan mengimpor spesifikasi ke Gateway AgentCore sebagai target OpenAPI.
Jika Anda memiliki API REST Pribadi di API Gateway, ikuti petunjuk di sini: API REST Pribadi di API Gateway.
Titik akhir lainnya
Anda dapat mengonfigurasi target Open API untuk mencapai titik akhir pribadi di dalam VPC menggunakan privateEndpoint konfigurasi. AgentCore Gateway menggunakan Amazon VPC Lattice untuk membangun konektivitas pribadi ke titik akhir Anda tanpa memaparkannya ke internet publik.
Contoh berikut membuat target OpenAPI pribadi menggunakan Lattice terkelola:
{ "name": "my-private-openapi-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": ["subnet-0abc123", "subnet-0def456"], "endpointIpAddressType": "IPV4", "securityGroupIds": ["sg-0abc123def"] } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<your OpenAPI spec JSON with server URL pointing to your private endpoint>" } } } }
Jika Anda ingin merutekan lalu lintas melalui komponen perantara seperti titik akhir VPC atau penyeimbang beban internal, Anda dapat menentukan file. routingDomain Untuk informasi selengkapnya, lihat Merutekan lalu lintas melalui domain perantara.
Jika endpoint Anda menggunakan sertifikat TLS yang dikeluarkan oleh otoritas sertifikat swasta, Anda dapat menempatkan Application Load Balancer internal dengan sertifikat ACM publik di depannya. Untuk informasi selengkapnya, lihat Solusi untuk sertifikat pribadi: ALB.
Untuk Lattice yang dikelola sendiri, pengaturan lintas akun, dan konfigurasi lanjutan, lihat Connect to private resources di VPC menggunakan VPC Lattice.
catatan
privateEndpointKonfigurasi berlaku untuk satu domain dalam skema OpenAPI Anda. Jika skema Anda mereferensikan beberapa titik akhir server dengan domain yang berbeda, buka kasus AWS Support untuk meminta dukunganprivateEndpointOverrides
Target pandai besi
Konfigurasi titik akhir pribadi (privateEndpoint) saat ini tidak didukung untuk target Smithy. Jika target Smithy Anda memerlukan konektivitas pribadi, buka kasus AWS Support untuk meminta dukungan
API Gateway
AgentCore Gateway mendukung API Gateway sebagai tipe target, yang dapat berfungsi sebagai lapisan perantara untuk mengakses sumber daya VPC. AgentCore Gateway secara khusus mendukung REST API Gateways yang dikonfigurasi hanya dengan titik akhir regional. Meskipun komunikasi VPC langsung dari Gateway saat ini tidak tersedia (fitur ini direncanakan untuk rilis di masa mendatang), gateway berkomunikasi dengan API Gateway melalui AWS tulang punggung, memastikan bahwa lalu lintas tidak pernah melintasi internet publik (kecuali untuk panggilan lintas wilayah ke pusat data Tiongkok). API Gateway kemudian dapat berkomunikasi dengan sumber daya menggunakan VPC Link, menciptakan jalur aman bagi AgentCore Gateway untuk menjangkau layanan internal sambil mempertahankan isolasi jaringan.
Untuk menerapkan praktik terbaik keamanan, konfigurasikan API Gateway Anda untuk membatasi lalu lintas masuk secara eksklusif ke prinsipal layanan AgentCore Gateway atau kunci API yang dikonfigurasi, mencegah akses tidak sah dari sumber lain. Untuk otorisasi keluar dari AgentCore Gateway ke API Gateway, hanya dua metode otentikasi yang didukung: IAM-based otentikasi (menggunakan peran layanan gateway untuk mengautentikasi dengan AWS Signature Version 4) dan autentikasi kunci API (dikelola oleh AgentCore Gateway); OAuth-based otorisasi dan Gateway API Lintas Akun tidak didukung untuk target API Gateway, silakan gunakan titik akhir API Gateway melalui Open API Target untuk mereka. Batasi izin peran eksekusi AgentCore Gateway untuk memanggil hanya titik akhir API Gateway tertentu yang diperlukan, daripada memberikan akses API Gateway yang luas, memastikan bahwa gateway tidak dapat berinteraksi dengan sumber daya API yang tidak diinginkan dan mempertahankan prinsip hak istimewa paling sedikit di seluruh arsitektur Anda.
Amazon API Gateway REST API tahapan sebagai target
Izin untuk integrasi API Gateway menggunakan IAM Auth
Kebijakan Sumber Daya API Gateway Dikunci ke AgentCore Gateway
Kebijakan sumber daya berikut membatasi akses API Gateway ke AgentCore Gateway:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:rest-api-id/api-stage/*/*" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:gateway/my-gateway-d4jrgkaske" } } } ] }
AgentCore Kebijakan Peran Eksekusi Gateway
Kebijakan berikut memberikan izin gateway untuk menjalankan API Gateway:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:abcd123/prod/*/*" ] } ] }
AgentCore Kebijakan kepercayaan Peran Eksekusi Gateway
Kebijakan kepercayaan berikut memungkinkan AgentCore Gateway untuk mengambil peran eksekusi:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:gateway/*" } } } ] }
API REST pribadi di API Gateway
Target API Gateway dengan titik akhir pribadi tidak didukung secara native. Namun, Anda dapat mengekspor API Gateway pribadi Anda sebagai skema OpenAPI dan menggunakan target Open API dengan skema tersebut, yang dikonfigurasi dengan file. privateEndpoint Setel routingDomain ke nama DNS titik akhir VPC API Gateway (VPCE) Anda, dan pastikan URL server skema OpenAPI menggunakan domain yang cocok dengan sertifikat TLS publik Anda.
{ "name": "my-private-apigw-target", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0123456789abcdef0", "subnetIds": ["subnet-0123456789abcdef0", "subnet-0abcdef1234567890"], "endpointIpAddressType": "IPV4", "routingDomain": "<vpce-id>.execute-api.<region>.vpce.amazonaws.com" } }, "targetConfiguration": { "mcp": { "openApiSchema": { "inlinePayload": "<OpenAPI spec JSON with server URL matching the public certificate domain for your API Gateway, for example https://<api-id>.execute-api.<region>.amazonaws.com>" } } } }
Untuk detail selengkapnya tentang konfigurasi titik akhir pribadi, lihat Connect to private resource di VPC menggunakan VPC Lattice.
Lambda
AgentCore Gateway mendukung target Lambda sebagai salah satu jenis targetnya, memungkinkan pemanggilan tanpa batas fungsi Lambda yang dapat berkomunikasi dengan sumber daya dalam VPC Anda. Fungsionalitas ini tersedia di luar kotak dan tidak memerlukan konfigurasi tambahan dari pelanggan - gateway dapat segera memanggil fungsi Lambda yang telah dikonfigurasi dengan akses VPC untuk menjangkau sumber daya internal Anda seperti database, API, atau layanan lainnya. Untuk mempertahankan praktik terbaik keamanan, sangat disarankan untuk mengonfigurasi peran eksekusi AgentCore Gateway dengan izin minimal, khususnya membatasi untuk hanya menjalankan fungsi Lambda yang dimaksudkan daripada memberikan izin eksekusi Lambda yang luas. Prinsip hak istimewa terkecil ini memastikan bahwa gateway, atau penelepon lain yang menggunakan peran yang sama, tidak dapat secara tidak sengaja memanggil fungsi Lambda yang tidak diinginkan, sehingga mengurangi permukaan serangan keamanan Anda dan mempertahankan kontrol akses yang ketat di lingkungan Anda. AWS
Penyedia identitas pribadi
AgentCore sekarang mendukung koneksi ke penyedia identitas OAuth pribadi untuk otorisasi JWT masuk dan penyedia kredensi OAuth keluar. Ini memungkinkan Anda untuk menggunakan hosting sendiri IdPs seperti Keycloak, PingFederate, atau server OIDC-compliant otorisasi lainnya yang berjalan di dalam VPC Anda tanpa memaparkannya ke internet publik.
Untuk petunjuk konfigurasi terperinci, lihat Connect to private identity providers di VPC Anda.
Atau, Anda dapat menggunakan fungsi Lambda pencegat untuk otentikasi masuk dan mengganti header Otorisasi di Lambda pencegat untuk digunakan dengan autentikasi keluar:
Pertimbangan dan batasan
-
Otorisasi masuk diperlukan: Target gateway yang dikonfigurasi dengan
privateEndpointtidak dapat digunakanNO_AUTHsebagai jenis otorisasi masuk kecuali Lambda pencegat dikonfigurasi di gateway.
Untuk batasan tambahan terkait konektivitas lintas akun dan konfigurasi TTL DNS, lihat Batasan dan pertimbangan di Connect to private resources di VPC menggunakan VPC Lattice.