View a markdown version of this page

Konfigurasikan Amazon Bedrock AgentCore Gateway VPC Egress untuk Target Gateway - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan Amazon Bedrock AgentCore Gateway VPC Egress untuk Target Gateway

Layanan AgentCore Gateway menyediakan manajemen lalu lintas 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 belajar tentang jenis target gateway yang didukung (Lambda, API Gateway, dan server MCP melalui AgentCore Runtime), persyaratan konfigurasi mereka, dan metode otentikasi yang didukung untuk setiap jenis target. Panduan ini mencakup pertimbangan keamanan, mekanisme perutean, dan praktik terbaik yang diperlukan untuk mengaktifkan aliran 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 penyebaran 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 dihosting di AgentCore, atau dihosting di AgentCore Runtime atau Gateway. Kami membahas keduanya di bawah ini.

MCP tidak di-host 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 privateEndpoint target gateway Anda untuk merutekan lalu lintas secara pribadi ke server MCP Anda tanpa mengeksposnya ke internet publik.

Contoh berikut membuat target server MCP pribadi menggunakan Lattice yang dikelola:

{ "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 a. 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 Menghubun gkan ke sumber daya pribadi 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 China). Untuk informasi selengkapnya, lihat bagian Konek tivitas di FAQ Amazon VPC. Untuk petunjuk penyiapan terperinci tentang menghubungkan AgentCore Runtime ke VPC Anda, lihat Konfigurasi AgentCore Runtime Amazon Bedrock dan alat untuk VPC

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 kredenSIAL 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 terbaik keamanan, konfigurasikan otentikasi terbatas dan izin otorisasi 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:

Diagram arsitektur yang menunjukkan AgentCore Gateway tidak dapat terhubung ke titik akhir Private Link.

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 lompatan jaringan tambahan yang tidak perlu. Gunakan titik akhir AgentCore Runtime langsung sebagai gantinya, yang lalu lintas tetap berada di AWS tulang punggung.

Target API terbuka

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 AgentCore Gateway 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 konfigurasi. privateEndpoint AgentCore Gateway menggunakan Amazon VPC Lattice untuk membangun konektivitas pribadi ke titik akhir Anda tanpa mengeksposnya ke internet publik.

Contoh berikut membuat target OpenAPI pribadi menggunakan Lattice yang dikelola:

{ "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 a. routingDomain Untuk informasi selengkapnya, lihat Merutekan lalu lintas melalui domain perantara.

Jika titik akhir 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 Menghubun gkan ke sumber daya pribadi 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 berbeda, AWS buka kasus Dukungan untuk meminta dukungan. privateEndpointOverrides

Target Smithy

Konfigurasi private endpoint (privateEndpoint) saat ini tidak didukung untuk target Smithy. Jika target Smithy Anda memerlukan konektivitas pribadi, buka kasus AWS Dukungan 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 Gerbang REST API yang dikonfigurasi dengan titik akhir regional saja. 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 China). Gateway API kemudian dapat berkomunikasi dengan sumber daya menggunakan VPC Link, menciptakan jalur aman bagi AgentCore Gateway untuk mencapai layanan internal sambil mempertahankan isolasi jaringan.

Untuk menerapkan praktik terbaik keamanan, konfigurasikan Gateway API 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 otentikasi 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 Target API Terbuka untuk itu. Batasi izin peran eksekusi AgentCore Gateway untuk memanggil hanya titik akhir Gateway API tertentu yang diperlukan, alih-alih memberikan akses Gateway API yang luas, memastikan bahwa gateway tidak dapat berinteraksi dengan sumber daya API yang tidak diinginkan dan mempertahankan prinsip hak istimewa terkecil di seluruh arsitektur Anda.

Tahapan API REST API Gateway Amazon sebagai target

Izin untuk integrasi API Gateway menggunakan IAM Auth

Kebijakan Sumber Daya Gateway API Terkunci ke AgentCore Gateway

Kebijakan sumber daya berikut membatasi akses Gateway API 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 memanggil 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 Gateway API pribadi Anda sebagai skema OpenAPI dan menggunakan target API Terbuka dengan skema itu, dikonfigurasi dengan aprivateEndpoint. Setel routingDomain ke nama DNS titik akhir VPC (VPCE) API Gateway 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 Mengh ubungkan ke sumber daya pribadi di VPC Anda menggunakan VPC Lattice.

Lambda

AgentCore Gateway mendukung target Lambda sebagai salah satu tipe targetnya, memungkinkan pemanggilan tanpa batas fungsi Lambda yang dapat berkomunikasi dengan sumber daya dalam VPC Anda. Fungsi 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, secara khusus membatasi untuk memanggil hanya 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 penghubung ke penyedia identitas OAuth pribadi untuk otorisasi JWT masuk dan penyedia kredensia OAuth keluar. Ini memungkinkan Anda untuk menggunakan hosting sendiri IdPs seperti Keycloak, PingFederate, atau server OIDC-compliant otorisasi lain yang berjalan di dalam VPC Anda tanpa mengeksposnya ke internet publik.

Untuk petunjuk konfigurasi terperinci, lihat Mengh ubungkan ke penyedia identitas pribadi di VPC Anda.

Atau, Anda dapat menggunakan fungsi pencegat Lambda untuk otentikasi masuk dan mengganti header Otorisasi di pencegat Lambda untuk digunakan dengan autentikasi keluar:

Pertimbangan dan batasan

  • Diperlukan otorisasi masuk: Target gateway yang dikonfigurasi dengan privateEndpoint tidak dapat digunakan NO_AUTH sebagai jenis otorisasi masuk kecuali pencegat Lambda dikonfigurasi pada gateway.

Untuk batasan tambahan terkait konektivitas lintas akun dan konfigurasi TTL DNS, lihat Batasan dan pertimbangan di Menghubun gkan ke sumber daya pribadi di VPC menggunakan VPC Lattice.