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

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

最終更新日:May 28, 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

各リージョンでサポートされているアベイラビリティーゾーンの最新リストを取得するには、OpenAPI ExplorerGet Availability Zones API を呼び出します。

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

エラーコード

HTTP ステータスコード

原因

解決策

InvalidArgument

400

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

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

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

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

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

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

AccessDenied

403

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

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

ResourceExhausted

429

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

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

説明

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

関連ドキュメント

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

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