オンプレミスのネットワークから Direct Link を使用して、または別のVPCから を使用してVPEにアクセスします。 Transit Gateway

Virtual Private Endpoint(VPE)対応サービスでは、 IBM Cloud Direct Link を使ってオンプレミスから、または IBM Cloud Transit Gateway を使って別の VPC から、プライベートネットワーク経由で IBM Cloud でホストされているクラウドサービスにアクセスできます。 エンドポイント・ゲートウェイを使用する場合、VPC とターゲット・サービス間のトラフィックは IBM Cloud プライベート・ネットワーク上に留まり、インターネットを横断することはありません。

VPE対応サービスには以下のようなものがある:

  • IBM IBM Cloud が提供するサービス
  • サードパーティの独立系ソフトウェア・ベンダー(ISV)が提供するサービスを含む、 IBM Cloud 内で公開されるプライベート・パス・サービス

別段の定めがない限り、本トピックにおける「 IBM Cloud サービス」は、 IBM が所有するサービスとプライベート・パス・サービスの両方に適用される。

VPE for VPC は、VPC内のサブネットから選択したIPアドレスを使用して、サポートされているサービスへのプライベート接続を可能にします。

VPEを、アプリケーションのワークロードとは関係のない、独立した専用サブネットに配置する。 別のサブネットからVPEにアクセスするには、ネットワークACLまたはセキュリティグループを設定して、クロスサブネットトラフィックを許可してください。 アクセスを許可するために、ACLまたはセキュリティグループで必要なポートが開かれていることを確認してください。

TCP。

アーキテクチャー

以下のトポロジーは、 Direct Link および Transit Gatewayを介した VPC 内の VPE へのリモート直接アクセスを示しています。 このモデルでは、VPEは集中型VPCに配備され、ホスト名解決にはカスタムDNSリゾルバが使用される。

リモートクライアントは、 Direct Link または Transit Gateway 経由で接続された VPE にアクセスできる。 ドメインネームサーバ(DNS)解決をサポートするには、VPEゲートウェイが配置されているVPCにカスタムリゾルバをプロビジョニングします。

Direct Link を介したアクセスでは、VPE ゲートウェイをホストする VPC 内のカスタム・リゾルバに DNS クエリが転送されるように、必要なプライベート・エンドポイントの DNS 転送ルールを設定します。

Transit Gateway 経由でアクセスする場合は、クライアントVPCにカスタムリゾルバをプロビジョニングし、VPEをホストするVPCのカスタムリゾルバにクエリを転送するDNS転送ルールを設定します。

VPE への直接アクセス
VPE への直接アクセス

手順

VPC内で同じサービスを使用して複数のVPEゲートウェイをプロビジョニングすることはできません。 例えば、グローバル検索サービス用の VPE がある場合、重複するグローバル検索サービスをプロビジョンすることはできません。

以下の手順を実行します。

  1. VPE への Direct Link アクセスを有効にするために使用する IBM Cloud アカウントを IBM に提供します。

  2. 次のオプションのいずれかを選択してください。

    • (推奨)プロビジョニングしたVPC内に、VPC APIエンドポイント用のVPEを作成してください。 これを行うには、以下の手順を実行します。

      1. カスタム・リゾルバーを作成します。 詳しくは、カスタム・リゾルバーの操作を参照してください。

        • IBM ドメインの場合は、VPC 内のユーザーの DNS (Direct Link) またはカスタム・リゾルバー (Transit Gateway) のいずれかを指すオンプレミスの DNS リゾルバーも必要です。 その後、VPE に直接接続し、 IBM Cloud サービスにアクセスできます。
        • 別のVPCからVPCにアクセスする場合は、VPEを持つVPCのカスタムリゾルバに転送するカスタムリゾルバだけが必要です。
      2. VPE を作成します。 詳しくは、エンドポイント・ゲートウェイの作成を参照してください。

      3. 新規または既存のセキュリティー・グループを接続して (またはデフォルトのセキュリティー・グループを変更して)、VPE へのインバウンド・トラフィックを許可します。

    • VPE が既にプロビジョンされている VPC を持つアカウント内でこの機能を有効にします。 そのためには、 IBM Cloud Direct Link で VPE にアクセスする前に、 カスタム・リゾルバを作成する 必要があります。

      IBM ドメインの場合、VPC 内にユーザーの DNS (Direct Link) またはカスタム・リゾルバー (Transit Gateway) のいずれかを指すオンプレミス DNS リゾルバーがなければなりません。 その後、VPE に直接接続し、 IBM Cloud サービスにアクセスできます。

      VPE エンドポイントを解決するには、VPC 内でプロビジョンされた DNS サービス内のカスタム・リゾルバーに DNS 要求を転送して、VPE アドレスを解決できるようにする必要があります。

  3. Direct Link からアクセスできることを確認します。

    これで、 Direct Linkを使用してオンプレミス・ネットワークから VPC API エンドポイントにアクセスできるようになりました。 IBM Cloud Direct Link 経由でこの VPC API エンドポイントを使用すると、VPC 内に、他の IBM Cloud サービス用の VPE など、追加のリソースをプロビジョニングできます。

    たとえば、IAM用のVPEを作成したい場合、プライベートVPC APIエンドポイントを使用してオンプレミスネットワークから次のREST API呼び出しを行い、IAM用のVPEをプロビジョニングできます:

    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"}
    ]
    

CLI から VPC API プライベートエンドポイントにアクセスする

CLI を使用して VPC API プライベート・エンドポイントにアクセスするには、以下の手順を実行します。

  1. IBM Cloud のコアCLI(1.3.0 以降)およびVPCインフラストラクチャサービスプラグイン(0.8.0 以降)を最新バージョンに更新してください:

    ibmcloud update
    ibmcloud plugin update vpc-infrastructure
    

    VPC インフラストラクチャー・サービス・プラグインがインストールされていない場合は、次のコマンドを入力します。

    ibmcloud plugin install vpc-infrastructure
    
  2. API プライベート・エンドポイント・モードに切り替えるには、次のコマンドを入力します。

    ibmcloud login -a private.cloud.ibm.com
    

    現時点では、API プライベート・エンドポイント・モードでサポートされるのは us-south リージョンと us-east リージョンのみです。

  3. プライベート・エンドポイントにアクセスしていることを確認するには、API を使用して JSON データを表示します。

    ibmcloud is zones --output json
    

    出力は、次の例のようなものになります:

    [
        {
            "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"
        }
    

API を使用して VPC API プライベートエンドポイントにアクセスする

API を使用して VPC API プライベートエンドポイントにアクセスするには、以下の手順に従ってください:

  1. アクセスしたいリージョン用の環境変数を設定してください。 例えば us-south の場合は、次のように入力します。

    set vpc_api_endpoint=https://us-south.private.iaas.cloud.ibm.com
    
  2. 環境変数を設定したら、次のコマンドを入力します。

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

    出力は、次の例のようなものになります:

    {
      "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"
        }
      ]
    }
    

Terraform を使用して VPC API プライベートエンドポイントにアクセスする

Terraform を使用して VPC API のプライベートエンドポイントにアクセスするには、次のいずれかの操作を選択してください:

  • アクセスしたいリージョン用の環境変数を設定してください。 例えば us-south の場合は、次のように入力します。

    export IBMCLOUD_IS_NG_API_ENDPOINT=https://us-south.private.iaas.cloud.ibm.com/v1
    
  • プロバイダー・ブロックを宣言します。 以下に例を示します。

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