ローカルアクセスエンドポイントゲートウェイの作成

ハブベースのDNS共有モデルに加え、DNS共有VPC内でローカルアクセス仮想プライベートエンドポイントゲートウェイを作成できます。 ローカルアクセスVPEは、ハブVPCを経由せずに、サポート IBM Cloud 対象サービスへのプライベートなローカル接続を提供します。

現在、この機能は のみに対応しており、許可リストに登録された特定の IBM Cloud Object Storage 顧客のみが利用可能です。

開始前に

  • ローカルアクセスエンドポイントゲートウェイは、ハブアンドスポークアーキテクチャ に基づくDNS共有モデル を採用しています。 ローカルアクセス エンドポイント ゲートウェイを作成する前に、DNS 共有を設定する必要があります。 DNS共有が既に設定されている場合、ローカルアクセスエンドポイントゲートウェイの使用を開始するために変更や移行は不要です。
  • VPEを作成する前に、作成制限、セキュリティグループ、 アカウントアカウントアクセス、サポートされている機能など、 一般的な計画上の考慮事項 を確認してください。
  • DNSハブおよび共有VPCトポロジにおけるローカルアクセスVPE固有の前提条件については、「 DNS共有の計画に関する考慮事項 」を参照してください。

コンソールでのローカルアクセスエンドポイントゲートウェイの作成

コンソール IBM Cloud でローカルアクセスエンドポイントゲートウェイを作成するには、次の手順に従います:

  1. コンソール IBM Cloud から、 ナビゲーションメニュー のアイコンを選択し、次に 「インフラストラクチャVPCアイコン > 「ネットワーク 」> 「仮想プライベートエンドポイントゲートウェイ」 をクリックします。 「VPC 用の仮想プライベート・エンドポイント・ゲートウェイ (Virtual private endpoint gateways for VPC)」ページが表示されます。

  2. **「作成」**をクリックしてプロビジョニング・ページに移動します。

  3. 「詳細」セクションの以下のフィールドに値を入力します。

    • 名前 - エンドポイント・ゲートウェイの固有名を入力します。
    • リソース・グループ - エンドポイント・ゲートウェイのリソース・グループを選択します。 このエンドポイント・ゲートウェイにデフォルト・グループを使用することも、リストから選択することもできます。 詳しくは、『リソースをリソース・グループに編成するためのベスト・プラクティス』を参照してください。
    • タグ- オプションで、タグを追加して、リソースの整理、使用コストの追跡、アクセス管理を行うことができます。
    • アクセス管理タグ- リソースにアクセス管理タグを追加することも可能です。これにより、アクセス制御関係の整理に役立ちます。 サポートされるアクセス管理タグの形式は key:value のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。
    • 仮想プライベートクラウド- VPE IP アドレスが必要な VPC を選択してください。 選択したVPCのリージョンに基づき、システムはエンドポイントゲートウェイに関連付けるためにアクセス IBM 可能なサービスのリストを提供します。 選択したVPCのリージョンで対象サービスが提供されていない場合、リージョンを変更して別のリージョンでサービスを選択できます。

    目的のサービスまたはサービス・インスタンスが表示されない場合は、IAM の権限を再確認してください。 また、ゲートウェイにバインドする予約 IP アドレスを割り振ることも、ゲートウェイにバインドする予約 IP アドレスを割り振るための VPC サブネットを指定することもできます。

  4. 「セキュリティー・グループ」セクションで、セキュリティー・グループ・テーブルから関連付けるセキュリティー・グループのチェック・ボックスを選択します。 そして、これらのセキュリティ・グループを管理し、エンドポイント・ゲートウェイに向かうインバウンド・トラフィックのセキュリティ・ルールを強化することができる。

    セキュリティー・グループを指定せずにエンドポイント・ゲートウェイを作成すると、VPC のデフォルトのセキュリティー・グループがエンドポイント・ゲートウェイに関連付けられます。 詳しくは、『エンドポイント・ゲートウェイで使用する ACL およびセキュリティー・グループの構成』を参照してください。

    セキュリティグループのサポート以前に作成されたエンドポイントゲートウェイには、セキュリティグループが割り当てられていません。 また、すべての着信トラフィックを許可します。 セキュリティグループが一切アタッチされていないVPEにセキュリティグループをアタッチした場合、そのVPEをセキュリティグループが一切アタッチされていない状態に戻すことはできません。 すべてのインバウンド・トラフィックを許可するためのルールを指定したセキュリティー・グループを関連付けることにより、以前の「すべてのインバウンド・トラフィックを許可する」動作に戻すことができます。 しかし、このルールは、より制限の厳しいセキュリティー・グループ を設定するよりも本質的に安全ではないので、推奨されない。

  5. 「サービスへの接続をリクエスト」 セクションで、を選択し IBM Cloud、メニューから cloud-object-storage を選択します。

    • サービスの地域を選択してください。 パフォーマンスを最適化するために、あらかじめ領域が選択されている。

    • 構成サービスエンドポイント( config エンドポイントタイプ)を除くすべてのサービスエンドポイントタイプは、リソースバインディングをサポートしていることに留意してください。これにより、VPEバインディングを Object Storage バケットやリソースにバインドすることが可能になります。

  6. 「DNSの共有」セクションで、次のDNS解決バインディングモードのいずれかを選択します:

    • プライマリ設定により、 VPEゲートウェイのサービスエンドポイントをハブVPCのDNSリゾルバーと共有し、名前解決が可能になります。
    • リソースごとのバインディングにより、VPEゲートウェイはクラウドオブジェクトストレージバケットへのリソースバインディングを持ち、名前解決のためにハブVPCのDNSリゾルバーとサービスリソースエンドポイントを共有できます。
    • 無効にすると、VPEゲートウェイのサービスエンドポイントが名前解決のために共有されなくなります。

    VPCがDNSハブである場合、DNS共有は常にプライマリに設定され、モードを変更することはできません。

    リソースごとの****バインディングまたは無効を選択した場合、オプションのリソースバインディングを作成できます。これにより、選択したVPCから特定の Object Storage バケットへの詳細なアクセスを有効にできます。 詳細については、 「リソースバインディングの作成」 を参照してください。

    プロビジョニング中にバケットを最大10個までバインドでき、後から追加することも可能です。

  7. Reserved IPセクションで、予約済みIPアドレスを選択する。 以下の選択肢があります。

    • Select one for me- IPアドレスの名前の接頭辞を入力します。 1つ以上のサブネットを選択し(ゾーンごとに1つのサブネットを推奨)、エンドポイントゲートウェイが削除された場合にこの予約済みIPを自動的に削除したい場合は、自動解放トグルを有効にしてください。

    • 既存のIPから選択- 既存のIPアドレスのリストから選択します。 IP アドレスが存在しない場合は、「IPを予約」をクリックして予約してください。

      VPC内の各アベイラビリティゾーン(AZ)において、VPEゲートウェイにバインドできる予約済みIPは1つだけです。 VPC内のすべてのサブネットにおいて、同一アベイラビリティゾーン内に他のバインディングが存在しないことを確認してください。

    • 後で選択- エンドポイントゲートウェイの作成後、いずれかの時点でIPアドレスを選択します。

  8. 注文概要を確認し、 「仮想プライベートエンドポイントゲートウェイを作成」 をクリックします。 エンドポイントゲートウェイの使用が要求される。

CLIからローカルアクセスエンドポイントゲートウェイを作成する

始める前に、 CLI環境を設定してください

CLIからローカルアクセスエンドポイントゲートウェイを作成するには、次の手順に従います:

  1. エンドポイント・ゲートウェイのターゲットとして設定できる IBM Cloud サービス・インスタンスをリスト表示します。

    ibmcloud is endpoint-gateway-targets
    
  2. 以下のコマンドを実行して、エンドポイント・ゲートウェイを作成します。

    ibmcloud is endpoint-gateway-create --target TARGET [--target-type private_path_service_gateway | provider_cloud_service | provider_infrastructure_service] [--vpc VPC] [--name NAME] [--rip RIP --subnet SUBNET | (--new-reserved-ip NEW_RESERVED_IP1 --new-reserved-ip NEW_RESERVED_IP2 ...)] [--allow-dns-resolution-binding false | true] [--sg SG] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
    

    ここで、

    --target-type:
    このエンドポイントゲートウェイのターゲットタイプを示し、以下のいずれかです: private_path_service_gateway, provider_cloud_service, または provider_infrastructure_service
    --vpc:
    VPCのIDまたは名称を示す。
    --target:
    プロバイダのインフラ・サービス名、またはプロバイダのクラウド・サービス・インスタンスのCRNを示す。 ibmcloud is endpoint-gateway-targets コマンドを使用すると、エンドポイント・ゲートウェイ・ターゲットとして設定する資格があるプロバイダー・クラウドおよびインフラストラクチャ・サービスを一覧表示できます。
    --name:
    エンドポイント・ゲートウェイの新しい名前を示す。
    --rip:
    エンドポイント・ゲートウェイにバインドされる予約 IP の ID を示す。
    --subnet:
    サブネットの ID または名前。 この名前は、予約済み IP が名前形式の場合のみ必要です。
    --new-reserved-ip:
    新しい予約済みIP構成をJSON形式またはJSONファイルで示します。 RESERVED_IP_JSON|@RESERVED_IP_JSON_FILE
    --sg:
    セキュリティグループの ID を示す。

    -sg を指定しない場合、VPC デフォルト・セキュリティ・グループがエンドポイント・ゲートウェイにバインドされます。

    --resource-group-id:
    リソースグループのIDを示す。 このオプションは --resource-group-name と同時に指定することはできません。
    --resource-group-name:
    リソースグループの名前を示す。 このオプションは --resource-group-id と同時に指定することはできません。
    --output:
    出力形式を示します。 JSON のみがサポートされます。
    -q, --quiet:
    詳細な出力を抑制します。

    詳細およびコマンドの例については、 VPC CLI リファレンス を参照してください。

APIを使用したローカルアクセスエンドポイントゲートウェイの作成

APIを使ってローカル・アクセス・エンドポイント・ゲートウェイを作成するには、以下の手順に従う:

  1. API 環境をセットアップします。

  2. API コマンドで使用する以下の値を変数に格納します。

    • ResourceGroupId- まず、リソースグループを取得し、変数に入力する:

      export ResourceGroupId=<your_resourcegroup_id>
      
    • VpcId- list vpc (直前の変数で)コマンドを使用し、提供されたIDに基づいて変数を入力する:

      export VpcId=<your_VPC_id>
      
    • TargetCrn- エンドポイント・ゲートウェイを設定する IBM Cloud サービスのインスタンスの名前(CRN)。 ibmcloud is endpoint-gateway-targets コマンドを使用すると、エンドポイント・ゲートウェイのターゲットとして設定できる IBM Cloud サービス・インスタンスをリストできます。

      export TargetCrn=<CRN of a target service>
      
    • SubnetID (オプション) - サブネット ID。

      export SubnetID=<your_subnet_id>
      
  3. すべての変数が開始されたら、以下のアクションのいずれかを選択します:

    • VPC を指定してエンドポイント・ゲートウェイを作成します。

      curl -X POST -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/endpoint_gateways?version=$api_version&generation=2" \
      -d {
      "name": endpoint-gateway-1",
      "vpc": {"id":"'$VpcId'"},
      "target": {
      "crn": "$TargetCrn",
      "resource_type": "provider_cloud_service"
      },
      "security_groups": [
      {"id": "'$sg'"}
      ]
      }'
      

      プライベートパスサービスに接続するためのエンドポイントゲートウェイを作成する際は、必ず「リソースタイプ」が「private_path_service_gateway」であることを確認してください。

      サービス・インスタンスのためにエンドポイント・ゲートウェイを作成して予約 IP アドレスを割り当てたら、そのエンドポイント・ゲートウェイに VPC ネットワークの IP アドレスをバインドする必要があります。 詳しくは、予約 IP アドレスのバインドおよびアンバインドを参照してください。 これらのバインドされた IP アドレスは、エンドポイント・ゲートウェイにマップされたサービスにアクセスするための VPE となります。

    • 関連する予約IPアドレスを持つエンドポイント・ゲートウェイを作成する:

      curl -X POST -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/endpoint_gateways?version=$api_version&generation=2" \
      -d {
      "name": endpoint-gateway-1",
      "vpc": {"id":"'$VpcId'"},
      "target": {
      "crn": "$TargetCrn",
      "resource_type": "provider_cloud_service"
      },
      "security_groups": [
      {"id": "'$sg'"}
      ],
      "ips": [
      {"subnet": { "id": "$SubnetId" } }
      ],
      }'
      

      プライベートパスサービスに接続するためのエンドポイントゲートウェイを作成する際は、「リソースタイプ」が に設定されている private_path_service_gateway ことを確認してください。

IBM Cloud サービスにエンドポイント・ゲートウェイを作成すると、そのサービスに関連付けられているエンドポイントが表示されます。 IPのバインド/バインド解除、リソースグループの変更、タグの更新など、さまざまな方法でエンドポイント・ゲートウェイを編集できます。 何らかの理由でサービス・エンドポイントを変更する必要がある場合は、エンドポイント・ゲートウェイを削除して再作成する必要があります。

Terraform を使用したローカルアクセスエンドポイントゲートウェイの作成

Terraformを使用してエンドポイントゲートウェイを作成できます。

Terraformを使用するには、Terraform CLIをダウンロードし、Provider IBM Cloud プラグインを設定してください。 詳細については、 Terraform の入門ガイドを 参照してください。

以下の例では、VPEゲートウェイを作成している:

resource "ibm_is_virtual_endpoint_gateway" "vpe_iam" {
  name = "${var.name}-iam-vpe"
  vpc  = ibm_is_vpc.testacc_vpc.id

  target {
    resource_type = var.vpe_target_type
    crn           = var.vpe_target_crn
  }
  dns_resolution_binding_mode = "disabled"
}
resource "ibm_is_virtual_endpoint_gateway_resource_binding" "vpe_rb" {
  name = "${var.name}-rb-vpe"
  endpoint_gateway_id  = ibm_is_virtual_endpoint_gateway.vpe_iam.id

  target {
    crn           = var.vpe_rb_target
  }
}
data "ibm_is_virtual_endpoint_gateway" "vpe_iam" {
  name = ibm_is_virtual_endpoint_gateway.vpe_iam.name
}
data "ibm_is_virtual_endpoint_gateways" "vpe_iam" {
}
data ibm_is_virtual_endpoint_gateway_resource_bindings bindings {
  endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.vpe_iam.id
}
data ibm_is_virtual_endpoint_gateway_resource_binding binding {
  endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.vpe_iam.id
  endpoint_gateway_resource_binding_id = ibm_is_virtual_endpoint_gateway_resource_binding.vpe_rb.endpoint_gateway_resource_binding_id
}

ローカルアクセスエンドポイントゲートウェイを作成した後

VPC の仮想プライベートエンドポイントゲートウェイページに戻ると、エンドポイントゲートウェイがテーブルに表示されます。 サービス IBM Cloud については、エンドポイントゲートウェイのステータスが から に変更 Updating されます Stableアクション メニューをクリックすると、IPの名前変更、予約、バインド、IPのバインド解除、またはエンドポイントゲートウェイの削除が可能です。