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

Function Compute:ネットワークの設定

最終更新日:Aug 04, 2026

デフォルトでは、Function Compute で作成された関数はパブリックネットワークにアクセスできますが、Virtual Private Cloud (VPC) 内のリソースにはアクセスできません。関数が VPC リソースにアクセスできるようにしたり、関数の呼び出しを特定の VPC に制限したりするには、ネットワーク設定と権限を手動で設定する必要があります。このトピックでは、Function Compute コンソールで関数のネットワーク設定を行う方法を説明します。

注意事項

Alibaba Cloud Container Registry (ACR) Enterprise Edition インスタンスイメージから作成された GPU アクセラレーション関数に VPC アクセスを設定する場合、VPC と vSwitch の選択は以下の原則に従う必要があります。

  • ACR Enterprise Edition インスタンスの [アクセス制御] ページに [デフォルト解決] タグが付いた [アクセス IP] が表示される場合、関数の VPC と vSwitch は、デフォルト解決 IP アドレスに対応する VPC と vSwitch に設定する必要があります。

  • ACR Enterprise Edition インスタンスの [アクセス制御] ページに [デフォルト解決] タグが付いていない [アクセス IP] が表示される場合、関数の VPC と vSwitch は、インスタンスにバインドされている任意のペアに設定できます。

ネットワークアクセス機能

VPC アクセスを有効にすると、FC のコールドスタートレイテンシーが増加する可能性があります。この設定は必要な場合にのみ使用することを推奨します。代替案として、RAM 認証を使用してリソースにアクセスすることを検討してください。詳細については、「関数ロールを使用した他のクラウドサービスへのアクセス」をご参照ください。

関数が呼び出されたとき、またはネットワークアドレスにアクセスしたときにトラフィックが生成されます。このトラフィックは、次のカテゴリに分類されます。

  • パブリックネットワークトラフィック:Alibaba Cloud の公式サイト、Taobao、またはクラウドサービスのパブリックエンドポイントなど、インターネットアドレスへのアクセスから生成されるトラフィック。

  • VPC トラフィック:RDS エンドポイント、NAS エンドポイント、または ECS インスタンスのプライベート IP アドレスなど、VPC 内のリソースへのアクセスから生成されるトラフィック。

関数のネットワークアクセス機能は、設定によって異なります。必要に応じて設定してください。

  • 関数のエグレストラフィック:これは、関数がパブリックネットワークまたは VPC 内のリソースにエグレストラフィックを送信できるかどうかを指します。対応する設定は、[VPC アクセスを許可] と [関数によるパブリックネットワークへのアクセスを許可] です。

    表 1. 関数のエグレストラフィック

    設定

    説明

    関数がパブリックネットワークにのみアクセスすることを許可

    関数はパブリックネットワークと Function Compute の内部ネットワークにアクセスします。VPC を介したアクセスは無効になります。

    必要なネットワーク設定:

    • [VPC アクセスを許可] を [いいえ] に設定します。

    • [関数によるパブリックネットワークへのアクセスを許可] を [はい] に設定します。

    関数が VPC にのみアクセスすることを許可

    関数は、VPC を介してのみパブリックネットワークと内部リソースにアクセスします。これは、PrivateZone、NAT Gateway、または VPC にバインドされた関数を含むシナリオに適しています。

    必要なネットワーク設定:

    • [VPC アクセスを許可] を [はい] に設定し、関数がアクセスできる VPC 情報を設定します。

    • [関数によるパブリックネットワークへのアクセスを許可] を [いいえ] に設定します。

    関数がパブリックネットワークと VPC の両方にアクセスすることを許可

    • 非 GPU 関数の場合:

      • 関数のネットワークを介してパブリックネットワークにアクセスします。

      • VPC を介して内部ネットワークにアクセスします。PrivateZone はプライベートドメイン名の解決でサポートされています。

    • GPU 関数の場合:

      • 関数のネットワークを介してパブリックネットワークと 100.0.0.0/8 CIDR ブロックの内部ネットワークにアクセスします。

      • VPC を介して 100.0.0.0/8 CIDR ブロック外の内部ネットワークにアクセスします。PrivateZone はプライベートドメイン名の解決ではサポートされていません。この機能を有効にするには、チケットを送信する必要があります。

    必要なネットワーク設定:

    • [VPC アクセスを許可] を [はい] に設定し、関数がアクセスできる VPC 情報を設定します。

    • [関数によるパブリックネットワークへのアクセスを許可] を [はい] に設定します。

    関数がパブリックネットワークと VPC の両方にアクセスするのを禁止

    関数は Function Compute の内部ネットワークにアクセスできます。パブリックネットワークと VPC へのアクセスは無効になります。必要なネットワーク設定:

    • [VPC アクセスを許可] を [いいえ] に設定します。

    • [関数によるパブリックネットワークへのアクセスを許可] を [いいえ] に設定します。

  • 関数のイングレストラフィック:これは、関数がパブリックネットワークまたは VPC からイングレストラフィックを受信できるかどうかを指します。対応する設定は [指定された VPC からのみ関数を呼び出すことを許可] です。

    表 2. 関数のイングレストラフィック

    設定

    説明

    関数がパブリックネットワークと VPC の両方から呼び出されることを許可

    デフォルトでは、新しい関数はパブリックネットワークと VPC 内から呼び出すことができます。デフォルトのネットワーク設定は次のとおりです:

    • [指定された VPC からのみ関数を呼び出すことを許可] を [いいえ] に設定します。

    関数が指定された VPC からのみ呼び出されることを許可

    この設定により、指定された VPC からの関数の呼び出しのみが許可され、パブリックネットワークからのリクエストは拒否されます。必要なネットワーク設定:

    • [指定された VPC からのみ関数を呼び出すことを許可] を [はい] に設定し、関数を呼び出すことができる VPC を設定します。

サポートされているアベイラビリティーゾーン

クリックして Function Compute でサポートされているアベイラビリティーゾーンを表示

リージョン

リージョン ID

サポートされているアベイラビリティーゾーン

中国 (杭州)

cn-hangzhou

  • cn-hangzhou-h

  • cn-hangzhou-i

  • cn-hangzhou-j

  • cn-hangzhou-k

  • cn-hangzhou-f

  • cn-hangzhou-g

中国 (上海)

cn-shanghai

  • cn-shanghai-m

  • cn-shanghai-l

  • cn-shanghai-n

  • cn-shanghai-b

  • cn-shanghai-e

  • cn-shanghai-g

  • cn-shanghai-f

中国 (青島)

cn-qingdao

cn-qingdao-c

中国 (北京)

cn-beijing

  • cn-beijing-i

  • cn-beijing-h

  • cn-beijing-k

  • cn-beijing-j

  • cn-beijing-l

  • cn-beijing-c

  • cn-beijing-e

  • cn-beijing-g

  • cn-beijing-f

中国 (張家口)

cn-zhangjiakou

  • cn-zhangjiakou-b

  • cn-zhangjiakou-c

  • cn-zhangjiakou-a

中国 (フフホト)

cn-huhehaote

  • cn-huhehaote-a

  • cn-huhehaote-b

中国 (深圳)

cn-shenzhen

  • cn-shenzhen-e

  • cn-shenzhen-d

  • cn-shenzhen-f

中国 (成都)

cn-chengdu

  • cn-chengdu-a

  • cn-chengdu-b

香港 (中国)

cn-hongkong

  • cn-hongkong-d

  • cn-hongkong-c

  • cn-hongkong-b

シンガポール

ap-southeast-1

  • ap-southeast-1a

  • ap-southeast-1c

  • ap-southeast-1b

マレーシア (クアラルンプール)

ap-southeast-3

ap-southeast-3a

インドネシア (ジャカルタ)

ap-southeast-5

  • ap-southeast-5a

  • ap-southeast-5b

日本 (東京)

ap-northeast-1

  • ap-northeast-1c

  • ap-northeast-1b

  • ap-northeast-1a

英国 (ロンドン)

eu-west-1

eu-west-1a

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

eu-central-1

  • eu-central-a

  • eu-central-1a

  • eu-central-1b

米国 (シリコンバレー)

us-west-1

  • us-west-1a

  • us-west-1b

米国 (バージニア)

us-east-1

  • us-east-1b

  • us-east-1a

リソースが Function Compute でサポートされていないアベイラビリティーゾーンにある場合、Function Compute がサポートするアベイラビリティーゾーン内の VPC 環境に vSwitch を作成し、この vSwitch ID を Function Compute 関数の VPC 設定に設定できます。同じ VPC 内の vSwitch はプライベートネットワークを介して相互に通信できるため、Function Compute は vSwitch を使用して同じ VPC 内の他のアベイラビリティーゾーンのリソースにアクセスできます。詳細については、「'vSwitch is in unsupported zone' エラーが発生した場合の対処方法」をご参照ください。

前提条件

ネットワークとロールの設定

  1. Function Compute コンソールにログインします。左側メニューで、関数管理 > 関数リスト を選択します。

  2. 上部メニューでリージョンを選択します。関数リスト ページで、対象の関数をクリックします。

  3. 関数詳細ページで、設定 タブをクリックし、詳細設定 セクションの 変更 をクリックします。

  4. 詳細設定 パネルで ネットワーク セクションを見つけ、必要に応じて設定し、デプロイ をクリックします。

    • [VPC アクセスを許可]:関数が VPC 内のリソースにアクセスできるかどうかを制御します。選択肢は次のとおりです。

      • [有効化]:関数が VPC 内のリソースにアクセスできるようにします。[有効化] を選択した後、[設定方法] を選択する必要があります。選択肢は次のとおりです。

        • (推奨) [自動設定]:Function Compute は VPC、vSwitch、セキュリティグループなどのリソースを自動的に作成します。システムは新しいリソースを作成する代わりに、現在のリージョンにある既存のリソースを再利用します。

        • [カスタム設定]:既存のネットワークリソースを手動で選択する必要があります。事前に必要なリソースを作成しておく必要があります。

          • VPC:リストからアクセスしたい VPC を選択します。

            重要

            選択した VPC には最大 10 個の vSwitch を作成できます。

          • vSwitch:リストから少なくとも 1 つの vSwitch を選択します。

            このフィールドは、Function Compute がアクセスできるサブネットを指定します。2 つ以上の vSwitch を指定することを推奨します。これにより、アベイラビリティーゾーンで障害が発生した場合や、サブネットの IP アドレスが枯渇した場合に、関数を他のサブネットで実行できるようになります。

          • セキュリティグループ:リストからセキュリティグループを選択します。

            このセキュリティグループは、Elastic Network Interface (ENI) を関数に関連付け、VPC 内のリソースへのアクセスを制御します。デフォルトでは、セキュリティグループのアウトバウンドルールはすべてのトラフィックを許可します。また、アウトバウンドルールを設定して、関数の詳細なアクセスコントロールポリシーを定義することもできます。

            説明

            セキュリティグループのアウトバウンドルールは、ICMP プロトコルを許可する必要があります。Function Compute は ICMP を使用して VPC のネットワーク接続性を確認します。

      • [無効化]:関数が VPC 内のリソースにアクセスできないようにします。

    • [固定パブリック IP]:NAT Gateway と Elastic IP Address を使用して、インターネットアクセス用の固定パブリック IP アドレスを取得するかどうかを指定します。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。

    • [デフォルト ENI のインターネットアクセスを許可]:関数がパブリックネットワークにアクセスできるかどうかを指定します。選択肢は次のとおりです。

      • [有効化]:関数がパブリックネットワークにアクセスできるようにします。

      • [無効化]:関数がパブリックネットワークにアクセスできないようにします。

    • [指定された VPC からのみ関数を呼び出すことを許可]:関数が指定された VPC からのみ呼び出されることを許可するかどうかを指定します。選択肢は次のとおりです。

      • [有効化]:関数が指定された VPC からのみ呼び出されることを許可します。以下の点にご注意ください:

        • 関数は最大 20 個の VPC にバインドできます。

        • トリガーによる関数の呼び出しは影響を受けません。

        • VPC バインディングは、関数のすべてのバージョンとエイリアスに適用されます。

        • この設定を有効にすると、パブリックネットワークや他の VPC からの呼び出しリクエストは拒否されます。システムは StatusCode 403、ErrorCode AccessDenied、およびエラーメッセージ Resource access is bound by VPC: VPC ID を返します。

        • VPC バインディングは、プライベート HTTP エンドポイントでのみサポートされています。パブリックエンドポイントとプライベート HTTPS エンドポイントはサポートされていません。

      • [無効化]:関数がパブリックネットワークとすべての VPC から呼び出されることを許可します。

よくある質問 (FAQ)

  • Function Compute がデバッグのために VPC に接続できないのはなぜですか?

    関数で VPC アクセスを有効にしているにもかかわらず接続に失敗する場合、考えられる原因は次のとおりです:

    • vSwitch をホストするサブネットに障害があるか、サブネットの IP アドレスが枯渇しています。VPC を設定する際に 2 つ以上の vSwitch ID を指定できます。この設定により、1 つのアベイラビリティーゾーンで障害が発生した場合でも、関数を他のアベイラビリティーゾーンで実行できるため、フォールトトレランスが向上します。

    • セキュリティグループの設定が正しくありません。セキュリティグループを次のように設定します:

      • VPC のセキュリティグループのインバウンドルールで、Function Compute のセキュリティグループからのアクセスを許可するように設定する必要があります。

      • セキュリティグループのアウトバウンドルールは、ICMP プロトコルを許可する必要があります。Function Compute は ICMP を使用して VPC のネットワーク接続性を確認します。

      セキュリティグループの設定方法の詳細な手順については、「セキュリティグループルールの追加」をご参照ください。

  • ネットワークリソースが不足している場合はどうすればよいですか?

    VPC ネットワークリソースを作成する際、自動設定では /24 のネットワークプレフィックスが提供され、252 個の利用可能な IP アドレスが提供されます。インスタンスが多すぎると、この制限を超える可能性があります。この場合、vSwitch の CIDR ブロックと対応するセキュリティグループを手動で調整する必要があります。

トラブルシューティング

Function Compute は vpcConfig を設定する際に VPC アクセス権限を確認できません。これらの権限は、関数の実行中にのみ確認されます。そのため、InvokeFunction API を使用して関数を呼び出す際に、新たな種類のエラーが発生する可能性があります。次の表は、VPC へのアクセス時に発生する一般的なエラーを示しており、問題を迅速にトラブルシューティングするのに役立ちます。

エラーコード

HTTP ステータスコード

原因

解決策

InvalidArgument

400

Function Compute は、vSwitchId で指定された vSwitch のアベイラビリティーゾーンをサポートしていません。

vSwitchId を更新します。詳細については、「サポートされているアベイラビリティーゾーン」をご参照ください。

vpcConfig の vpcId、vSwitchIds、または securityGroupId に対応するリソースが見つかりません。

vpcConfig パラメーターの設定を確認してください。

指定された vSwitch またはセキュリティグループが、対応する VPC にありません。

vpcConfig パラメーターの設定を確認し、vSwitchId および securityGroupId に対応するリソースが vpcId に対応する VPC 内にあることを確認してください。

AccessDenied

403

ENI に対する操作を実行する権限が付与されていません。

関数の権限を確認してください。詳細については、「関数ロールを使用した他のクラウドサービスへのアクセス」をご参照ください。

ResourceExhausted

429

vSwitch の CIDR ブロックに十分な IP アドレスがないため、Function Compute は追加の ENI を作成できません。

より大きな CIDR ブロックを持つ vSwitch を作成し、vpcConfig の vSwitchId パラメーターを更新してください。

説明

/24 または /16 の CIDR ブロックを使用することを推奨します。

関連ドキュメント

  • VPC 内のデータベースにアクセスするには、データベースの IP アドレスの許可リストを設定することを推奨します。許可リストには、このページで設定した vSwitch の CIDR ブロックを指定します。詳細については、「データベースへのアクセス」をご参照ください。

  • 関数のパブリックネットワークへのエグレストラフィックを制御するには、固定 IP アドレスを使用する必要があります。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。