PrivateLink サービス

クラウドインフラストラクチャー上のAdobe Commerceは、AWS PrivateLink または Azure Private Link サービスとの統合をサポートしています。 PrivateLink を使用すると、クラウドインフラストラクチャ環境上のAdobe Commerceと、外部システムでホストされるサービスおよびアプリケーションとの間に、安全なプライベート通信を確立できます。 Adobe Commerce アプリケーションと外部システムの両方に、同じクラウドリージョン内の同じクラウドプラットフォーム(AWSまたは Azure)上に設定された Virtual Private Cloud (VPC)エンドポイントを通じてアクセスできる必要があります。

TIP
PrivateLink は、データベースやファイル転送などの非 HTTP (S)統合用の接続を保護するのに最適です。 アプリケーションをAdobe Commerce API と統合する場合は、「Adobe Developer App Builderの API メッシュ 🔗 の AdobeAPI メッシュを作成する方法 を参照してください

機能とサポート

クラウドインフラストラクチャプロジェクト上のAdobe Commerce向け PrivateLink サービス統合には、次の機能およびサポートが含まれます。

  • お客様の Virtual Private Cloud (VPC)と、同じクラウドリージョン内の同じクラウドプラットフォーム(AWSまたは Azure)上のAdobeVPC との安全な接続。

  • AdobeVPC とお客様 VPC のエンドポイントサービス間での一方向性または双方向通信のサポート。

  • サービス有効化:

    • クラウドインフラストラクチャー上のAdobe Commerceで必要なポートを開きます。
    • お客様とAdobeの VPC 間の初期接続の確立
    • イネーブルメント中の接続の問題のトラブルシューティング

制限事項

  • PrivateLink のサポートは、実稼動環境およびステージング環境でのみ使用できます。 ローカル環境、統合環境、スタータープロジェクトでは使用できません。
  • PrivateLink を使用して SSH 接続を確立することはできません。 SSH キーの有効化を参照してください。
  • Adobe Commerce サポートでは、最初のイネーブルメント以降のAWS PrivateLink の問題のトラブルシューティングには対応しません。
  • お客様は、自社の VPC の管理に関連するコストを負担します。
  • Fastly オリジンクローキングが原因で、HTTPS プロトコル(ポート 443)を使用して、Azure プライベートリンク経由でクラウドインフラストラクチャ上のAdobe Commerceに接続することはできません。 この制限は、AWS PrivateLink には適用されません。
  • PrivateDNS は使用できません。

次のネットワーク図に示すように、2 つの PrivateLink 接続タイプを使用して、ストアとクラウド環境の外部でホストされる外部システムとの間の安全な通信を確立できます。

PrivateLink のネットワーク図

クラウドインフラストラクチャ環境のAdobe Commerceに最適な PrivateLink 接続タイプを次の中から 1 つ選びます。

  • 単方向 PrivateLink - クラウドインフラストラクチャストア上のAdobe Commerceから安全にデータを取得する場合は、この設定を選択します。

  • 双方向 PrivateLink - クラウドインフラストラクチャ環境で、Adobe Commerce外部のシステムとの間に安全な接続を確立する場合に選択します。 双方向オプションには、次の 2 つの接続が必要です。

    • お客様の VPC とAdobe VPC の間の接続
    • AdobeVPC とお客様 VPC の間の接続
TIP
PrivateLink 接続タイプの選択に関するヘルプや、VPC のセットアップと管理に関するヘルプは、ネットワーク管理者またはクラウドプラットフォームプロバイダーにお問い合わせください。 詳しくは、Cloud Platform PrivateLink のドキュメント AWS PrivateLink または Azure Private Link を参照してください。
WARNING
PrivateLink の有効化には、最大 5 営業日かかる場合があります。 不完全な情報や不正確な情報を提供すると、プロセスが遅れる場合があります。

前提条件

チェック クラウドインフラストラクチャインスタンス上のAdobe Commerceと同じリージョンにあるクラウドアカウント(AWSまたは Azure)。

チェック PrivateLink 経由で接続するサービスをホストする、顧客環境内の VPC。 VPC 設定のヘルプについては、AWSまたは Azure のドキュメントを参照するか、ネットワーク管理者にお問い合わせください。

チェック 双方向の PrivateLink 接続の場合、PrivateLink 有効化をリクエストする前に、アプリケーションまたはサービスのエンドポイントサービス設定を作成し、VPC 環境にエンドポイントを作成する必要があります。 双方向の PrivateLink 接続用の設定を参照してください。

PrivateLink の有効化に必要な次のデータを収集します。

  • お客様のクラウドアカウント番号 (AWSまたは Azure) – クラウドインフラストラクチャインスタンス上のAdobe Commerceと同じリージョンにある必要があります

  • クラウド地域 – 検証目的でアカウントがホストされているクラウド地域を指定します

  • サービスおよび通信ポート - VPC 間のサービス通信を有効にするには、Adobeがポートを開く必要があります(SQL ポート 3306、SFTP ポート 2222 など)。

  • プロジェクト ID - Adobe Commerce on cloud infrastructure Pro プロジェクト ID を指定します。 次の Cloud CLI コマンドを使用すると、プロジェクト ID およびその他のプロジェクト情報を取得できます。magento-cloud project:info

  • 接続タイプ – 接続タイプに単方向または双方向を指定します

  • エンドポイントサービス – 双方向の PrivateLink 接続の場合、Adobeが接続する必要がある VPC エンドポイントサービスの DNS URL を指定します(例:com.amazonaws.vpce.<cloud-region>.vpce-svc-<service-id>)。

  • エンドポイントサービスへのアクセス権の付与 – 外部サービスに接続するには、エンドポイントサービスから次のAWS アカウントプリンシパルへのアクセスを許可します。arn:aws:iam::402592597372:root

    note warning
    WARNING
    エンドポイントサービスへのアクセスが提供されていない場合、VPC 内のサービスへの双方向の PrivateLink 接続が追加 されない ので、セットアップが遅れます。

Azure プライベートリンクの有効化に固有のその他の前提条件

  • クラスター ID を指定します。SSH を使用して、リモートにログインし、コマンド cat /etc/platform_cluster を使用します。

  • 外部サービスをAdobe Commerce Pro クラスターに接続するには、次のものが必要です。

    • 新しい外部プライベートエンドポイントに公開する Pro クラスター上のポートのリスト
    • プライベートエンドポイント接続の Azure サブスクリプション ID のリスト
  • Adobe Commerce Pro クラスターを外部サービスに接続するには、次が必要です。

    • ターゲットサービスのリソース ID のリスト。 外部プライベートリンクサービス ID は次のようになります。
    code language-text
    /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{svcNameID}
    

イネーブルメントワークフロー

次のワークフローでは、クラウドインフラストラクチャー上のAdobe Commerceと PrivateLink 統合のイネーブルメントプロセスの概要を説明します。

  1. 顧客 件名行 PrivateLink support for <company> で PrivateLink の有効化をリクエストするサポートチケットを送信します。 イネーブルメントに必要なデータをチケットに含めます。 Adobeは、サポートチケットを使用して、イネーブルメントプロセス中のコミュニケーションを調整します。

  2. Adobe カスタマーアカウントがAdobeVPC のエンドポイントサービスにアクセスできるようにします。

    • Adobeエンドポイントサービス設定を更新して、カスタマーAWSまたは Azure アカウントから開始されたリクエストを受け入れます。
    • サポートチケットを更新して、接続先のAdobe VPC エンドポイントのサービス名(例:com.amazonaws.vpce.<cloud-region>.vpce-svc-<service-id>)を指定します。
  3. 顧客 Cloud アカウント(AWSまたは Azure)にAdobeエンドポイントサービスを追加します。これにより、Adobeへの接続リクエストがトリガーされます。 手順については、Cloud Platform のドキュメントを参照してください。

  4. Adobe が接続リクエストを承認します。

  5. 接続要求が承認されると、VPC とAdobeVPC の間の お客様 接続の確認が行われます。

  6. 双方向接続を有効にするための追加手順:

    • Adobe Adobeアカウントプリンシパル(AWSまたは Azure アカウントのルートユーザー)を提供し、カスタマー VPC エンドポイントサービスへのアクセスをリクエストします。

    • お客様 お客様の VPC のエンドポイントサービスへのAdobeアクセスを有効にします。 これは、前述の Endpoint service access granted 前提条件で説明したように、Adobeアカウントプリンシパルが arn:aws:iam::402592597372:root へのアクセス権を持っていることを前提としています。

    • Adobe カスタマーエンドポイントサービスをAdobeプラットフォームアカウント(AWSまたは Azure)に追加します。これにより、お客様の VPC への接続リクエストがトリガーされます。

    • お客様、Adobeからの接続リクエストを承認して設定を完了します。

    • お客様 AdobeVPC から 接続を確認します。

VPC エンドポイントサービス接続のテスト

Telnet アプリケーションを使用して、VPC エンドポイント サービスへの接続をテストできます。

VPC エンドポイントサービスへの接続をテストするには:

  1. PrivateLink エンドポイントサービスにアクセスするように設定されたステージング環境または実稼動環境を、プロジェクトのルートディレクトリから チェックアウト します。

    code language-bash
    magento-cloud environment:checkout <environment-id>
    
  2. 次の CURL コマンドを実行します。

    code language-bash
    curl -v telnet://<endpoint-service-dns-url>:<port>/
    

    例:

    code language-none
    $ curl -v telnet://vpce-007ffnb9qkcnjgult-yfhmywqh.vpce-svc-083cqvm2ta3rxqat5v.us-east-1.vpce.amazonaws.com:80 -vvv
    

    成功した応答のサンプル:

    code language-none
    * Rebuilt URL to: telnet://vpce-007ffnb9qkcnjgult-yfhmywqh.vpce-svc-083cqvm2ta3rxqat5v.us-east-1.vpce.amazonaws.com:80
    * Connected to vpce-0088d56482571241d-yfhmywqh.vpce-svc-083cqvm2ta3rxqat5v.us-east-1.vpce. amazonaws.com (191.210.82.246) port 80 (#0)
    

    失敗した応答のサンプル:

    code language-none
    Failed to connect to vpce-007ffnb9qkcnjgult-yfhmywqh.vpce-svc-083cqvm2ta3rxqat5v.ap-southeast-1.vpce.amazonaws.com port 80: Connection timed out
    * Closing connection 0
    
  3. サービスが VM をリッスンしていることを確認します。

    code language-bash
    netstat -na | grep <port>
    
  4. パッケージフローを確認します。

    code language-bash
    tcpdump -i <ethernet-interface> -tt -nn port <destination-port> and host <source-host>
    

    次の内部設定をチェックして、設定が有効であることを確認します。

    • エンドポイントとエンドポイントサービスの設定
    • ネットワーク ロード バランサー(NLB)の設定
    • NLB 内のターゲット グループは正常であることを確認します
    • 各 VM の netcat/curl エンドポイント URL (上記を参照)

    接続に関する問題のトラブルシューティングについて詳しくは、次の記事を参照してください。

    • [AWS: エンドポイント サービス接続のトラブルシューティング ]
    • [Amazon: Azure プライベート リンク接続の問題のトラブルシューティング ]

    エラーを解決できない場合は、Adobe Commerce サポートチケットを更新して、接続の確立に関するヘルプをリクエストします。

既存の PrivateLink 設定を変更するには、Adobe Commerce サポートチケットを送信します。 例えば、次のような変更をリクエストできます。

  • Cloud infrastructure Pro 実稼動環境またはステージング環境のAdobe Commerceから PrivateLink 接続を削除します。
  • Adobeエンドポイントサービスにアクセスするための顧客の Cloud Platform アカウント番号を変更します。
  • お客様の VPC 環境で利用可能な他のエンドポイントサービスへの PrivateLink 接続をAdobeVPC から追加または削除します。

双方向 PrivateLink 接続をサポートするには、お客様の VPC に次のリソースが必要です。

  • ネットワーク ロード バランサー(NLB)
  • 顧客 VPC からのアプリケーションまたはサービスへのアクセスを可能にするエンドポイントサービス設定
  • Adobeが VPC でホストされているエンドポイントサービスに接続できる [ インターフェイスエンドポイント ] (AWS)または プライベートエンドポイント(Azure)

これらのリソースが顧客 VPC で使用できない場合は、Cloud Platform アカウントにサインインして設定を追加する必要があります。

  • Amazon VPC コンソール - https://console.aws.amazon.com/vpc/
  • Azure portal- https://portal.azure.com

PrivateLink の設定手順については、Cloud Platform のドキュメントを参照してください。

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26