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

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

最終更新日:Jul 19, 2024

デフォルトでは、Function Computeで作成した関数はインターネットにアクセスできますが、仮想プライベートクラウド (VPC) リソースにはアクセスできません。 関数がVPC内のリソースにアクセスする場合、または特定のVPCからのリクエストが関数を呼び出すことを許可する場合は、関数のネットワーク設定とアクセス許可を手動で設定する必要があります。 このトピックでは、Function Computeコンソールで関数のネットワーク設定を構成する方法について説明します。

使用上の注意

Container Registry Enterprise Editionインスタンスのコンテナイメージを使用して作成されたカスタムコンテナ関数の場合、関数のVPC内のリソースにアクセスする機能を設定するときに、次のルールに基づいてVPCとvSwitchを選択する必要があります。

  • Container Registry Enterprise Editionインスタンスのアクセス制御ページの [Visit IP] 列にデフォルト解決識別子が存在する場合、関数のVPCとvSwitchをデフォルト解決済みIPアドレスに対応するVPCとvSwitchに設定する必要があります。db-serviceconf-default

  • Container Registry Enterprise Editionインスタンスのアクセス制御ページの [Visit IP] 列にデフォルト解決識別子が存在しない場合、インスタンスにバインドされているVPCとvSwitchを使用できます。db-serviceconf-nodefault

ネットワークアクセスモード

VPC機能により、Function Computeのコールドスタート効率が低下します。 必要な場合を除き、この機能を設定しないことを推奨します。 RAMユーザーにTablestoreリソースなどのリソースへのアクセスを許可できます。

ネットワークアドレスから関数にアクセスしたり、関数を使用してリソースにアクセスしたりすると、トラフィックが生成されます。 次のタイプのトラフィックが生成されます。

  • インターネットトラフィック: Alibaba Cloud公式Webサイト、Taobao Webサイト、Alibaba Cloudサービスのパブリックエンドポイントなどのインターネットアドレスにアクセスしたときに生成されるトラフィック。

  • VPCトラフィック: RDSアドレス、Apsara File Storage NAS (NAS) アドレス、Elastic Compute Service (ECS) のVPCエンドポイントなど、VPC内のアドレスにアクセスするときに生成されるトラフィック。

ビジネス要件に基づいてネットワーク設定を構成し、対応する機能のネットワークアクセス機能を取得できます。

  • 機能アウトバウンドトラフィック設定: VPCへのアクセスおよびインターネットへのアクセスパラメーターを設定して、機能がインターネット経由またはVPC内のリソースにアクセスできるようにするかどうかを指定します。

    表 1. 関数送信トラフィック

    ネットワーク設定

    説明

    関数がインターネット経由でのみリソースにアクセスできるようにします。

    この関数はインターネットと内部ネットワークにアクセスでき、VPCのリソースにアクセスできません。 次のパラメーターを設定します。

    • [VPCへのアクセス][いいえ] に設定します。

    • [インターネットへのアクセス][はい] に設定します。

    関数がVPC内のリソースにのみアクセスできるようにします。

    この機能は、VPCを使用してパブリックおよび内部ネットワークリソースにアクセスできます。 この設定は、PrivateZone、NAT Gateway、VPCバインディングなどのシナリオに適用されます。 次のパラメーターを設定します。

    • [VPCへのアクセス][はい] に設定し、関数がアクセスできるVPCを指定します。

    • [インターネットへのアクセス][いいえ] に設定します。

    関数がインターネット経由およびVPC内のリソースにアクセスできるようにします。

    関数は、関数ロジックを使用してパブリックネットワークリソースにアクセスし、VPCを使用して内部ネットワークリソースにアクセスできます。 次のパラメーターを設定します。

    • [VPCへのアクセス][はい] に設定し、関数がアクセスできるVPCを指定します。

    • [インターネットへのアクセス][はい] に設定します。

    関数がインターネットまたはVPCを介してリソースにアクセスすることを禁止します。

    関数は、関数ロジックを使用して内部ネットワークリソースにのみアクセスできます。 次のパラメーターを設定します。

    • [VPCへのアクセス][いいえ] に設定します。

    • [インターネットへのアクセス][いいえ] に設定します。

  • 関数インバウンドトラフィック設定: インターネットまたはVPCからの呼び出し要求を許可するかどうかを指定します。 指定されたVPCのみによる関数呼び出しを使用して、インバウンドトラフィック設定を構成できます。

    表 2. 関数インバウンドトラフィック

    ネットワーク設定

    説明

    インターネットおよび指定されたVPC経由の関数へのアクセスを許可します。

    デフォルトでは、インターネットとVPCを介して関数を呼び出すことができます。 デフォルトのネットワーク設定を次に示します。

    • 指定されたVPCのみによる関数呼び出し[いいえ] に設定されます。

    指定したVPC経由でのみ関数へのアクセスを許可します。

    関数は指定したVPCで呼び出すことはできますが、インターネットでは呼び出すことはできません。 次のパラメーターを設定します。

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

Function Computeがサポートされているゾーン

Function Computeがサポートされている表示ゾーンに展開

リージョン名

リージョン ID

Function Computeがサポートされているゾーン

中国 (杭州)

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-北京-h

  • cn-北京-k

  • cn-北京-j

  • cn-北京-l

  • cn-beijing

  • cn-beijing-e

  • cn-北京-g

  • cn-北京-f

中国 (張家口)

cn-zhangjiakou

  • cn-zhangjiakou-b

  • cn-zhangjiakou-c

  • cn-zhangjiakou-a

中国 (フフホト)

cn-huhehaote

  • cn-huhehaote

  • cn-huhehaote

中国 (深セン)

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-香港-b

シンガポール

ap-southeast-1

  • ap-southeast-1a

  • ap-southeast-1c

  • ap-southeast-1b

オーストラリア (シドニー)

ap-southeast-2

  • ap-southeast-2a

  • ap-southeast-2b

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

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

インド (ムンバイ)

ap-south-1

  • ap-south-1a

  • ap-south-1b

リソースがFunction Computeでサポートされていないゾーンにデプロイされている場合、VPCのFunction ComputeでサポートされているゾーンにvSwitchを作成し、Function ComputeのVPC設定でvSwitch IDを使用できます。 同じVPC内のvSwitchは、プライベートネットワークを介して相互に通信できます。 したがって、Function ComputeはvSwitchを使用して、他のゾーンにデプロイされているVPCリソースにアクセスできます。 詳細については、「vSwitch is in unsupported zone」エラーを解決するにはどうすればよいですか? 」をご参照ください。

始める前に

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

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数の名前をクリックします。

  3. 表示されるページで、設定タブをクリックします。

  4. 左側のナビゲーションウィンドウで、[ネットワーク] をクリックします。 表示されるページで、[変更] をクリックします。 [ネットワーク] パネルで、次のパラメーターを変更し、[デプロイ] をクリックします。

    • VPCへのアクセス: 関数がVPC内のリソースにアクセスできるようにするかどうかを指定します。 有効な値:

      • はい: 関数はVPC内のリソースにアクセスできます。 値を [はい] に設定した場合は、[設定モード] パラメーターも設定する必要があります。 有効な値:

        • (推奨) 自動設定: Function Computeは、VPC、vSwitch、セキュリティグループなどのリソースを自動的に作成します。 ネットワークリソースの作成後、ビジネス要件に基づいてネットワークリソースを変更できます。

          説明

          Function Computeによって自動的に作成されるネットワークリソースの名前の先頭にfc.auto.createがあります。

        • カスタム設定: 既存のネットワークリソースからリソースを選択する必要があります。 リソースが事前に作成されていることを確認してください。

          • VPC: ドロップダウンリストからVPC IDを選択します。

          • vSwitch: ドロップダウンリストからvSwitch IDを1つ以上選択します。

            このパラメーターは、Function Computeがアクセスできるサブネットを定義します。 2つ以上のvSwitch IDを指定することを推奨します。 ゾーンが使用できなくなった場合、またはIPアドレスが不十分な場合、関数は別のサブネットで実行できます。

          • セキュリティグループ: ドロップダウンリストからセキュリティグループIDを選択します。

            このパラメーターは、Function Computeが関連付けられているセキュリティグループを指定します。 このセキュリティグループは、指定されたVPCのFunction Computeのインバウンドルールとアウトバウンドルールを定義します。 VPCに関連付けられているセキュリティグループで、Function Computeが関連付けられているセキュリティグループからのアクセスを許可するルールを設定します。 それ以外の場合、Function Computeは指定されたVPCにデプロイされているリソースにアクセスできません。

      • No: 関数はVPC内のリソースにアクセスできません。

    • 静的パブリックIPアドレス: NATゲートウェイとelastic IPアドレス (EIP) を使用して静的パブリックIPアドレスを取得するかどうかを指定します。 詳細については、「静的パブリックIPアドレスの設定」をご参照ください。

    • デフォルトNICのインターネットへのアクセスを許可: 関数がインターネットにアクセスすることを許可するかどうかを指定します。 有効な値:

      • はい: 機能はインターネットにアクセスできます。

      • No: 関数はインターネットにアクセスできません。

    • 指定されたVPCのみによる関数呼び出し: 指定されたVPCでのみ呼び出し要求を許可するかどうかを指定します。 有効な値:

      • Yes: この関数は、指定されたVPCでのみ呼び出すことができます。 以下の点にご注意ください。

        • 最大20台のVPCを関数に関連付けることができます。

        • 指定されたVPCでのみ関数の呼び出しを許可した場合、トリガーによる関数の呼び出しは影響を受けません。

        • 1つ以上のVPCが関数に関連付けられた後、VPCは関数のすべてのバージョンとエイリアスに関連付けられます。

        • 指定されたVPCからのリクエストのみが関数の呼び出しを許可すると、インターネットおよび他のVPCからのリクエストは拒否されます。 インターネットおよび他のVPCからのリクエストの場合、StatusCode 403、ErrorCode AccessDenied、エラーメッセージリソースアクセスはVPC: VPC IDが報告されます。

        • VPCは、プライベートHTTPエンドポイントにのみ関連付けることができます。

      • いいえ: 関数はインターネット経由でのみ呼び出すことができます。

よくある質問

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

    VPCへのアクセスを [はい] に設定した後、Function ComputeがVPCへの接続に失敗した場合、次の項目に考えられる原因を示します。

    • vSwitchが関連付けられているサブネットでエラーが発生したか、IPアドレスが不足しています。 少なくとも2つのvSwitch IDを指定することを推奨します。 これにより、現在のゾーンでエラーが発生した場合、関数を別のゾーンで実行できます。

    • セキュリティグループが無効です。 次のルールに基づいてセキュリティグループを設定します。

      • 指定されたVPCが関連付けられているセキュリティグループでは、Function Computeが関連付けられているセキュリティグループからのアクセスを許可するようにルールが設定されています。

      • セキュリティグループのアウトバウンドトラフィックは、インターネット制御メッセージプロトコル (ICMP) をサポートする必要があります。 Function Computeは、ICMPに基づいてVPCネットワーク接続をチェックします。

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

  • ネットワークリソースを作成するときにリソースが不足している場合はどうすればよいですか。

    VPCリソースを作成する場合、CIDRブロックのプレフィックス長は24で、使用可能なIPアドレスの数は252です。 インスタンスの数が多すぎる場合、制限を超える可能性があります。 この場合、vSwitchのCIDRブロックとセキュリティグループを手動で変更する必要があります。

トラブルシューティング

vpcConfigを設定した場合、Function ComputeはVPCへのアクセス許可を検証しません。代わりに、関数の実行時に権限が検証されます。 したがって、vpcConfigが設定されている場合、InvokeFunction操作を使用して関数を呼び出すと、新しいエラーが発生する可能性があります。 次の表に、function Computeの関数がVPCにアクセスするときに発生する可能性のある一般的なエラーを示します。 この表を参照して、問題をトラブルシューティングできます。

エラーコード

ステータスコード

発生原因

解決策

InvalidArgument

400

Function Computeは、指定されたvSwitchのゾーンをサポートしていません。

vSwitchIdで有効なvSwitch IDを指定します。 詳細については、「Function Computeがサポートされているゾーン」をご参照ください。

vpcConfigvpcIdvSwitchIds、またはsecurityGroupIdパラメーターで指定されたリソースが見つかりません。

vpcConfigの設定が有効かどうかを確認します。

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

vpcConfigの設定が有効かどうかを確認します。 vSwitchIdおよびsecurityGroupIdで指定されたリソースが、vpcIdで指定されたVPCにデプロイされていることを確認します。

AccessDenied

403

elastic network Interface (ENI) の操作権限を関数に付与していません。

関数の権限を確認します。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。

ResourceExhausted

429

vSwitchのCIDRブロックで使用可能なIPアドレスが不足しています。 Function Computeはこれ以上ENIを作成できません。

より大きなCIDRブロックを持つvSwitchを作成し、vpcConfigvSwitchIdパラメーターを更新します。

説明

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

関連ドキュメント

  • 関数がVPCにあるデータベースにアクセスする場合は、設定したvSwitchのCIDRブロックをホワイトリストに追加することを推奨します。 詳細については、「」をご参照ください。

  • インターネットへの機能アクセスを制限する場合は、静的IPアドレスを使用します。 詳細については、「静的パブリックIPアドレスの設定」をご参照ください。