MaxCompute はデフォルトで分離されたネットワーク上で動作しており、外部サービスにアクセスできません。MaxCompute からパブリックエンドポイント、VPC リソース、または他の Alibaba Cloud サービスにアクセスする場合、またはご利用の VPC から MaxCompute にアクセスする場合は、事前にネットワーク接続を構成する必要があります。
このトピックでは、利用可能な 6 つのネットワークソリューション、その適用シナリオ、サポート対象リージョン、および制限事項について説明します。
仕組み
MaxCompute はプロキシレイヤーを介して外部サービスに接続します。以下の図は、MaxCompute とターゲットサービス間のネットワーク構造を示しています。
利用可能なネットワークソリューションは、次の 2 つのカテゴリに分類されます。
アウトバウンドアクセス(MaxCompute が外部サービスにアクセス):インターネットアクセス、VPC 専用接続、Alibaba Cloud サービスアクセス。
インバウンドアクセス(外部サービスが MaxCompute にアクセス):VPC PrivateLink、VPC ピアリング、Cloud Enterprise Network (CEN)。
ネットワークソリューションの選択
次の表を使用して、ご利用のシナリオに適したソリューションを特定してください。
ソリューション | 方向 | 使用タイミング | サポート対象コンピュートエンジン |
アウトバウンド | MaxCompute からパブリック IP アドレスまたはドメイン名にアクセスする場合 | UDF、Spark、MapReduce (MR)、PyODPS/Mars | |
アウトバウンド | MaxCompute から RDS、HBase クラスター、Hadoop クラスターなどの VPC リソースにアクセスする場合 | SQL、UDF、Spark、PyODPS/Mars、外部テーブル、データレイクハウスアーキテクチャ | |
アウトバウンド | OSS、DLF、Tablestore、Hologres にイントラネットアドレス経由でアクセスする場合 | SQL、UDF、Spark、PyODPS/Mars、外部テーブル、データレイクハウスアーキテクチャ | |
インバウンド | ご利用の VPC から非公開エンドポイント経由で MaxCompute に接続する場合 | -- | |
インバウンド | 別のリージョンの VPC から MaxCompute にアクセスする場合 | -- | |
インバウンド | Cloud Enterprise Network (CEN) を使用して複数リージョン間の VPC を相互接続する場合 | -- |
アウトバウンドアクセスソリューション
インターネットアクセス
ユーザー定義関数 (UDF)、Spark、MapReduce (MR)、または PyODPS/Mars タスクからパブリック IP アドレスまたはドメイン名にアクセスします。
セットアップの概要:
VPC 専用接続
MaxCompute の SQL、UDF、Spark、PyODPS/Mars、外部テーブル、またはデータレイクハウスアーキテクチャのワークロードから、VPC 内の RDS、HBase クラスター、Hadoop クラスターなどのサービスにアクセスします。
セットアップの概要:
VPC コンソールにログインし、MaxCompute に権限を付与します。
MaxCompute コンソールで MaxCompute と VPC 間の接続を作成します。
接続が作成されると、MaxCompute コンソールにエラスティックネットワークインターフェース (ENI) が表示されます。接続作成時に指定したセキュリティグループが、この ENI のアクセスルールを制御します。
対象サービスにアクセスの制御が有効になっている場合は、ENI の IP アドレスまたは vSwitch の CIDR ブロックをホワイトリストに追加します。
MaxCompute は特定の 1 つの VPC ID のみにネットワーク接続を確立します。同一または異なるリージョンの他の VPC にアクセスするには、VPC ピアリング、CEN、またはその他の VPC 相互接続ソリューションを使用して、それらを構成済みの VPC に接続してください。
Alibaba Cloud サービスアクセス
MaxCompute の SQL、UDF、Spark、PyODPS/Mars、外部テーブル、またはデータレイクハウスアーキテクチャのワークロードから、OSS、DLF、Tablestore、Hologres などの Alibaba Cloud サービスにイントラネットアドレス経由でアクセスします。
エンドポイントのルール:
アクセス方法 | 必要なエンドポイントタイプ |
OSS または Tablestore 外部テーブル | イントラネットエンドポイントのみ |
UDF による OSS または Tablestore の呼び出し | パブリックエンドポイントのみ |
Hologres 外部テーブル | クラシックネットワークドメイン名(エンドポイント内の クラシックネットワーク アドレスを参照) |
インバウンドアクセスソリューション
ソリューション | 使用タイミング | 詳細 |
ご利用の VPC から非公開エンドポイント経由で MaxCompute に接続する場合 | リンク先のトピックをご参照ください。 | |
別のリージョンの VPC から MaxCompute にアクセスする場合 | リンク先のトピックをご参照ください。 | |
CEN を使用して複数リージョン間の VPC を相互接続する場合 | リンク先のトピックをご参照ください。 |
サポート対象リージョン
インターネットアクセスおよび VPC 専用接続は、以下のリージョンでのみ利用可能です。
インターネットアクセス
サポート対象リージョン:
中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、中国 (香港)
日本 (東京)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)
サポート対象ターゲット:パブリック IP アドレスまたはドメイン名。
VPC 専用接続
サポート対象リージョンおよびゾーン:
リージョン | ゾーン |
中国 (杭州) | H、I、J、K |
中国 (北京) | F、G、H、I、L |
中国 (上海) | B、E、G、M、N |
中国 (張家口) | A、B、C |
中国 (ウランチャブ) | B、C |
中国 (深セン) | C、D、E、F |
中国 (香港) | B、C |
中国 (上海) Finance Cloud | F |
日本 (東京) | A、B |
シンガポール | A、B、C |
マレーシア (クアラルンプール) | A、B |
インドネシア (ジャカルタ) | A、B |
ドイツ (フランクフルト) | A、B、C |
米国 (シリコンバレー) | A、B |
米国 (バージニア) | A、B |
サポート対象ターゲット:VPC の IP アドレスまたはドメイン名、RDS、HBase クラスター、Hadoop クラスター。
制限事項
MaxCompute からのインターネットおよび VPC アウトバウンドアクセスは無料サービスですが、以下の制限があります。
制限事項 | 説明 |
フェールオーバーによる再実行 | ネットワーク接続性は保証されますが、お客様のコードによってトリガーされたネットワーク操作に対してプラットフォームがフェールオーバーを行う際にノードが再実行される可能性があります。コードがべき等であることを確認してください。可能な限りデータ読み取り操作を実行してください。書き込み操作の場合は、繰り返し書き込みによるダーティデータを防ぐための保護措置を実装してください。 |
プロキシの容量 | アクセスは転送能力が制限されたプロキシを経由します。持続的接続を使用し、ノード数を制限してください。同時実行数や接続数が多すぎると、ネットワークリクエストが失敗する可能性があります。 |
帯域幅の保証なし | 帯域幅は保証されておらず、タスクの実行が遅くなる可能性があります。帯域幅制限によるパフォーマンス低下について、Alibaba Cloud は責任を負いません。 |
制限付きエグレス IP | プロキシが使用する送信元 IP アドレスの数は限定されています。接続動作が異常な場合は、Alibaba Cloud テクニカルサポートにお問い合わせください。 |
送信元 IP アドレスの変更 | 送信元 IP アドレスは変更される可能性があります。対象サービスで IP アドレスベースのアクセスの制御を有効にしないでください。プロキシの送信元 IP をホワイトリストに追加した場合でも、Alibaba Cloud はその IP アドレスが変更されないことを保証できません。 |
MaxCompute のネットワーク接続を確立した後も、ジョブ実行時にアクセスに関する問題が発生する場合があります。このような問題は、ジョブ実行に使用するツールのネットワーク制限に起因する可能性があります。たとえば、DataWorks を使用してデータ同期またはデータクリーニングを行う場合は、DataWorks リソースグループがデータソースに接続できること、および DataWorks サンドボックスのホワイトリストがアクセスを許可していることを確認してください。DataWorks のネットワーク接続およびサンドボックス構成の詳細については、「ネットワーク接続ソリューション」をご参照ください。
よくある質問
高い同時実行性下での DNS 解決の失敗
UDF または Spark タスク実行中に、大量の同時リクエストがターゲットドメイン名に送信されると、DNS 解決が過負荷になる可能性があります。
これを回避するには、タスク初期化フェーズでドメイン名を IP アドレスに解決し、実行中はすべてのリクエストに解決済みの IP アドレスを使用してください。詳細については、「高い同時実行性により DNS 解決が失敗する」をご参照ください。
IP アドレスを直接使用した HTTPS アクセスの失敗
Spark または UDF タスクが HTTPS 経由でリモート VPC サービス(KMS や OSS など)にアクセスする際、ドメイン名ではなく IP アドレスで接続すると、証明書の検証エラーが発生します。
リクエストの Host ヘッダーにドメイン名を追加してください。これにより、IP アドレスを使用して HTTPS サービスにアクセスする際に発生する検証エラーを解消できます。詳細については、「IP アドレスを使用して HTTPS サービスにアクセスする」をご参照ください。