Share via


Azure Functions で関数アプリをリージョン間で移動する

この記事では、Azure Functions リソースを別の Azure リージョンに移動する方法について説明します。 次のいずれかの理由により、リソースを別のリージョンに移動する場合があります。

  • 新しい Azure リージョンを利用する
  • 特定のリージョンでのみ使用できる機能またはサービスをデプロイする
  • 内部ポリシーとガバナンスの要件を満たす
  • 容量計画の要件に対応する

Azure Functions リソースはリージョン固有のものであり、リージョン間で移動することはできません。 既存の関数アプリのリソースのコピーをターゲット リージョンに作成してから、関数のコードを新しいアプリにもう一度デプロイする必要があります。

最小のダウンタイムが要件である場合は、両方のリージョンで関数アプリを実行してディザスター リカバリー アーキテクチャを実装することを検討してください。

前提条件

  • ターゲット リージョンで Azure Functions と、そのリソースを移動する関連サービスがサポートされていることを確認する
  • 移行する関数のオリジナルのソース コードにアクセスできる

準備

ソース リージョンで使用されている関数アプリのリソースをすべて特定します。これには、以下が含まれる場合があります。

関数は、トリガーまたはバインドを使用して他のリソースに接続する場合があります。 これらのリソースをリージョン間で移動する方法については、それぞれのサービスのドキュメントを参照してください。

既存のリソースからテンプレートをエクスポートできる必要もあります。

詳細ビュー

関数アプリをターゲット リージョンにデプロイし、構成されたリソースを確認します。

関数アプリの再デプロイ

ソース リージョンで関数アプリを作成したデプロイおよび自動化リソースにアクセスできる場合は、ターゲット リージョンで同じデプロイ手順をもう一度実行して、アプリを作成および再デプロイします。

ソース コードにしかアクセスできず、デプロイおよび自動化リソースにはアクセスできない場合は、使用可能なデプロイ テクノロジのいずれかを使用するか、継続的なデプロイの方法のいずれかを使用して、関数アプリをターゲット リージョンにデプロイして構成することができます。

構成されたリソースの確認

前の「準備」の手順で特定したリソースをデプロイ中に構成していない場合は、ここで確認してターゲット リージョンに構成します。

移動に関する考慮事項

  • 使用しているデプロイ リソースと自動化によって関数アプリが作成されない場合は、ターゲット リージョンに同じ種類のアプリを新しいホスティング プランで作成してください。
  • 関数アプリ名は Azure でグローバルに一意なので、ターゲット リージョンのアプリをソース リージョンのものと同じ名前にすることはできません。
  • 関数アプリを依存関係に結び付ける参照とアプリケーション設定を確認し、必要に応じて更新する必要があります。 たとえば、関数が呼び出すデータベースを移動する場合、ターゲット リージョンでデータベースに接続するには、アプリケーションの設定または構成も更新する必要があります。 関数アプリで使用する Application Insights のインストルメンテーション キーや Azure ストレージ アカウントなど、一部のアプリケーション設定はターゲット リージョンで既に構成されている可能性があり、その場合は更新不要です。
  • 忘れずに、ターゲット リージョンで構成を検証して関数をテストしてください。
  • カスタム ドメインが構成されている場合は、ドメイン名を再マップします。
  • Functions を Dedicated プランで実行している場合は、Web アプリとプランを共有している場合の対応について、App Service の移行計画に関するページも確認してください。

ソース リソースをクリーンアップする

移動が完了したら、ソース リージョンから関数アプリとホスティング プランを削除します。 アプリ自体が実行されていない場合でも、Premium または Dedicated プランでは関数アプリの料金が発生します。

次のステップ

  • より高度なソリューション アーキテクチャの一環として、複数のリージョンで Azure Functions を実行する例については、Azure アーキテクチャ センターを確認してください。