View a markdown version of this page

Verbindung zu privat gehosteten Tools herstellen - AWS DevOps Agentin

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verbindung zu privat gehosteten Tools herstellen

Überblick über private Verbindungen

AWS DevOps Der Agent kann mit benutzerdefinierten MCP-Tools (Model Context Protocol) und anderen Integrationen erweitert werden, die dem Agenten Zugriff auf interne Systeme wie private Paketregistrierungen, selbst gehostete Observability-Plattformen, interne Dokumentations-APIs und Quellcodeverwaltungsinstanzen ermöglichen (siehe:). Konfiguration von Integrationen und Wissen Diese Dienste werden häufig in einer Amazon Virtual Private Cloud (Amazon VPC) mit eingeschränktem oder keinem öffentlichen Internetzugang ausgeführt, was bedeutet, dass der AWS DevOps Agent sie standardmäßig nicht erreichen kann.

Private Verbindungen für AWS DevOps Agenten ermöglichen es Ihnen, Ihren Agent Space sicher mit Diensten zu verbinden, die in Ihrer VPC ausgeführt werden, ohne sie dem öffentlichen Internet auszusetzen. Private Verbindungen funktionieren mit jeder Integration, die einen privaten Endpunkt erreichen muss, einschließlich MCP-Servern, selbst gehosteten Grafana- oder Splunk-Instances und Quellcodeverwaltungssystemen wie Enterprise Server und. GitHub GitLab Self-Managed

Anmerkung

Wenn Ihre privat gehosteten Tools von Ihrer VPC aus ausgehende Anfragen an den AWS DevOps Agenten stellen, kann dieser Datenverkehr auch mithilfe eines VPC-Endpunkts gesichert werden, sodass er im Netzwerk bleibt. AWS Dies kann beispielsweise mit Tools verwendet werden, die den DevOps Agenten über Webhook-Ereignisse auslösen (siehe:). DevOps Agent über Webhook aufrufen Weitere Informationen finden Sie unter VPC-Endpunkte (AWS PrivateLink).

Wie funktionieren private Verbindungen

Eine private Verbindung erstellt einen sicheren Netzwerkpfad zwischen dem AWS DevOps Agenten und einer Zielressource in Ihrer VPC. Unter der Haube verwendet der AWS DevOps Agent Amazon VPC Lattice, um diesen sicheren privaten Konnektivitätspfad herzustellen. VPC Lattice ist ein Anwendungsnetzwerkservice, mit dem Sie die Kommunikation zwischen Anwendungen über VPCs, Konten und Rechenarten hinweg verbinden, sichern und überwachen können, ohne die zugrunde liegende Netzwerkinfrastruktur verwalten zu müssen.

Wenn Sie eine private Verbindung herstellen, passiert Folgendes:

  • Sie stellen die VPC, Subnetze und (optional) Sicherheitsgruppen bereit, die über Netzwerkkonnektivität zu Ihrem Zieldienst verfügen.

  • AWS DevOps Der Agent erstellt ein vom Dienst verwaltetes Ressourcen-Gateway und stellt seine Elastic Network Interfaces (ENIs) in den von Ihnen angegebenen Subnetzen bereit.

  • Der Agent verwendet das Resource Gateway, um den Datenverkehr über den privaten Netzwerkpfad an die IP-Adresse oder den DNS-Namen Ihres Zieldienstes weiterzuleiten.

Das Ressourcen-Gateway wird vollständig vom AWS DevOps Agenten verwaltet und erscheint als schreibgeschützte Ressource in Ihrem Konto (benanntaidevops-{your-private-connection-name}). Sie müssen es nicht konfigurieren oder verwalten. Die einzigen Ressourcen, die in Ihrer VPC erstellt werden, sind ENIs in den von Ihnen angegebenen Subnetzen. Diese ENIs dienen als Einstiegspunkt für den privaten Verkehr und werden vollständig vom Dienst verwaltet. Sie akzeptieren keine eingehenden Verbindungen aus dem Internet, und Sie behalten die volle Kontrolle über ihren Datenverkehr durch Ihre eigenen Sicherheitsgruppen.

Sicherheit

Private Verbindungen sind mit mehreren Sicherheitsebenen ausgestattet:

  • Kein Zugriff auf das öffentliche Internet — Der gesamte Datenverkehr zwischen AWS DevOps Agent und Ihrem Zieldienst bleibt im AWS Netzwerk. Ihr Dienst benötigt niemals eine öffentliche IP-Adresse oder ein Internet-Gateway.

  • Service-controlled Ressourcen-Gateway — Das vom Dienst verwaltete Ressourcen-Gateway ist in Ihrem Konto schreibgeschützt. Es kann nur vom AWS DevOps Agenten verwendet werden, und kein anderer Dienst oder Principal kann den Datenverkehr durch es leiten. Sie können dies in AWS CloudTrail Protokollen überprüfen, die alle VPC-Lattice-API-Aufrufe aufzeichnen.

  • Ihre Sicherheitsgruppen, Ihre Regeln — Sie kontrollieren den eingehenden und ausgehenden Verkehr zu den ENIs über Sicherheitsgruppen, die Sie besitzen und verwalten. Wenn Sie keine Sicherheitsgruppen angeben, erstellt der AWS DevOps Agent eine Standardsicherheitsgruppe, die auf die von Ihnen definierten Ports beschränkt ist.

  • Service-linked Rollen mit den geringsten Rechten — AWS DevOps Der Agent verwendet eine serviceverknüpfte Rolle, um nur die erforderlichen VPC Lattice- und Amazon EC2-Ressourcen zu erstellen. Diese Rolle ist auf Ressourcen beschränkt, die mit Ihrem Konto gekennzeichnet sind, AWSAIDevOpsManaged und kann nicht auf andere Ressourcen in Ihrem Konto zugreifen.

Anmerkung

Wenn Ihre Organisation über Service Control Policies (SCPs) verfügt, die die Aktionen der VPC-Lattice-API einschränken, wird das Service-Managed Resource Gateway mithilfe einer serviceverknüpften Rolle erstellt. Stellen Sie sicher, dass Ihre SCPs die erforderlichen Aktionen für die serviceverknüpfte Rolle zulassen.

Architektur

Das folgende Diagramm zeigt den Netzwerkpfad für eine private Verbindung.

Die Netzwerkarchitektur zeigt, dass der AWS DevOps Agent eine Verbindung über VPC Lattice herstellt.

In dieser Architektur:

  • AWS DevOps Der Agent initiiert eine Anfrage an Ihren Zieldienst.

  • Amazon VPC Lattice leitet die Anfrage über das vom Service verwaltete Ressourcen-Gateway in Ihrer VPC weiter. Informationen zu erweiterten Setups, die Ihre eigenen VPC-Lattice-Ressourcen verwenden, finden Sie unter Erweiterte Einrichtung mithilfe vorhandener VPC Lattice-Ressourcen.

  • Ein ENI in Ihrer VPC empfängt den Datenverkehr und leitet ihn an die IP-Adresse oder den DNS-Namen Ihres Zieldienstes weiter.

  • Ihre Sicherheitsgruppen regeln, welcher Datenverkehr über die ENIs zulässig ist.

  • Aus Sicht Ihres Zieldienstes stammt die Anfrage von privaten IP-Adressen von ENIs in Ihrer VPC.

Konfiguration von Firewallregeln für private Verbindungen

Bei privaten Verbindungen stammt der Datenverkehr vom AWS DevOps Agenten zu Ihrem privat gehosteten Tool von den Resource Gateway-ENIs in den Subnetzen, die Sie bei der Erstellung der privaten Verbindung angegeben haben. Dies unterscheidet sich von öffentlich gehosteten Tool-Verbindungen, bei denen die auf der Sicherheitsseite aufgeführten statischen IP-Adressen verwendet werden. AWS DevOps Agentensicherheit

Wichtig

Die auf der AWS DevOps Agentensicherheit Sicherheitsseite veröffentlichten statischen IP-Adressen gelten nicht für private Verbindungen. Verwenden Sie diese IP-Adressen nicht in Ihren Firewallregeln für privat gehostete Tools.

Gehen Sie wie folgt vor, um zu ermöglichen, dass AWS DevOps Agenten-Traffic Ihr privat gehostetes Tool erreicht:

  1. Identifizieren Sie die Subnetze, die Sie beim Erstellen der privaten Verbindung angegeben haben.

  2. Fügen Sie der Sicherheitsgruppe Ihres Zieltools (z. B. der Sicherheitsgruppe auf Ihrem Grafana-ALB) eine Regel für eingehenden Datenverkehr hinzu, indem Sie eine der folgenden Methoden verwenden:

    • Referenzierung von Sicherheitsgruppen (empfohlen) — Erlauben Sie eingehenden Datenverkehr von der Sicherheitsgruppe, die den ENIs für private Verbindungen zugeordnet ist. Wenn Sie bei der Erstellung einer privaten Verbindung eine Sicherheitsgruppe angegeben haben, verwenden Sie diese Sicherheitsgruppen-ID als Quelle. Beispiel: Erlaube TCP 443 vonsg-0123456789abcdef0.

    • Subnet CIDR Allowlisting — Lässt eingehenden Datenverkehr aus den CIDR-Blöcken der Subnetze zu, die Sie bei der Erstellung einer privaten Verbindung angegeben haben. Wenn Ihr Subnetz-CIDR beispielsweise lautet: Zulassen Sie TCP 443 von. 10.0.1.0/24 10.0.1.0/24

Um Ihre Subnetz-CIDR-Blöcke zu finden, führen Sie den folgenden Befehl mit den Subnetz-IDs aus, die Sie beim Erstellen der privaten Verbindung angegeben haben:

aws ec2 describe-subnets \ --subnet-ids subnet-0123456789abcdef0 subnet-0123456789abcdef1 \ --query 'Subnets[*].[SubnetId,CidrBlock]' \ --output table
Anmerkung

Die ENI-IP-Adressen bleiben für die gesamte Lebensdauer Ihrer privaten Verbindung stabil. Wenn Sie eine private Verbindung löschen und neu erstellen, können sich die ENI-IP-Adressen ändern. Durch die Verwendung von Subnetz-CIDR-Blöcken oder der Referenzierung von Sicherheitsgruppen müssen die Regeln nach der Wiederherstellung nicht aktualisiert werden.

Erstellen Sie eine private Verbindung

Sie können eine private Verbindung mit der AWS Management Console oder der AWS CLI erstellen.

Anmerkung

Die folgenden Availability Zones werden von VPC Lattice nicht unterstützt:use1-az3,,usw1-az2,apne1-az3,apne2-az2,, euc1-az2euw1-az4,cac1-az3. ilc1-az2

Voraussetzungen

Bevor Sie eine private Verbindung herstellen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Ein aktiver Agentenbereich — Sie benötigen einen vorhandenen Agentenbereich in Ihrem Konto. Falls Sie noch keines haben, beachten Sie die Informationen unter Erste Schritte mit AWS DevOps Agent.

  • Ein privat erreichbarer Zieldienst — Ihr MCP-Server, Ihr Remote-A2A-Agent, Ihre Observability-Plattform oder ein anderer Dienst muss von der VPC, auf der das Ressourcen-Gateway bereitgestellt wird, unter einer bekannten privaten IP-Adresse oder einem DNS-Namen erreichbar sein. Der Dienst kann in derselben VPC, einer Peering-VPC oder vor Ort ausgeführt werden, sofern er von den Resource Gateway-Subnetzen aus routbar ist. Der Dienst muss HTTPS-Verkehr mit einer TLS-Version von mindestens 1.2 an einem Port bereitstellen, den Sie beim Erstellen der Verbindung angeben.

  • Subnetze in Ihrer VPC — Identifizieren Sie 1—20 Subnetze, in denen die ENIs erstellt werden. Wir empfehlen, Subnetze in mehreren Availability Zones auszuwählen, um eine hohe Verfügbarkeit zu gewährleisten. Diese Subnetze müssen über eine Netzwerkkonnektivität zu Ihrem Zieldienst verfügen. Ein Subnetz pro Availability Zone kann von VPC Lattice verwendet werden.

  • (Optional) Sicherheitsgruppen — Wenn Sie den Datenverkehr mit bestimmten Regeln steuern möchten, bereiten Sie bis zu fünf Sicherheitsgruppen-IDs vor, die an die ENIs angehängt werden sollen. Wenn Sie Sicherheitsgruppen weglassen, erstellt der AWS DevOps Agent eine Standard-Sicherheitsgruppe.

Private Verbindungen sind Ressourcen auf Kontoebene. Nachdem Sie eine private Verbindung erstellt haben, können Sie sie für mehrere Integrationen und Agent Spaces wiederverwenden, die denselben Host erreichen müssen.

Anmerkung

Im dienstverwalteten Modus erstellt der AWS DevOps Agent das Ressourcen-Gateway in der von Ihnen angegebenen VPC und den Subnetzen, und diese VPC gehört zu demselben Konto wie die private Verbindung. AWS DevOps Der Agent kann kein Ressourcen-Gateway in einem anderen Konto erstellen. Wenn Ihr Zieldienst in einem anderen AWS Konto oder lokal ausgeführt wird, wählen Sie eine der folgenden Optionen:

  • Weisen Sie der VPC des Gateways über VPC-Peering, AWS Transit Gateway oder eine VPN-Verbindung (Virtual Private Network) eine Route zum Ziel zu. Das Gateway verbleibt in diesem Konto und der Datenverkehr erreicht das Ziel über diese Verbindung. Die Route muss in der VPC des Gateways existieren, nicht nur in dem Konto, auf dem das Ziel läuft.

  • Verwenden Sie den selbstverwalteten Modus. Erstellen Sie das Ressourcen-Gateway und die Ressourcenkonfiguration in dem Konto, auf dem das Ziel ausgeführt wird, geben Sie die Ressourcenkonfiguration über AWS Resource Access Manager (AWS RAM) für dieses Konto frei, akzeptieren Sie die Freigabe und stellen Sie dann die private Verbindung mit dem ARN dieser Ressourcenkonfiguration her. Weitere Informationen finden Sie unter Erweitertes Setup mithilfe vorhandener VPC-Lattice-Ressourcen.

Erstellen Sie mithilfe der Konsole eine private Verbindung

  1. Öffnen Sie die AWS DevOps Agent-Konsole.

  2. Wählen Sie im Navigationsbereich Capability Providers und anschließend Private Verbindungen aus.

  3. Wählen Sie Neue Verbindung erstellen aus.

  4. Geben Sie unter Name einen beschreibenden Namen für die Verbindung ein, z. B. my-mcp-tool-connection

  5. Wählen Sie für VPC die VPC aus, in der die Ressourcen-Gateway-ENIs bereitgestellt werden.

  6. Wählen Sie für Subnetze ein oder mehrere Subnetze aus (bis zu 20). Wir empfehlen, Subnetze in mindestens zwei Availability Zones auszuwählen.

  7. Wählen Sie als IP-Adresstyp den IP-Adresstyp Ihres Zieldienstes aus (IPv4IPv6, oderDualStack).

  8. (Optional) Wenn Sie für Anzahl der IPv4-Adressen IPv4 oder Dualstack als IP-Adresstyp ausgewählt haben, können Sie die Anzahl der IPv4-Adressen pro ENI für Ihr Ressourcen-Gateway eingeben. Die Standardeinstellung ist 16 IPv4-Adressen pro ENI.

  9. (Optional) Wählen Sie für Sicherheitsgruppen vorhandene Sicherheitsgruppen (bis zu 5) aus, um einzuschränken, welcher Datenverkehr Ihren Zieldienst erreichen darf. Wenn Sie keine auswählen, wird eine Standardsicherheitsgruppe erstellt.

  10. (Optional) Geben Sie für Portbereiche die TCP-Ports an, auf denen Ihre Zielanwendung lauscht (z. B. 443 oder8080-8090). Sie können bis zu 11 Portbereiche angeben. Wenn Sie keine Portbereiche angeben, erlaubt die Verbindung 443 nur Port. Die Verbindung leitet den Datenverkehr an jeden Port außerhalb der konfigurierten Bereiche ohne Fehler ab. Wenn Ihre Endpunkt-URL einen nicht standardmäßigen Port enthält (z. B.https://tools.example.com:8089/mcp), geben Sie diesen Port hier an. Sie können die Portbereiche nicht mehr ändern, nachdem Sie die Verbindung hergestellt haben. Um einen Port hinzuzufügen, löschen Sie die Verbindung und erstellen Sie sie erneut.

  11. Geben Sie als Hostadresse die IP-Adresse oder den DNS-Namen Ihres Zieldienstes ein (z. B. mcp.internal.example.com oder10.0.1.50). Der Dienst muss von der ausgewählten VPC aus erreichbar sein. Wenn Sie einen DNS-Namen eingeben, hängt die Art der Auflösung davon ab, welchen DNS-Auflösungsmodus Sie im nächsten Schritt wählen.

  12. Wählen Sie für die DNS-Auflösung aus, wie der DNS-Name der Hostadresse aufgelöst wird:

    • Öffentlich (Standard) — Der DNS-Name wird mithilfe von öffentlichem DNS aufgelöst. Wenn Sie einen DNS-Namen als Hostadresse eingeben, muss dieser öffentlich auflösbar sein. Verwenden Sie diesen Modus, wenn Ihr Hostname einen öffentlichen DNS-Eintrag hat (der auf eine private IP-Adresse verweisen kann). Wenn Sie eine IP-Adresse als Hostadresse angeben, hat diese Einstellung keine Auswirkung.

    • In VPC — Der DNS-Name wird in Ihrem VPC-Kontext aufgelöst, sodass Hostnamen, die nur in einer privaten gehosteten Zone existieren, ohne dass ein öffentlicher DNS-Eintrag vorhanden ist, korrekt aufgelöst werden. Verwenden Sie diesen Modus, wenn der Hostname Ihres Zieldienstes für Ihre VPC privat ist.

  13. (Optional) Führen Sie diesen Schritt aus, wenn eine private Zertifizierungsstelle (CA) die TLS-Zertifikate für Ihre Hostadresse ausgestellt hat. Geben Sie für den öffentlichen Schlüssel des Zertifikats die vollständige PEM-encoded Zertifikatskette für den Zieldienst ein. Listen Sie die Zertifikate der Reihe nach auf: zuerst das Leaf- (Server-) Zertifikat, dann alle Zwischenzertifikate der Zertifizierungsstelle, dann das Root-CA-Zertifikat. Wenn die Kette unvollständig ist, schlägt die Verbindung fehl. AWS DevOps Der Agent überprüft dann die TLS-Verbindung und vertraut ihr.

  14. Wählen Sie Create Connection (Verbindung erstellen) aus.

Der Verbindungsstatus ändert sich in Create in progress. Dieser Vorgang kann bis zu 10 Minuten dauern. Wenn sich der Status in Aktiv ändert, ist der Netzwerkpfad bereit.

Wenn sich der Status in Erstellen fehlgeschlagen ändert, überprüfen Sie Folgendes:

  • Die von Ihnen angegebenen Subnetze verfügen über verfügbare IP-Adressen.

  • Ihr Konto hat die VPC Lattice-Dienstkontingente nicht erreicht.

  • Keine restriktiven IAM-Richtlinien verhindern, dass die dienstgebundene Rolle Ressourcen erstellt.

Anmerkung

Diese Schritte können auch ausgeführt werden, indem Sie Create a new private connection bei der Registrierung eines Funktionsanbieters eine Auswahl treffen. Weitere Informationen finden Sie unter Verwenden einer privaten Verbindung mit einem Capability Provider.

Erstellen Sie eine private Verbindung mit dem AWS CLI

Führen Sie den folgenden Befehl aus, um eine private Verbindung herzustellen. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen.

aws devops-agent create-private-connection \ --name my-mcp-tool-connection \ --mode '{ "serviceManaged": { "hostAddress": "mcp.internal.example.com", "vpcId": "vpc-0123456789abcdef0", "subnetIds": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1" ], "securityGroupIds": [ "sg-0123456789abcdef0" ], "portRanges": ["443"], "dnsResolution": "PUBLIC" } }'

Das dnsResolution Feld steuert, wie der hostAddress DNS-Name aufgelöst wird. Gültige Werte sind PUBLIC (die Standardeinstellung, wenn sie weggelassen wird) undIN_VPC. Verwenden Sie diese Option, IN_VPC wenn Ihre Hostadresse nur innerhalb Ihrer VPC aufgelöst wird (z. B. ein Name in einer privat gehosteten Zone). Wenn Sie eine IP-Adresse für angebenhostAddress, hat dieses Feld keine Auswirkung.

Die Antwort enthält den Verbindungsnamen und den StatusCREATE_IN_PROGRESS:

{ "name": "my-mcp-tool-connection", "status": "CREATE_IN_PROGRESS", "resourceGatewayId": "rgw-0123456789abcdef0", "hostAddress": "mcp.internal.example.com", "vpcId": "vpc-0123456789abcdef0" }

Verwenden Sie den folgenden describe-private-connection Befehl, um den Verbindungsstatus zu überprüfen:

aws devops-agent describe-private-connection \ --name my-mcp-tool-connection

Wenn der Status lautetACTIVE, ist Ihre private Verbindung einsatzbereit.

Verwenden Sie eine private Verbindung mit einem Capability Provider

Um eine private Verbindung zu verwenden, können Sie bei der Registrierung eines Funktionsanbieters eine Verknüpfung zu dieser Verbindung herstellen. Zu den unterstützten Funktionen, die mit privaten Verbindungen verwendet werden könnenGitHub, gehören: GitLabMCP Server,Remote Agent, undGrafana. Sie können diesen Schritt mit der AWS Management Console oder der AWS CLI ausführen.

Anmerkung

Bei der Registrierung eines Capability Providers überprüft der AWS DevOps Agent, ob der Endpunkt erreichbar ist und reagiert. Stellen Sie sicher, dass Ihr Zieldienst läuft und Verbindungen akzeptiert, bevor Sie die Registrierung abschließen.

Verwenden Sie über die Konsole eine private Verbindung zu einem Capability Provider

In der AWS DevOps Agentenkonsole können private Verbindungen bei der Registrierung mit einer Funktion verknüpft werden, indem Sie die Option „Mit einem Endpunkt über eine private Verbindung verbinden“ auswählen.

Das Kontrollkästchen Verbindung zum Endpunkt über eine private Verbindung herstellen ist aktiviert.
  1. Öffnen Sie die AWS DevOps Agentenkonsole und navigieren Sie zu Ihrem Agentenbereich.

  2. Wählen Sie im Abschnitt Capability Providers die Option Registrierung aus.

  3. Wählen Sie Registrieren für den Funktionstyp aus, den Sie mit der privaten Verbindung verwenden möchten.

  4. Geben Sie in der Ansicht mit den Registrierungsdetails die Endpunkt-URL ein, zu der Sie über die private Verbindung eine Verbindung herstellen möchten (z. B.https://mcp.internal.example.com).

  5. Wählen Sie Über eine private Verbindung mit Endpunkt verbinden aus.

  6. Wählen Sie entweder eine bestehende private Verbindung aus, die der Endpunkt-URL entspricht, zu der Sie eine Verbindung herstellen möchten, oder wählen Sie Neue private Verbindung erstellen, um eine zu erstellen.

  7. Schließen Sie den Registrierungsprozess für den Capability Provider ab.

Anmerkung

Wenn Sie eine private Verbindung für einen Capability Provider auswählen, der die OAuth-Authentifizierung (Client Credentials oder 3LO) verwendet, gilt die private Verbindung sowohl für den Capability Provider-Endpunkt als auch für den Token-Exchange-Endpunkt. Stellen Sie sicher, dass die private Verbindung mit einer Hostadresse konfiguriert ist, die den Datenverkehr an beide Endpunkte weiterleiten kann.

Hostadresse und Endpunkt-URL

Eine private Verbindung und ein Capability Provider erhalten jeweils eine Adresse. Die beiden sind nicht austauschbar:

  • Die Hostadresse der privaten Verbindung ist das Ziel, zu dem die Verbindung weitergeleitet wird. Es kann sich um eine IP-Adresse oder einen DNS-Namen handeln. Wenn es sich um einen DNS-Namen handelt, bestimmt der DNS-Auflösungsmodus der Verbindung, wie die Verbindung aufgelöst wird.

  • Die Endpunkt-URL des Capability Providers ist die URL, die der AWS DevOps Agent anfordert, einschließlich Schema, Port und Pfad.

Die beiden Werte müssen nicht identisch sein, sodass ein Hostname, der nur in Ihrer VPC aufgelöst wird, nicht in der Hostadresse erscheinen muss. Wenn der Hostname Ihres Dienstes für Ihre VPC privat ist, haben Sie zwei Möglichkeiten:

  • Stellen Sie die DNS-Auflösung der Verbindung auf In VPC ein und verwenden Sie den Hostnamen sowohl für die Hostadresse als auch für die Endpunkt-URL.

  • Stellen Sie die Hostadresse auf die private IP-Adresse des Ziels ein und behalten Sie den Hostnamen in der Endpunkt-URL bei.

Sie wählen den DNS-Auflösungsmodus, wenn Sie die Verbindung herstellen. Entscheiden Sie also zuerst, welche Option Sie verwenden möchten. Informationen zu den Symptomen, die eine Nichtübereinstimmung zwischen diesen beiden Werten hervorruft, finden Sie unter Eine DNS-Hostadresse wird nicht aufgelöst oder der Datenverkehr erreicht die falsche Stelle.

Routing des Endpunkts und des OAuth-Token-Austauschs über verschiedene private Verbindungen

Bei Anbietern von OAuth-based MCP-Servern und Remote-Agent-Funktionen sendet der Agent Anfragen an zwei verschiedene Endpunkte: die Ziel-URL (den MCP-Server oder den Remote-Agent-Endpunkt, den Sie registrieren) und die Exchange-URL (der OAuth-Token-Austauschendpunkt). Standardmäßig wird eine einzelne privateConnectionName für beide verwendet. Wenn diese beiden Endpunkte über unterschiedliche private Netzwerkpfade erreichbar sind, können Sie jeden über eine eigene private Verbindung weiterleiten, indem Sie exchangeUrlPrivateConnectionName stattdessen targetUrlPrivateConnectionName und verwenden:

  • targetUrlPrivateConnectionName— die private Verbindung, die verwendet wird, um den MCP-Server oder den Remote-Agent-Endpunkt zu erreichen (Ziel-URL).

  • exchangeUrlPrivateConnectionName— die private Verbindung, die verwendet wird, um den OAuth-Token-Austauschendpunkt zu erreichen (Exchange-URL).

Sie können eines oder beide angeben. Wenn Sie nur einen Endpunkt festlegen, wird der andere Endpunkt über das öffentliche Internet erreicht (er fällt nicht auf die andere private Verbindung zurück).

Wichtig

targetUrlPrivateConnectionNameund exchangeUrlPrivateConnectionName kann nicht mit privateConnectionName derselben Anfrage kombiniert werden. Verwenden Sie entweder den einzelnen Namen privateConnectionName (gilt für beide Endpunkte) oder den Namen pro Endpunkt — nicht beide.

Im folgenden Beispiel wird ein MCP-Server mit OAuth-Client-Anmeldeinformationen registriert, der seinen Endpunkt und seinen Token-Exchange-Endpunkt über zwei separate private Verbindungen erreicht:

aws devops-agent register-service \ --service mcpserver \ --target-url-private-connection-name my-target-connection \ --exchange-url-private-connection-name my-exchange-connection \ --service-details '{ "mcpserver": { "name": "my-mcp-tool", "endpoint": "https://mcp.internal.example.com", "authorizationConfig": { "oAuthClientCredentials": { "clientName": "MyOAuthClient", "clientId": "client-id", "clientSecret": "secret-value", "exchangeUrl": "https://auth.internal.example.com/token" } } } }' \ --region us-east-1

Verwenden Sie eine private Verbindung mit einem Capability Provider unter Verwendung der AWS CLI

Sie können Funktionen mit einer privaten Verbindung registrieren, indem Sie das private-connection-name Argument angeben. Unten finden Sie ein Beispiel für die Registrierung eines MCP-Servers mit API-Schlüsselautorisierung über die my-mcp-tool-connection private Verbindung. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen.

aws devops-agent register-service \ --service mcpserver \ --private-connection-name my-mcp-tool-connection \ --service-details '{ "mcpserver": { "name": "my-mcp-tool", "endpoint": "https://mcp.internal.example.com", "authorizationConfig": { "apiKey": { "apiKeyName": "api-key", "apiKeyValue": "secret-value", "apiKeyHeader": "x-api-key" } } } }' \ --region us-east-1

Überprüfen Sie eine private Verbindung

Nachdem die private Verbindung den Status Aktiv erreicht hat und von einem Funktionsanbieter genutzt wurde, stellen Sie sicher, dass der AWS DevOps Agent Ihren Zieldienst erreichen kann:

  1. Öffnen Sie die AWS DevOps Agentenkonsole und navigieren Sie zu Ihrem Agentenbereich.

  2. Starten Sie eine neue Chat-Sitzung.

  3. Rufen Sie einen Befehl auf, der die von Ihrer privaten Verbindung unterstützte Integration verwendet. Wenn Ihr MCP-Tool beispielsweise Zugriff auf eine interne Wissensdatenbank bietet, stellen Sie dem Agenten eine Frage, für die diese Wissensdatenbank erforderlich ist.

  4. Vergewissern Sie sich, dass der Agent Ergebnisse aus dem privaten Service zurückgibt.

Wenn die Verbindung fehlschlägt, überprüfen Sie Folgendes:

  • VPC-Lattice-Grenzwerte — Stellen Sie sicher, dass Sie kein Resource Gateway oder andere VPC-Lattice-Kontingentlimits erreicht haben

  • Sicherheitsgruppenregeln — Stellen Sie sicher, dass die an die ENIs angeschlossenen Sicherheitsgruppen ausgehenden Datenverkehr auf dem Port zulassen, auf dem Ihr Dienst lauscht. Stellen Sie außerdem sicher, dass die Sicherheitsgruppe Ihres Dienstes eingehenden Verkehr auf dem Zielport zulässt. Der Datenverkehr kommt von den IP-Adressen der VPC Lattice-Datenebene innerhalb Ihres VPC-CIDR-Bereichs an. Sie können die Sicherheitsgruppenreferenzierung verwenden (wobei die ENI-Sicherheitsgruppe als Quelle zulässig ist) oder eingehenden Datenverkehr vom VPC-CIDR zulassen.

  • Subnetzkonnektivität — Stellen Sie sicher, dass die ausgewählten Subnetze den Datenverkehr an Ihren Dienst weiterleiten können. Wenn der Dienst in einem anderen Subnetz ausgeführt wird, stellen Sie sicher, dass die Routing-Tabellen den Verkehr zwischen ihnen zulassen.

  • Dienstverfügbarkeit — Vergewissern Sie sich, dass Ihr Dienst läuft und Verbindungen auf dem erwarteten Port akzeptiert.

  • Nicht unterstützte Availability Zone — Stellen Sie sicher, dass sich Ihre Subnetze in unterstützten Availability Zones befinden. Führen Sie das aws ec2 describe-subnets --subnet-ids <your-subnet-ids> --query 'Subnets[*].[SubnetId,AvailabilityZoneId]' Programm aus und vergleichen Sie es mit den oben aufgeführten nicht unterstützten Availability Zones.

Löschen Sie eine private Verbindung

Sie können ungenutzte private Verbindungen mithilfe der AWS Managementkonsole oder der AWS CLI löschen.

Löschen Sie eine private Verbindung mithilfe der Konsole

  1. Öffnen Sie die AWS DevOps Agent-Konsole.

  2. Wählen Sie im Navigationsbereich Capability Providers und anschließend Private Verbindungen aus.

  3. Wählen Sie das Aktionsmenü für die private Verbindung, die Sie löschen möchten, und wählen Sie Entfernen aus.

Die private Verbindung wird mit dem Status „Verbindung wird entfernt“ angezeigt, während der AWS DevOps Agent das verwaltete Ressourcen-Gateway und die ENIs aus Ihrer VPC entfernt. Nach Abschluss des Löschvorgangs erscheint die Verbindung nicht mehr in Ihrer Liste der privaten Verbindungen.

Löschen Sie eine private Verbindung mit dem AWS CLI

aws devops-agent delete-private-connection \ --name my-mcp-tool-connection

Die Antwort gibt den Status von zurückDELETE_IN_PROGRESS. AWS DevOps Der Agent entfernt das verwaltete Ressourcen-Gateway und die ENIs aus Ihrer VPC. Nach Abschluss des Löschvorgangs erscheint die Verbindung nicht mehr in Ihrer Liste der privaten Verbindungen.

Erweiterte Einrichtung unter Verwendung vorhandener VPC Lattice-Ressourcen

Wenn Ihre Organisation Amazon VPC Lattice bereits verwendet und Ihre eigenen Ressourcenkonfigurationen verwaltet, können Sie im selbstverwalteten Modus eine private Verbindung herstellen. Anstatt dass der AWS DevOps Agent ein Ressourcen-Gateway für Sie erstellt, geben Sie den Amazon-Ressourcennamen (ARN) einer vorhandenen Ressourcenkonfiguration an, die auf Ihren Zielservice verweist.

Dieser Ansatz ist nützlich, wenn Sie:

  • Sie möchten die volle Kontrolle über das Ressourcen-Gateway und den Lebenszyklus der Ressourcenkonfiguration haben?

  • Sie müssen Ressourcenkonfigurationen für mehrere AWS Konten oder Dienste gemeinsam nutzen.

  • Das Resource Gateway muss im selben Konto wie Ihr Zieldienst ausgeführt werden und nicht in dem Konto, in dem Sie die private Verbindung herstellen.

  • Für eine detaillierte Überwachung des Datenverkehrs sind VPC-Lattice-Zugriffsprotokolle erforderlich.

  • Führen Sie eine Hub-and-Spoke-Netzwerkarchitektur aus.

So erstellen Sie eine selbstverwaltete private Verbindung mit der CLI: AWS

aws devops-agent create-private-connection \ --name my-advanced-connection \ --mode '{ "selfManaged": { "resourceConfigurationId": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0123456789abcdef0" } }'

Weitere Informationen zur Einrichtung von VPC Lattice-Ressourcen-Gateways und Ressourcenkonfigurationen finden Sie im Amazon VPC Lattice-Benutzerhandbuch.

Cross-region Konnektivität

Private Verbindungen müssen in derselben AWS Region wie Ihr Agent Space erstellt werden. Wenn Ihr Zieldienst in einer anderen Region läuft, verwenden Sie den selbstverwalteten Modus mit regionsübergreifendem VPC-Peering oder Transit Gateway-Peering, um die Lücke zu schließen.

Das Muster ist:

  1. Stellen Sie eine regionsübergreifende Konnektivität (VPC-Peering oder Transit Gateway-Peering) zwischen einer VPC in der Region des Agent Space und der VPC des Dienstes her. VPC-CIDRs dürfen sich nicht überschneiden.

  2. Erstellen Sie ein Ressourcen-Gateway in der Region des Agent Space in einer VPC mit der Peering-Verbindung.

  3. Erstellen Sie eine Ressourcenkonfiguration in der Region des Agent Space, die auf die IP-Adresse des Dienstes verweist (über die Peering-Verbindung routbar).

  4. Erstellen Sie mithilfe dieses ARN der Ressourcenkonfiguration eine selbstverwaltete private Verbindung.

Zum Beispiel, wenn Ihr Agentenbereich aktiviert ist us-east-1 und Ihr MCP-Server in: ap-southeast-2

aws devops-agent create-private-connection \ --name cross-region-connection \ --mode '{ "selfManaged": { "resourceConfigurationId": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0123456789abcdef0" } }' \ --region us-east-1