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

MaxCompute:パブリックネットワークへのアクセス

最終更新日:Jan 30, 2026

この方法では、MaxCompute のユーザー定義関数 (UDF)、Spark、MapReduce (MR)、PyODPS、または Mars を使用して、パブリック IP アドレスまたはドメイン名にアクセスできます。

適用範囲

  • サポートされているトップレベルドメイン名:aliyun.com、amap.com、dingtalk.com、alicloudapi.com、cainiao.com、alicdn.com、taobao.com、alibaba.com、alipaydev.com、alibabadns.com。

  • IPv6 アドレスは設定できません。パブリック IP アドレスの数に制限はありません。

  • 外部ネットワークアドレスが自動検証に失敗した場合は、アドレスを削除して再送信してください。アドレスが引き続き必要な場合は、リクエストフォームを送信して外部ネットワークアドレスを設定できます。詳細については、「ネットワークアクティベーションプロセス」をご参照ください。

操作手順

ステップ 1:アカウントとプロジェクトの準備

MaxCompute とターゲットサービス間のネットワーク接続を有効にする前に、次の条件が満たされていることを確認してください。

  1. MaxCompute プロジェクトを作成します。データレイクハウスのシナリオでは、MaxCompute プロジェクトのデータ型を Hive 互換タイプに設定します。

  2. VPC 内のターゲットサービスにアクセスするには、VPC オーナーアカウント、MaxCompute プロジェクトへのアクセスに使用する Alibaba Cloud アカウント、およびターゲットサービス環境またはクラスターの管理者アカウントが同じルートアカウントに属していることを確認してください。

ステップ 2:プロジェクト管理での外部ネットワークアドレスの編集

aliyun.com などの頻繁に使用されるパブリック IP アドレスまたはドメイン名については、MaxCompute コンソールの プロジェクト管理 セクションで直接追加および削除できます。

  1. MaxCompute コンソールにログインし、左上隅でリージョンを選択します。

  2. 左側のナビゲーションウィンドウで、構成の管理 > プロジェクト管理 を選択します。

  3. プロジェクト管理 ページで、目的のプロジェクトを見つけ、操作 列の 管理 をクリックします。

  4. プロジェクト設定 ページで、パラメーター設定 タブを選択できます。

  5. MaxCompute外部ネットワーク]セクションで、[編集]をクリックします。

    MaxCompute がアクセスを許可する外部ネットワークアドレスを設定します。

  6. 提出 をクリックします。

自動検証に失敗したパブリック IP アドレスまたはドメイン名については、次の手順を実行します

  1. リクエストフォームを送信して、パブリック IP アドレスまたはドメイン名とポートをホワイトリストに追加します。

  2. MaxCompute テクニカルサポートチームがリクエストを受信した後、レビューを行い、設定を完了します。リクエストは通常 3 営業日以内に処理されます。リクエストが処理された後、後続のステップに進むことができます。レビュー結果に異議がある場合は、チケットを送信できます。

ステップ 3:パブリックネットワークアドレスへのアクセス

SQL UDF、Spark、または MaxFrame ジョブを使用してパブリックネットワークにアクセスする場合は、次の設定を追加します。

他の種類のジョブについては、ジョブの種類に基づいて設定情報を調整してください。

SQL ユーザー定義関数 (UDF) ジョブ

  • パラメーターは次のように設定されます。

    -- ネットワーク接続リクエストフォームで設定したパブリック IP アドレスまたはドメイン名とポートを設定します。これは、次の SQL 文がアクセスするパブリック IP アドレスまたはドメイン名です。
    -- 複数のドメイン名またはポートにアクセスするには、カンマ (,) で区切ります。
    SET odps.internet.access.list=<ip_address:port|realm_name:port>;
    -- SQL 文を実行して UDF を呼び出します。
    SELECT <UDF_name>("<http://ip_address|realm_name>");
  • ip_address:port | domain_name:port:必須。ターゲットのパブリック IP アドレスまたはドメイン名とポート。

  • UDF_name:パブリック IP アドレスまたはドメイン名へのアクセスに使用される UDF の名前。

  • 次のコードはジョブの例です。

    package com.aliyun.odps.test.udf;
    import com.aliyun.odps.udf.UDF;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.URL;
    public class <UDF_name> extends UDF {
        public String evaluate(String urlStr) throws IOException {
            URL url = new URL(urlStr);
            StringBuilder sb = new StringBuilder();
            try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    sb.append(line).append('\n');
                }
            }
            return sb.toString();
        }
    }
  • 実行:サンプルコードに基づいて作成された UDF の名前が url_fetch であると仮定します。ネットワーク接続リクエストが承認された後、次のサンプルコマンドを実行できます。

    SET odps.internet.access.list=www.aliyun.com:80;
    SELECT url_fetch("http://www.aliyun.com");

Spark on MaxCompute ジョブ

この設定項目を Spark クライアントの conf ファイル、または DataWorks で Spark ジョブを送信する際の設定項目に追加します。

spark.hadoop.odps.cupid.smartnat.enable = true;
spark.hadoop.odps.cupid.internet.access.list=<ip_address:port>

MaxFrame ジョブ

パラメーターは次のように設定されます。

from maxframe import options
options.sql.settings = {
    "odps.internet.access.list": "<host>:80,<host>:443",
}

(任意) ステップ 4:ホワイトリストへの IP アドレスの追加

サーバー側でアクセス制御が有効になっている場合は、MaxCompute がパブリックネットワークへのアクセスに使用するエグレス IP アドレスをサービスホワイトリストに追加します。