このトピックでは、MaxCompute とターゲットサービス間のネットワーク構造と、サポートされているネットワーク有効化ソリューションについて説明します。
機能紹介
デフォルトでは、MaxCompute からインターネットまたは Virtual Private Cloud (VPC) 内のターゲットサービスにアクセスすることはできません。指定された IP アドレス、ドメイン名、RDS、HBase クラスター、Hadoop クラスターなどのターゲットサービスにアクセスするには、ホワイトリストを設定するか、ネットワーク接続を有効にする必要があります。
ネットワーク構造
次の図は、MaxCompute とターゲットサービス間のネットワーク構造を示しています。
ネットワーク有効化ソリューション
MaxCompute インターネットアクセスソリューション
シナリオ
このソリューションは、MaxCompute のユーザー定義関数 (UDF)、Spark、MapReduce (MR)、または PyODPS/Mars を使用して、インターネット上のターゲット IP アドレスまたはドメイン名にアクセスする場合に適用されます。
操作の概要
aliyun.com などのパブリック IP アドレスまたはドメイン名については、MaxCompute コンソールの [プロジェクト管理] セクションで直接追加または削除できます。
自動検証に失敗したパブリック IP アドレスまたはドメイン名については、チケットを送信する必要があります。審査は 3 営業日以内に完了します。リクエストが承認されると、セキュリティ制限がない限り、ターゲットの IP アドレスまたはドメイン名にアクセスできます。
ターゲットのパブリック IP アドレスまたはドメイン名にアクセス制御の制限がある場合は、サービス管理者に連絡して制限を解除してください。これにより、MaxCompute がパブリック IP アドレスまたはドメイン名にアクセスできるようになります。
MaxCompute VPC アクセスソリューション (専用接続)
シナリオ
このソリューションは、MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部テーブル、またはデータレイクハウスアーキテクチャを使用して、RDS、HBase クラスター、Hadoop クラスターなど、VPC 内のサービスにアクセスする場合に適用されます。
操作の概要
VPC コンソールにログインして MaxCompute に権限を付与します。その後、MaxCompute コンソールで MaxCompute と VPC 間の接続を作成します。
接続が作成されると、MaxCompute コンソールで MaxCompute によって作成された Elastic Network Interface (ENI) を表示できます。この ENI のアクセスルールは、VPC 接続の作成時に指定したセキュリティグループによって制御されます。
ターゲットサービスでアクセス制御が有効になっている場合は、ENI の IP アドレスまたは vSwitch の CIDR ブロックをサービスのホワイトリストに追加します。
MaxCompute が VPC にアクセスする場合、指定された VPC ID へのネットワーク接続のみを確立します。同じリージョンまたは異なるリージョン内の他の VPC にアクセスするには、他の VPC ソリューションを使用して、専用接続で設定された VPC に接続できます。
シナリオ
このソリューションは、MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部テーブル、またはデータレイクハウスアーキテクチャを使用して、OSS、DLF、Tablestore、Hologres などの Alibaba Cloud サービスにアクセスする場合に適用されます。接続には、Alibaba Cloud サービスによって提供される内部ネットワークアドレスが使用されます。
操作の概要
OSS または Tablestore の外部テーブルを作成する場合、OSS または Tablestore の内部エンドポイント経由でのみテーブルにアクセスできます。
UDF を呼び出して OSS または Tablestore にアクセスする場合、パブリックエンドポイント経由でのみアクセスできます。
外部テーブルを使用して Hologres にアクセスするには、クラシックネットワークのドメイン名を使用する必要があります。詳細については、「エンドポイント」の クラシックネットワーク アドレスをご参照ください。
このソリューションは、あるリージョンの VPC を使用して、別のリージョンの MaxCompute サービスにアクセスする場合に適用されます。
このソリューションは、Cloud Enterprise Network (CEN) を使用してリージョン間で VPC を相互接続する場合に適用されます。
適用範囲
MaxCompute のインターネットおよび VPC アクセスソリューションは、次のリージョンでのみサポートされています。
ソリューションタイプ | サポート対象リージョン | サポート対象 |
| パブリック IP アドレスまたはドメイン名 | |
|
|
免責事項
MaxCompute からのインターネットおよび VPC へのアクセスは無料サービスですが、次の制限事項があります。
ネットワーク接続は保証されます。ただし、コードによってトリガーされたネットワーク操作のフェイルオーバーにより、プラットフォームがノードを再実行する場合があります。コードがべき等であることを確認してください。データの読み取り操作のみを実行することを推奨します。書き込み操作を実行する場合は、繰り返し書き込みによって発生する可能性のあるダーティデータを防ぐ必要があります。
アクセスには転送機能が制限されたプロキシが必要です。持続的接続を使用し、ノード数を制限することを推奨します。過度の同時実行性や多すぎる接続は、ネットワークリクエストの失敗を引き起こす可能性があります。
帯域幅は保証されておらず、タスクの実行が遅くなる可能性があります。Alibaba Cloud は、いかなるパフォーマンスの低下についても責任を負いません。
プロキシが使用する送信元 IP アドレスの数には限りがあります。異常な接続動作が発生した場合は、Alibaba Cloud のテクニカルサポートに連絡して支援を求めてください。
送信元 IP アドレスは変更される可能性があります。ターゲットサービスで IP アドレスベースのアクセス制御を有効にしないことを推奨します。プロキシの送信元に対して IP アドレスのホワイトリストを設定した場合、Alibaba Cloud は送信元 IP アドレスが変更されないことを保証できません。
MaxCompute のネットワーク接続を確立した後でも、MaxCompute ジョブの実行時にアクセスに関する問題が発生することがあります。これらの問題は、ジョブの実行に使用するツールのネットワーク制限が原因である可能性があります。たとえば、DataWorks を使用してデータ同期やデータクリーニングを行う場合、DataWorks リソースグループがデータソースに接続できること、および DataWorks サンドボックスのホワイトリストがデータソースへのアクセスを許可していることを確認する必要があります。DataWorks リソースグループのネットワーク接続とサンドボックスの設定に関する詳細については、「ネットワーク接続ソリューション」をご参照ください。
よくある質問
高い同時実行性による DNS 解決の失敗
問題の説明: UDF または Spark タスクの実行中に、ターゲットのドメイン名にアクセスするための多くの同時リクエストが生成されます。これにより、DNS 解決が失敗します。
解決策: タスクの初期化フェーズでドメイン名を IP アドレスに解決します。その後、実行フェーズで解決された IP アドレスを使用してアクセスします。詳細については、「高い同時実行性による DNS 解決の失敗」をご参照ください。
IP アドレスを使用した HTTPS サービスへのアクセス
問題の説明: Spark または UDF タスクが VPC 内のリモートサービス (KMS や OSS など) にアクセスする場合、HTTPS を使用する必要があります。IP アドレスを使用してターゲットサービスに直接アクセスすると、エラーが報告されます。
解決策: リクエストのホストにドメイン名を追加します。これにより、IP アドレスを使用して HTTPS サービスに直接アクセスする際に発生する検証エラーが解決されます。詳細については、「IP アドレスを使用して HTTPS サービスにアクセスする」をご参照ください。