Zugriff auf VPEs von einem lokalen Netzwerk aus über Direct Link oder von einem anderen VPC aus über Transit Gateway

Bei Virtual Private Endpoint (VPE)-fähigen Diensten können Sie über ein privates Netzwerk von Ihrem Standort aus über IBM Cloud Direct Link oder von einer anderen VPC aus über IBM Cloud Transit Gateway auf Cloud-Dienste zugreifen, die in IBM Cloud gehostet werden. Wenn Sie ein Endpunkt-Gateway verwenden, bleibt der Datenverkehr zwischen Ihrer VPC und dem Zieldienst im privaten Netzwerk IBM Cloud und durchquert nicht das Internet.

VPE-fähige Dienste können Folgendes umfassen:

  • IBM IBM Cloud-Dienste im eigenen Besitz
  • Dienste des privaten Pfads, die auf IBM Cloud veröffentlicht werden, einschließlich der von unabhängigen Softwareanbietern (ISVs) angebotenen Dienste

Wenn nicht anders angegeben, beziehen sich die Verweise auf " IBM Cloud services" in diesem Thema sowohl auf IBM-owned services als auch auf Private Path services.

VPE for VPC ermöglicht private Konnektivität zu unterstützten Diensten durch die Verwendung von IP-Adressen, die Sie aus einem Subnetz innerhalb Ihrer VPC auswählen.

Stellen Sie VPEs in einem separaten, dedizierten Subnetz bereit, das nicht mit Anwendungs-Workloads verbunden ist. Um von einem anderen Subnetz auf ein VPE zuzugreifen, konfigurieren Sie Ihre Netzwerk-ACLs oder Sicherheitsgruppen so, dass sie subnetzübergreifenden Verkehr zulassen. Stellen Sie sicher, dass die erforderlichen Ports in Ihren ACLs oder Sicherheitsgruppen geöffnet sind, um den Zugriff zu ermöglichen.

Es werden nur TCP Dienste unterstützt.

Architektur

Die folgende Topologie veranschaulicht den fernen, direkten Zugriff auf ein VPE in einer VPC über Direct Link und Transit Gateway. Bei diesem Modell werden VPEs in einem zentralisierten VPC bereitgestellt und benutzerdefinierte DNS-Auflöser für die Hostnamenauflösung verwendet.

Ein Remote-Client kann auf das VPE zugreifen, wenn er über Direct Link oder Transit Gateway verbunden ist. Um die DNS-Auflösung (Domain Name Server) zu unterstützen, stellen Sie einen benutzerdefinierten Auflöser in der VPC bereit, in der die VPE-Gateways bereitgestellt werden.

Für den Zugriff über Direct Link konfigurieren Sie DNS-Weiterleitungsregeln für die erforderlichen privaten Endpunkte, damit DNS-Anfragen an den benutzerdefinierten Resolver in der VPC weitergeleitet werden, die die VPE-Gateways hostet.

Für den Zugriff über Transit Gateway stellen Sie einen benutzerdefinierten Auflöser in der Client-VPC bereit und konfigurieren DNS-Weiterleitungsregeln, um Abfragen an den benutzerdefinierten Auflöser in der VPE-Hosting-VPC weiterzuleiten.

Direkter Zugriff auf das VPE
Direkter Zugriff auf das VPE

Vorgehensweise

Sie können nicht mehrere VPE-Gateways unter Verwendung desselben Dienstes innerhalb der VPC bereitstellen. Wenn Sie beispielsweise über ein VPE für den Service für globale Suche verfügen, können Sie keinen doppelten Service für globale Suche bereitstellen.

Führen Sie die folgenden Schritte aus:

  1. Stellen Sie IBM die IBM Cloud-Konten bereit, die Sie verwenden möchten, um Direct Link für den VPE-Zugriff zu aktivieren.

  2. Wählen Sie eine der folgenden Optionen aus:

    • (Empfohlen) Erstellen Sie eine VPE für Ihren VPC-API-Endpunkt in der von Ihnen bereitgestellten VPC. Führen Sie hierzu die folgenden Schritte aus:

      1. Erstellen Sie einen angepassten Auflöser. Weitere Informationen finden Sie unter Mit angepassten Resolvern arbeiten.

        • Für IBM-Domänen benötigen Sie außerdem einen lokalen DNS-Auflöser, der auf das DNS des Benutzers (Direct Link) oder den angepassten Auflöser (Transit Gateway) in Ihrer VPC verweist. Anschließend können Sie eine direkte Verbindung zum VPE herstellen und auf IBM Cloud-Services zugreifen.
        • Wenn Sie von einer anderen VPC aus auf die VPC zugreifen, benötigen Sie nur einen benutzerdefinierten Auflöser, der an den benutzerdefinierten Auflöser in der VPC weiterleitet, in der sich die VPE befindet.
      2. Erstellen Sie ein VPE. Weitere Informationen finden Sie in Endpunktgateway erstellen.

      3. Ordnen Sie eine neue oder vorhandene Sicherheitsgruppe zu (oder ändern Sie die Standardsicherheitsgruppe), um eingehenden Datenverkehr zum VPE zuzulassen.

    • Aktivieren dieses Feature in einem Konto, das über eine VPC mit einem bereits bereitgestellten VPE verfügt. Dazu müssen Sie einen benutzerdefinierten Resolver erstellen, bevor Sie über IBM Cloud Direct Link auf das VPE zugreifen können.

      Für IBM-Domänen müssen Sie über einen lokalen DNS-Auflöser verfügen, der auf das DNS des Benutzers (Direct Link) oder den angepassten Auflöser (Transit Gateway) in Ihrer VPC verweist. Anschließend können Sie eine direkte Verbindung zum VPE herstellen und auf IBM Cloud-Services zugreifen.

      Für Auflösungen der VPE-Endpunkte müssen Sie die DNS-Anfragen an die angepassten Auflöser im DNS-Service weiterleiten, der in Ihrer VPC bereitgestellt wird, damit die VPE-Adressen aufgelöst werden können.

  3. Stellen Sie sicher, dass Sie über den direkten Link Zugriff haben:

    Sie sollten jetzt in der Lage sein, von einem lokalen Netz über Direct Linkauf einen VPC-API-Endpunkt zuzugreifen. Über diesen VPC-API-Endpunkt unter IBM Cloud Direct Link können Sie zusätzliche Ressourcen in Ihrer VPC bereitstellen, beispielsweise VPEs für andere Dienste von „ IBM Cloud “.

    Wenn Sie beispielsweise eine VPE für (IAM) erstellen möchten, können Sie den folgenden REST-API-Aufruf aus einem lokalen Netzwerk heraus durchführen, indem Sie einen privaten VPC-API-Endpunkt verwenden, um die VPE für IAM bereitzustellen:

    curl -X POST "$vpc_api_endpoint/v1/endpoint_gateways?version=$version&generation=2" -H "Authorization: Bearer $iam_token" -d '{
    "name": "my-iam-endpoint-gateway",
    "target": {
    "crn" : "crn:v1:bluemix:public:iam-svcs:global:::endpoint:private.iam.cloud.ibm.com",
    "resource_type":"provider_cloud_service"
    },
    "vpc": { "id": "r006-5293202a-ace4-40a1-85bf-4a0afe2831cd"},
    "ips":[
    {"id":"0717-a28a0592-16fb-4681-af0f-e9876519ce04"}
    ]
    

Zugriff auf den privaten Endpunkt der VPC-API über die Befehlszeile

Führen Sie die folgenden Schritte aus, um über die Befehlszeilenschnittstelle auf den privaten Endpunkt der VPC-API zuzugreifen:

  1. Aktualisieren Sie die Kern-CLI von „ IBM Cloud “ (1.3.0 oder höher) und das VPC-Infrastruktur-Service-Plugin (0.8.0 oder höher) auf die neuesten Versionen:

    ibmcloud update
    ibmcloud plugin update vpc-infrastructure
    

    Wenn das Plug-in für VPC-Infrastrukturservices nicht installiert ist, geben Sie den folgenden Befehl ein:

    ibmcloud plugin install vpc-infrastructure
    
  2. Geben Sie den folgenden Befehl ein, um auf in den Modus für private API-Endpunkte zu wechseln:

    ibmcloud login -a private.cloud.ibm.com
    

    Der Modus für private API-Endpunkte unterstützt gegenwärtig nur die Regionen us-south und us-east.

  3. Um sich zu vergewissern, dass Sie auf den privaten Endpunkt zugreifen, können Sie die JSON-Daten über die API ausgeben lassen:

    ibmcloud is zones --output json
    

    Die Ausgabe sieht in etwa wie im folgenden Beispiel aus:

    [
        {
            "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
            "name": "us-south-1",
            "region": {
                "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south",
                "name": "us-south"
            },
            "status": "available"
        },
        {
            "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
            "name": "us-south-2",
            "region": {
                "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south",
                "name": "us-south"
            },
            "status": "available"
        },
        {
            "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
            "name": "us-south-3",
            "region": {
                "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south",
                "name": "us-south"
            },
            "status": "available"
        }
    

Zugriff auf den privaten Endpunkt der VPC-API über die API

Um über die API auf den privaten Endpunkt der VPC-API zuzugreifen, führen Sie die folgenden Schritte aus:

  1. Legen Sie eine Umgebungsvariable für die Region fest, auf die Sie zugreifen möchten. Geben Sie zum Beispiel für us-south Folgendes ein:

    set vpc_api_endpoint=https://us-south.private.iaas.cloud.ibm.com
    
  2. Nachdem die Umgebungsvariable initialisiert wurde, geben Sie den folgenden Befehl ein:

    curl -s GET "$vpc_api_endpoint/v1/regions/us-south/zones?generation=2&&version=2021-01-01" -H "Authorization:$iam_token" |jq .
    

    Die Ausgabe sieht in etwa wie im folgenden Beispiel aus:

    {
      "zones": [
        {
          "name": "us-south-1",
          "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
          "region": {
            "name": "us-south",
            "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south"
          },
          "status": "available"
        },
        {
          "name": "us-south-2",
          "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
          "region": {
            "name": "us-south",
            "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south"
          },
          "status": "available"
        },
        {
          "name": "us-south-3",
          "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-3",
          "region": {
            "name": "us-south",
            "href": "https://us-south.private.iaas.cloud.ibm.com/v1/regions/us-south"
          },
          "status": "available"
        }
      ]
    }
    

Zugriff auf den privaten Endpunkt der VPC-API mit Terraform

Um über Terraform auf den privaten Endpunkt der VPC-API zuzugreifen, wählen Sie eine der folgenden Optionen:

  • Legen Sie eine Umgebungsvariable für die Region fest, auf die Sie zugreifen möchten. Geben Sie zum Beispiel für us-south Folgendes ein:

    export IBMCLOUD_IS_NG_API_ENDPOINT=https://us-south.private.iaas.cloud.ibm.com/v1
    
  • Deklarieren Sie den Block 'provider'. Zum Beispiel:

    provider "ibm" {
    region     = "us-south"
    visibility = "private"
    }