Azure Service Bus 名前空間を別のリージョンに移動する
既存の Service Bus 名前空間を、あるリージョンから別のリージョンに移動するシナリオには、さまざまなものがあります。 たとえば、テスト用に同じ構成で名前空間を作成することができます。 ディザスター リカバリー計画の一部として、別のリージョンにセカンダリ名前空間を作成することもできます。
手順の概要は次のとおりです。
- 現在のリージョンの Service Bus 名前空間を Azure Resource Manager テンプレートにエクスポートします。
- テンプレート内のリソースの場所を更新します。 また、既定のルールは自動的に作成され、ユーザーが作成することはできないため、テンプレートから既定のサブスクリプション フィルターを削除します。
- テンプレートを使用して、Service Bus 名前空間をターゲット リージョンにデプロイします。
- デプロイを検証して、トピックの名前空間、キュー、トピック、およびサブスクリプションがすべてターゲット リージョンに作成されていることを確認します。
- すべてのメッセージを処理した後で、ソース リージョンから名前空間を削除して移動を完了します。
前提条件
お使いのアカウントで使用している Azure Service Bus と機能が、ターゲット リージョンでサポートされていることを確認してください。
準備
まず、Resource Manager テンプレートをエクスポートします。 このテンプレートには、Service Bus 名前空間を説明する設定が含まれています。
Azure portal にサインインする
[すべてのリソース] を選択し、Service Bus 名前空間を選択します。
[Service Bus 名前空間] ページで、左側のメニューにある [オートメーション] の [テンプレートのエクスポート] を選択します。
[テンプレートのエクスポート] ページで [ダウンロード] を選択します。
ポータルからダウンロードした .zip ファイルを見つけて、選択したフォルダーにそのファイルを解凍します。 この ZIP ファイルには、テンプレートとパラメーターの JSON ファイルが含まれています。
抽出したフォルダー内の template.json ファイルを開きます。
location
を検索し、プロパティの値を、リージョンまたは場所の新しい名前に置き換えます。 場所コードを取得するには、Azure の場所に関するページを参照してください。 リージョンのコードは、スペースを含まないリージョン名です (例えば、West US
はwestus
と同じです)。種類が
Microsoft.ServiceBus/namespaces/topics/subscriptions/rules
のリソースの定義を削除します。 JSON を有効な状態に保つには、このセクションの前にあるコンマ (,
) 文字を忘れずに削除してください。注意
Resource Manager テンプレートを使用して、サブスクリプションの既定のルールを作成することはできません。 既定のルールは、ターゲット リージョンにサブスクリプションが作成されたときに自動的に作成されます。
詳細ビュー
テンプレートをデプロイして、ターゲット リージョンに Service Bus 名前空間を作成します。
Azure Portal で、 [リソースの作成] を選択します。
[Marketplace を検索] に、検索テキストとして「template deployment」と入力し、 [Template deployment (deploy using custom templates)] を選択して、ENTER キーを押します。
[Template deployment] ページで [作成] を選択します。
[カスタム デプロイ] ページで、 [エディターで独自のテンプレートを作成する] を選択します。
[テンプレートの編集] ページでツール バーの [ファイルの読み込み] を選択し、手順に従って、前のセクションでダウンロードした template.json ファイルを読み込みます。
[保存] を選択してテンプレートを保存します。
[カスタム デプロイ] ページで、次の手順を行います。
Azure サブスクリプションを選択します。
既存のリソース グループを選択するか、新しく作成することができます。
ターゲットの場所またはリージョンを選択します。 既存のリソース グループを選択した場合、この設定は読み取り専用になります。
名前空間の新しい名前を入力します。
[Review + create]\(レビュー + 作成\) を選択します。
[確認と作成] ページで、ページの下部にある [作成] ボタンをクリックします。
確認
デプロイが正常に完了したら、 [リソース グループに移動] を選択します。
[リソース グループ] ページで、Service Bus 名前空間を選択します。
[Service Bus 名前空間] ページに、ソース リージョンのキュー、トピック、およびサブスクリプションが表示されていることを確認します。
キューは、右側のウィンドウの下部にある名前空間に表示されています。
[トピック] タブに切り替えると、名前空間のトピックが表示されます
トピックを選択して、サブスクリプションが作成されたことを確認します。
破棄またはクリーンアップ
デプロイ後に、最初からやり直す場合は、ターゲット Service Bus 名前空間を削除し、この記事の「準備」と「移動」のセクションに示されている手順を繰り返します。
変更をコミットし、Service Bus 名前空間の移動を完了するには、ソース Service Bus 名前空間を削除します。 名前空間を削除する前に、すべてのメッセージを処理するようにしてください。
Azure portal を使用して Service Bus 名前空間 (ソースまたはターゲット) を削除するには、次の手順を行います。
Azure portal の上部にある検索ウィンドウで「Service Bus」と入力し、検索結果から [Service Bus] を選択します。 Service Bus 名前空間が一覧に表示されます。
削除するターゲット名前空間を選択し、ツールバーの [削除] を選択します。
[リソースの削除] ページで、選択したリソースを確認し、「yes」と入力して削除を確定し、 [削除] を選択します。
その他のオプションとして、Service Bus 名前空間を持つリソース グループを削除する方法があります。 [リソース グループ] ページで、ツール バーの [リソース グループの削除] を選択し、削除を確定します。
次のステップ
このチュートリアルでは、Azure Service Bus 名前空間をあるリージョンから別のリージョンに移動し、ソース リソースをクリーンアップしました。 リージョン間でのリソースの移動と Azure でのディザスター リカバリーの詳細については、以下を参照してください。