Azure Logic Apps でダウンタイムなしのデプロイを可能にするデプロイ スロットを設定する
適用対象: Azure Logic Apps (Standard)
更新中やメンテナンス中であっても、常に利用可能で応答性の高いミッション クリティカルなロジック アプリをデプロイするには、デプロイ スロットを作成して使用することで、ダウンタイムなしのデプロイが可能になります。 ダウンタイムなしとは、アプリの新バージョンをデプロイする場合に、エンドユーザーが中断やダウンタイムを経験しないことを意味します。 デプロイ スロットは、アプリの異なるバージョンをホストする分離された非運用環境で、次のような利点があります。
中断なくデプロイ スロットと運用スロットをスワップできます。 これにより、可用性やパフォーマンスに影響を与えることなく、ロジック アプリやワークフローを更新できます。
運用スロットに変更を適用する前に、デプロイ スロットで変更を検証します。
デプロイに何らかの問題が発生した場合は、以前のバージョンにロールバックします。
ロジック アプリあたりの推奨ワークフロー数を超える必要がある場合に、パフォーマンスが低下するリスクを低減します。
デプロイ スロットを使用することで継続的デリバリーを実現し、アプリケーションの品質と信頼性を向上させることができます。 Standard ロジック アプリ ワークフローは Azure Functions の拡張性に基づいているため、Azure のデプロイ スロットの詳細については、「Azure Functions のデプロイ スロット」を参照してください。
既知の問題と制限事項
非運用スロットは読み取り専用モードで作成されます。
非運用スロットのディスパッチャーはオフになっており、ワークフローは、運用スロットにある場合にのみ実行できます。
Standard ロジック アプリのデプロイ スロットでは、トラフィック分散が無効になります。
Standard ロジック アプリのデプロイ スロットは、次のシナリオをサポートしていません。
- ブルーグリーン デプロイ
- スロットをスワップする前の製品検証テスト
- A/B テスト
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
Visual Studio Code で Azure Logic Apps (Standard) 拡張機能を使用するには、「Visual Studio Code を使って Standard ワークフローを作成する」で説明した前提条件を満たす必要があります。 また、Azure に公開する Standard ロジック アプリ プロジェクトも必要です。
デプロイ スロットを作成し、変更をデプロイする Azure の既存の Standard ロジック アプリ リソース。 ワークフローなしで空の Standard ロジック アプリ リソースを作成できます。 詳細については、「シングルテナント Azure Logic Apps で Standard ワークフローの例を作成する」を参照してください。
デプロイ スロットを作成する
デプロイ スロットを作成するには、次のオプションを使用できます。
Azure portal で、デプロイ スロットを作成する Standard ロジック アプリ リソースを開きます。
リソース メニューの [デプロイ] で、[デプロイ スロット] (プレビュー) を選択します。
ツールバーで、 追加を選択します。
[スロットの追加] ウィンドウで、一意である必要があり、小文字の英数字またはハイフン (-) のみを使用するデプロイ スロット用の名前を指定します。
Note
作成後、デプロイ スロット名は次の形式を使用します: <logic-app-name-deployment-slot-name>。
終了したら、 [追加] を選択します。
デプロイ スロットの作成を確認する
デプロイ スロットを作成したら、デプロイされたロジック アプリ リソースにそのスロットが存在することを確認します。
Azure portal で、Standard ロジック アプリ リソースを開きます。
リソース メニューの [デプロイ] で、[デプロイ スロット] (プレビュー) を選択します。
[デプロイ スロット] ページの [デプロイ スロット] (プレビュー) で、新しいデプロイ スロットを見つけて選択します。
Note
作成後、デプロイ スロット名は次の形式を使用します: <logic-app-name-deployment-slot-name>。
デプロイ スロットにロジック アプリの変更をデプロイする
デプロイ スロットにロジック アプリの変更をデプロイするには、次のオプションを使用できます。
現時点では使用できません。 Visual Studio Code または Azure CLI の手順に従って、変更をデプロイしてください。
変更に対するデプロイを確認する
変更をデプロイしたら、デプロイされたロジック アプリ リソースに変更が表示されることを確認します。
Azure portal で、Standard ロジック アプリ リソースを開きます。
リソース メニューの [デプロイ] で、[デプロイ スロット] (プレビュー) を選択します。
[デプロイ スロット] ページの [デプロイ スロット] (プレビュー) で、デプロイ スロットを見つけて選択します。
リソース メニューで [概要] を選択します。 [通知] タブで、デプロイの問題が存在するかどうかを確認します。たとえば、アプリの起動時やスロットのスワップ時に発生する可能性のあるエラーなどがあります。
ワークフローの変更を確認するには、[ワークフロー] で [ワークフロー] を選択し、読み取り専用ビューに表示されるワークフローを選択します。
デプロイ スロットと運用スロットのスワップ
デプロイ スロットを現在の運用スロットとスワップするには、次のオプションが使用可能です。
Azure portal で、スロットをスワップする Standard ロジック アプリ リソースを開きます。
リソース メニューの [デプロイ] で、[デプロイ スロット] (プレビュー) を選択します。
ツールバーの [スワップ] を選択します。
[スワップ] ウィンドウの [ソース] で、アクティブにするデプロイ スロットを選択します。
[ターゲット] で、デプロイ スロットと置き換える運用スロットを選択します。
Note
[プレビューでスワップを実行] は、デプロイ スロット設定を有効にしたロジック アプリでのみ機能します。
[構成変更] で、ソースとターゲットのスロットの構成変更を確認します。
準備ができたら、[スワップの開始] を選択します
操作が正常に完了するまで待ちます。
スロットが正常にスワップされたことを確認する
スロットをスワップしたら、デプロイ スロットからの変更が運用スロットで表示されるようになったことを確認します。
Azure portal で、Standard ロジック アプリ リソースを開きます。
リソース メニューの [ワークフロー] で [ワークフロー] を選択し、変更を確認するワークフローを選択します。
デプロイ スロットの削除
Standard ロジック アプリ リソースからデプロイ スロットを削除するために、次のオプションを使用できます。
Azure portal で、Standard ロジック アプリ リソースを開きます。
リソース メニューの [デプロイ] で、[デプロイ スロット] (プレビュー) を選択します。
[デプロイ スロット] ページの [デプロイ スロット] (プレビュー) で、削除するデプロイ スロットを選択します。
デプロイ スロット リソース メニューで [概要] を選択します。
[概要] ツールバーで [削除] を選択します。
デプロイ スロット名を入力して削除を確認し、[削除] を選択します。
デプロイ スロットの削除を確認する
デプロイ スロットを削除したら、デプロイされた Standard ロジック アプリ リソースにそのスロットが存在しないことを確認します。
Azure portal で、Standard ロジック アプリ リソースを開きます。
リソース メニューの [デプロイ] で、[デプロイ スロット] (プレビュー) を選択します。
[デプロイ スロット] ページの [デプロイ スロット] (プレビュー) で、デプロイ スロットが存在しなくなったことを確認します。