すべてのプロダクト
Search
ドキュメントセンター

PrivateLink:PrivateLink を使用して別の VPC の CLB インスタンスにアクセスする

最終更新日:Dec 27, 2024

同じ Alibaba Cloud アカウント内の別の VPC に対して、仮想プライベートクラウド (VPC) 内の Classic Load Balancer (CLB) インスタンスがサービスを提供できるようにするには、CLB インスタンスがデプロイされている VPC 内で CLB インスタンスをサービスリソースとして指定し、PrivateLink を使用して 2 つの VPC 間のネットワーク接続を確立できます。

背景情報

VPC は、クラウド内で互いに分離されたプライベートネットワークです。PrivateLink を使用すると、VPC と Alibaba Cloud サービス間に安全で安定したプライベート接続を確立できます。これにより、ネットワークアーキテクチャが簡略化され、インターネット上でのセキュリティリスクが回避されます。

PrivateLink 接続を確立するには、エンドポイントサービスとエンドポイントを作成する必要があります。

  • エンドポイントサービス

    エンドポイントサービスは、PrivateLink 接続を介して別の VPC のエンドポイントを使用してアクセスできます。エンドポイントサービスは、サービスプロバイダーによって作成および管理されます。

  • エンドポイント

    エンドポイントは、エンドポイントサービスに関連付けて、VPC が外部サービスにアクセスできるようにする PrivateLink 接続を確立できます。エンドポイントは、サービスコンシューマーによって作成および管理されます。

エンティティ

説明

サービスプロバイダー

エンドポイントサービスを作成および管理します。

サービスコンシューマー

エンドポイントを作成および管理します。

CLB は、転送ルールに基づいて、バックエンドサーバーとして機能する複数の Elastic Compute Service (ECS) インスタンスに受信ネットワークトラフィックを分散します。CLB インスタンスをエンドポイントサービスのサービスリソースとして指定することで、アプリケーションのパフォーマンスと可用性を向上させることができます。詳細については、CLB とは を参照してください。

シナリオ

次のシナリオを例として使用します。企業 A は、Alibaba Cloud アカウント A を使用して、ドイツ (フランクフルト) リージョンにVPC 1 とVPC 2 という 2 つの VPC を作成し、VPC 2 にECS 2 とECS 3 という名前の ECS インスタンスにアプリケーションサービスをデプロイします。ビジネスの成長に伴い、VPC 1 のリソースは、プライベート接続を介してVPC 2 のサービスにアクセスする必要があります。

VPC 2 に PrivateLink をサポートする CLB インスタンスを作成し、ECS 2 と ECS 3 を CLB インスタンスのバックエンドサーバーとして指定できます。これにより、CLB インスタンスはクライアントからのトラフィックを受信し、リスナーの転送ルールに基づいてトラフィックをバックエンドサーバーに分散できます。エンドポイントサービスを作成し、CLB インスタンスをエンドポイントサービスのサービスリソースとして指定します。次に、VPC 1 にエンドポイントを作成します。エンドポイントが作成され、エンドポイントサービスに想定どおりに接続されると、ECS 1 はプライベートネットワークを介して VPC 1 の VPC 2 のサービスにアクセスできます。

制限事項

  • PrivateLink をサポートするには、VPC 2 のサービスリソースとして機能する CLB インスタンスが、従量課金制の内部向け CLB インスタンスである必要があります。

  • エンドポイントサービスを作成する際は、PrivateLink と CLB インスタンスをサポートするリージョンを選択する必要があります。PrivateLink と CLB インスタンスをサポートするリージョンの詳細については、PrivateLink をサポートするリージョンとゾーン および CLB が利用可能なリージョン を参照してください。

  • エンドポイントとエンドポイントサービスは、CLB インスタンスがデプロイされているのと同じゾーンにデプロイする必要があります。

準備

  • VPC 1 と VPC 2 はドイツ (フランクフルト) リージョンに作成され、各 VPC に vSwitch が作成されます。詳細については、「VPC と IPv4 CIDR ブロックの作成」トピックの 手順 1: VPC と vSwitch を作成する セクションを参照してください。

  • ECS 1 は VPC 1 に作成され、ECS 2 と ECS 3 は VPC 2 に作成され、異なる NGINX サービスが ECS 2 と ECS 3 にデプロイされます。

    • ECS インスタンスの作成方法の詳細については、カスタム起動タブでインスタンスを作成する を参照してください。

    • 次のコードブロックは、ECS 2 と ECS 3 にアプリケーションをデプロイする方法を示しています。

      ECS 2 にアプリケーションをデプロイするコマンド

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS2." > index.html

      ECS 3 にアプリケーションをデプロイするコマンド

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS3." > index.html
  • VPC 1 にセキュリティグループが作成されます。ビジネスとセキュリティの要件に基づいてセキュリティグループルールを設定できます。

    次のセキュリティグループルールを設定することをお勧めします。

    • SSH ポート 22 およびリモートデスクトッププロトコル (RDP) ポート 3389 でのトラフィックが ECS インスタンスにアクセスできるようにする受信ルール。

    • HTTP ポート 80 および HTTPS ポート 443 でのトラフィックを許可する受信ルール。このルールにより、エンドポイントの VPC は HTTP または HTTPS 経由でエンドポイントサービスの VPC にアクセスできます。

    詳細については、セキュリティグループを作成する を参照してください。

    説明

    VPC 2 の ECS 2 と ECS 3 は、ECS インスタンスの作成時にシステムによって作成されるデフォルトのセキュリティグループに属します。

次の表は、この例での VPC のネットワークの計画方法を示しています。VPC の CIDR ブロックが互いに重複していても、サービスに悪影響はありません。

項目

VPC 1

VPC 2

リージョン

ドイツ (フランクフルト)

ドイツ (フランクフルト)

CIDR ブロック

  • VPC: 10.10.0.0/16

  • vSwitch: 10.10.2.0/24

  • VPC: 192.168.0.0/16

  • vSwitch: 192.168.24.0/24

vSwitch ゾーン

ゾーン B

ゾーン B

ECS インスタンスの IP アドレス

ECS 1: 10.10.2.1

  • ECS 2: 192.168.24.200

  • ECS 3: 192.168.24.12

手順

手順 1: PrivateLink をサポートする CLB インスタンスを作成する

  1. CLB コンソール にログインします。

  2. インスタンス ページで、CLB の作成 をクリックします。

  3. CLB (従量課金制) インターナショナルサイトの購入ページで、次の表に記載されている CLB インスタンスのパラメーターを設定し、今すぐ購入 をクリックして支払いを完了します。

    パラメーター

    説明

    リージョン

    CLB インスタンスを作成するリージョンを選択します。

    この例では、ドイツ (フランクフルト) が選択されています。

    説明

    CLB インスタンスとバックエンドサーバーとして指定する ECS インスタンスが同じリージョンに属していることを確認してください。

    ゾーンタイプ

    CLB インスタンスを 1 つのゾーンにデプロイするか、複数のゾーンにデプロイするかを指定します。デフォルトでは、マルチゾーン が選択されています。

    プライマリゾーン

    CLB インスタンスがネットワークトラフィックを受信するプライマリゾーンを選択します。この例では、ヨーロッパ セントラル 1 ゾーン B が選択されています。

    バックアップゾーン

    CLB インスタンスのセカンダリゾーンを選択します。セカンダリゾーンは、プライマリゾーンが使用できない場合にのみネットワークトラフィックを受信します。

    この例では、ヨーロッパ セントラル 1 ゾーン A が選択されています。

    インスタンス名

    CLB インスタンスの名前を入力します。

    インスタンスタイプ

    CLB インスタンスタイプを選択します。ビジネス要件に基づいて、インターネット向け CLB インスタンスまたは内部向け CLB インスタンスを作成できます。システムは、指定されたインスタンスタイプに基づいて、CLB インスタンスにパブリックまたはプライベート IP アドレスを割り当てます。

    この例では、イントラネット が選択されています。

    インスタンスの課金方法

    CLB インスタンスの課金方法を選択します。有効な値:

    • 仕様別課金

    • CLCU 別課金

    この例では、仕様別課金 が選択されています。

    仕様

    CLB インスタンスの仕様を選択します。仕様が異なる CLB インスタンスは、パフォーマンスも異なります。この例では、小型 I (slb.s1.small) が選択されています。

    ネットワークタイプ

    CLB インスタンスのネットワークタイプを選択します。

    この例では、VPC が選択されています。

    IP バージョン

    CLB インスタンスの IP バージョンを選択します。この例では、IPv4 が選択されています。

    機能

    CLB インスタンスの機能タイプを選択します。デフォルトでは、標準 が選択されています。

    VPC ID

    VPC 2 を選択します。

    Vswitch ID

    VPC 2 の vSwitch を選択します。

    インターネットデータ転送料金

    計測方法を選択します。インターネット向け CLB インスタンスは、次の計測方法をサポートしています。

    • トラフィック別: データ転送量別課金計測方法

    • 帯域幅別: 帯域幅別課金計測方法

    デフォルトでは、トラフィック別 が選択されています。

    説明

    インターネット向け CLB インスタンスは、データ転送量別課金計測方法を使用します。この例では、作成する CLB インスタンスは内部向けであり、トラフィック料金は発生しません。

    リソースグループ

    CLB インスタンスのリソースグループを選択します。この例では、デフォルトリソースグループ が選択されています。

    数量

    購入する CLB インスタンスの数を指定します。この例では、1 が指定されています。

手順 2: CLB インスタンスを設定する

CLB インスタンスの作成後、CLB インスタンスに少なくとも 1 つのリスナーと 1 つのバックエンドサーバーグループを追加する必要があります。これにより、ネットワークトラフィックは CLB インスタンスによって転送できます。

  1. インスタンス ページで、ロードバランサー(CLB)手順 1 で作成した リスナーを構成するアクション インスタンスを見つけ、 列の をクリックします。

  2. プロトコルとリスナー ウィザードページで、次のパラメーターを設定し、その他のパラメーターにはデフォルト値を使用し、次へ をクリックします。

    • リスナープロトコルの選択: この例では、TCP が選択されています。

    • リスナーポート: CLB インスタンスがリクエストを受信し、バックエンドサーバーに転送するために使用するポートを指定します。

      この例では、80 が指定されています。

  3. バックエンドサーバー ウィザードページで、デフォルトサーバーグループ を選択し、さらに追加 をクリックしてバックエンドサーバーを追加します。

    1. サーバー パネルで、作成した ECS 2 と ECS 3 を選択し、次へ をクリックします。

    2. バックエンドサーバーの重みを指定し、追加 をクリックします。

      重みが大きいバックエンドサーバーは、より多くのリクエストを受信します。この例では、デフォルト値 100 が使用されています。

    3. デフォルトサーバーグループ タブで、バックエンドポートを指定し、次へ をクリックします。この例では、80 が指定されています。

      CLB インスタンスの複数のバックエンドサーバーに同じポートを指定できます。

  4. ヘルスチェック ウィザードページで、ヘルスチェック機能を設定し、次へ をクリックします。この例では、パラメーターのデフォルト値が使用されています。

  5. 確認 ウィザードページで、設定を確認し、送信 をクリックします。

  6. OK をクリックして インスタンス ページに戻ります。

    ECS インスタンスのヘルスチェックステータスが 正常 の場合、ECS インスタンスは CLB インスタンスによって転送されたリクエストを処理できます。

手順 3: エンドポイントサービスを作成する

  1. エンドポイントサービスコンソール にログインします。

  2. 上部のナビゲーションバーで、エンドポイントサービスを作成するリージョンを選択します。この例では、ドイツ (フランクフルト) が選択されています。

  3. エンドポイントサービス ページで、エンドポイントサービスの作成 をクリックします。

  4. エンドポイントサービスの作成 ページで、次の表に記載されているパラメーターを設定し、OK をクリックします。

    次の表は、このトピックに関連するパラメーターについて説明しています。その他のパラメーターの設定方法の詳細については、「エンドポイントサービスの作成と管理」トピックの エンドポイントサービスを作成する セクションを参照してください。

    パラメーター

    説明

    サービスリソースタイプ

    エンドポイントサービスに追加するサービスリソースのタイプを選択します。この例では、CLB が選択されています。

    サービスリソースの選択

    ネットワークトラフィックを受信するゾーンを選択します。次に、エンドポイントサービスに関連付ける CLB インスタンスを選択します。

    この例では、フランクフルト ゾーン B手順 1 で作成した CLB インスタンスが選択されています。

    エンドポイント接続を自動で許可

    エンドポイントサービスがエンドポイントからの接続リクエストを自動的に受け入れるかどうかを指定します。この例では、いいえ が選択されています。

    • はい: このオプションを選択すると、エンドポイントサービスはエンドポイントからの接続リクエストを自動的に受け入れます。その結果、エンドポイントを使用してエンドポイントサービスのサービスリソースにアクセスできます。

    • いいえ: このオプションを選択すると、エンドポイントサービスのエンドポイント接続はデフォルトで 切断済み 状態になります。この場合、エンドポイントサービスへの接続リクエストは、サービスプロバイダーが手動で承認または拒否する必要があります。

      • サービスプロバイダーがエンドポイントからの接続リクエストを承認すると、このエンドポイントサービスのサービスリソースにエンドポイントを使用してアクセスできます。

      • サービスプロバイダーがエンドポイントからの接続リクエストを拒否すると、このエンドポイントサービスのサービスリソースにエンドポイントを使用してアクセスできません。

    リソースグループ

    エンドポイントサービスが属するリソースグループを選択します。

エンドポイントサービスの作成後、サービスプロバイダーのアカウント ID がサービスホワイトリストに自動的に追加されます。

エンドポイントサービスの詳細ページで、インスタンス ID とインスタンス名を確認できます。

手順 4: エンドポイントを作成する

  1. エンドポイントコンソール にログインします。

  2. 上部のナビゲーションバーで、エンドポイントを作成するリージョンを選択します。この例では、ドイツ (フランクフルト) が選択されています。

  3. エンドポイント ページで、エンドポイントの作成 をクリックします。

  4. エンドポイントの作成 ページで、次の表に記載されているパラメーターを設定し、OK をクリックします。

    次の表は、このトピックに関連するパラメーターについて説明しています。その他のパラメーターの設定方法については、「エンドポイントの作成と管理」トピックのエンドポイントの作成セクションを参照してください。

    パラメーター

    説明

    エンドポイント名

    エンドポイントの名前を入力します。

    エンドポイントタイプ

    エンドポイントのタイプを選択します。この例では、インターフェースエンドポイント が選択されています。

    エンドポイントサービス

    この例では、手順 3 で作成したエンドポイントサービスが選択されています。

    VPC

    エンドポイントを作成する VPC を選択します。この例では、VPC 1 が選択されています。

    セキュリティグループ

    エンドポイントの Elastic Network Interface (ENI) に関連付けるセキュリティグループを選択します。セキュリティグループは、VPC からエンドポイント ENI へのデータ転送を制御するために使用されます。

    説明

    セキュリティグループのルールで、クライアントからエンドポイント ENI へのアクセスが許可されていることを確認してください。

    ゾーンと Vswitch

    エンドポイントサービスのゾーンを選択し、ゾーン内の vSwitch を選択します。システムは自動的にエンドポイント ENI を作成し、vSwitch に接続します。

    この例では、フランクフルト ゾーン B と VPC 1 に作成された vSwitch が選択されています。

    リソースグループ

    エンドポイントが属するリソースグループを選択します。

エンドポイントの作成後、エンドポイントの詳細ページで、エンドポイントのドメイン名と、選択したゾーンのドメイン名と IP アドレスを確認できます。

手順 5: エンドポイントからの接続リクエストを受け入れる

VPC 1 にエンドポイントを作成した後、エンドポイントからの接続リクエストを受け入れるようにエンドポイントサービスを設定する必要があります。これにより、VPC 1 のリソースはエンドポイントを使用して VPC 2 のエンドポイントサービスにアクセスできます。

説明

手順 3 で [エンドポイント接続を自動的に受け入れる] パラメーターを [はい] に設定した場合は、この手順をスキップします。

  1. 左側のナビゲーションペインで、エンドポイントサービス をクリックします。

  2. 上部のナビゲーションバーで、エンドポイントサービスがデプロイされているリージョンを選択します。この例では、ドイツ (フランクフルト) が選択されています。

  3. エンドポイントサービス ページで、手順 3 で作成したエンドポイントサービスを見つけ、その ID をクリックします。

  4. エンドポイントサービスの詳細ページで、エンドポイント接続タブをクリックし、管理するエンドポイントを見つけて、許可アクション列でクリックします。

  5. 接続を許可 ダイアログボックスで、OK をクリックします。

エンドポイントサービスがエンドポイントからの接続リクエストを受け入れるように許可すると、エンドポイント接続の状態が 切断済み から 接続済み に変わります。その後、エンドポイントサービスはエンドポイントからのリクエストを処理できます。

手順 6: エンドポイントを使用してサービスにアクセスする

説明

この例では、ECS インスタンスは Alibaba Cloud Linux オペレーティングシステムを実行しています。他のオペレーティングシステムで VPC 1 と VPC 2 間のネットワーク接続をテストする方法の詳細については、使用しているオペレーティングシステムのユーザーガイドを参照してください。

次のセクションでは、VPC 1 の ECS 1 がエンドポイントを使用して VPC 2 の ECS 2 と ECS 3 にデプロイされているサービスにアクセスできるかどうかをテストする方法について説明します。

  1. VPC 1 の ECS 1 にログインします。詳細については、ECS インスタンスに接続する方法 を参照してください。

  2. VPC 1 の ECS 1 にログインした後、次のいずれかの方法を使用して VPC 間の接続をテストできます。

    • [エンドポイントサービスのドメイン名] セクションに表示されているドメイン名を使用して、VPC 2 にデプロイされているサービスにアクセスします。

      1. エンドポイントの詳細ページで、生成されたエンドポイントサービスのドメイン名を確認します。

        image

      2. curl コマンドを実行して、ネットワーク接続をテストします。

        image

    • エンドポイントがデプロイされているゾーンのドメイン名または IP アドレスを使用して、VPC 2 にデプロイされているサービスにアクセスします。

      1. エンドポイントの詳細ページで、ゾーンと ENI タブをクリックして、生成されたゾーンのドメイン名と IP アドレスを確認します。

      2. curl コマンドを実行して、ネットワーク接続をテストします。

        image.pngimage.png