• 3 min read

Azure Resource Manager を使用したリージョン別の回復性があるクラウド サービスの構築

本日は、Cloud Services (拡張サポート) のプレビューを発表いたします。これは、Azure Cloud Services の新しい Azure Resource Manager (ARM) ベースのデプロイ モデルです。

このブログ記事は、Altaf Tambawala (プリンシパル プログラム マネージャー、Microsoft) との共著です。

Cloud Services (拡張サポート) と Azure Resource Manager (ARM) への移行

本日は、Cloud Services (拡張サポート) のプレビューを発表いたします。これは、Azure Cloud Services の新しい Azure Resource Manager (ARM) ベースのデプロイ モデルです。Cloud Services (拡張サポート) には、Azure Service Manager (ASM) を使用してデプロイされた Azure Cloud Services に備わった機能パリティに加えて、リージョン別の回復性を提供するという大きなメリットがあります。また、ロールベースのアクセスと制御 (RBAC)、タグ、ポリシーなどの一部の ARM 機能も提供され、デプロイ テンプレートもサポートされます。

この変更により、Cloud Services の ASM ベースのデプロイ モデルの名前が、本日より Cloud Services (クラシック) に変更されます。お客様は引き続き、Web およびクラウド アプリケーションやサービスを構築し、すばやくデプロイすることができます。お客様は、現在の需要に基づいてクラウド サービス インフラストラクチャをスケーリングできるため、アプリケーションのパフォーマンスを維持しながら、同時にコストを削減することができます。 

Cloud Services (拡張サポート) は、ASM から ARM に移行するための 2 つのパスをお客様に提供します。1 つ目のパスは再デプロイです。お客様は、クラウド サービスを ARM に直接デプロイした後、全体的な検証後に古いクラウド サービスを ASM で削除します。2 つ目のパスは、インプレース移行の実行です。これによりお客様は、最小限の、またはまったくダウンタイムなしで Cloud Services (クラシック) を ARM に移行することができます。

Cloud Services (拡張サポート) の再デプロイ パスのプレビューは本日からご利用いただけますが、インプレース移行パスについては今後の発表をお待ちください。

ARM への移行に関して考慮すべき追加の Azure サービス

Cloud Services (クラシック) から Cloud Services (拡張サポート) への移行プランを評価する場合には、Virtual Machine Scale SetsApp ServiceAzure Kubernetes ServiceAzure Service Fabric などの追加の Azure サービスを利用する機会を調査することをお勧めします。これらのサービスは引き続き追加機能を提供しますが、Cloud Services (拡張サポート) では主に Cloud Services (クラシック) との機能パリティが維持されます。

アプリケーションによっては、Cloud Services (拡張サポート) は、他のオプションに比べて ARM への移行にかかる労力が大幅に少なくて済む場合があります。アプリケーションが進化していない場合、Cloud Services (拡張サポート) は迅速な移行パスを提供するため、可能な限り検討すべきオプションです。逆に、アプリケーションが継続的に進化しており、より最新の機能セットが必要な場合は、他の Azure サービスを探索して、現在および将来の要件を満たせるようにしてください。

デプロイ モデルの変更

Cloud Services (拡張サポート) をデプロイするには、サービス構成およびサービス定義ファイル (.cscfg および .csdef) に最小限の変更を加える必要があります。ランタイム コードを変更する必要はありませんが、新しい ARM ベースの API を呼び出すようにデプロイ スクリプトを更新する必要があります。デプロイに関して Cloud Services (クラシック) と Cloud Services (拡張サポート) の主な違いは次のとおりです。

  • ARM デプロイでは ARM テンプレートを使用します。これは、プロジェクトのインフラストラクチャと構成を定義する JavaScript Object Notation (JSON) ファイルです。このテンプレートでは宣言型の構文が使用されています。これによりお客様は、一連のプログラミング コマンドを書かなくても、デプロイしようとしている内容を記載してそれを作成することができます。サービス構成およびサービス定義ファイルは、Cloud Services (拡張サポート) のデプロイ中に ARM テンプレートとの整合性が保たれる必要があります。これを実現するには、手動で ARM テンプレートを作成するか、PowerShellポータル、または Visual Studio を使用します。
  • お客様は、Azure Key Vault を使用して Cloud Services (拡張サポート) の証明書を管理する必要があります。Azure Key Vault を使用すると、お客様はシークレット、キー、証明書などのアプリケーションの資格情報を、中央のセキュリティで保護されたクラウド リポジトリに安全に格納して管理することができます。アプリケーションの実行時に Key Vault に対して認証を行うことで、資格情報を取得できます。Key Vault の詳細については、こちらのドキュメントをご覧ください。
  • Azure Resource Manager を通じてデプロイされたすべてのリソースには、仮想ネットワークが必須です。ARM 内の仮想ネットワークとサブネットは既存の ARM API を使用して作成されており、.cscfg のネットワーク構成セクション内で参照されます。

詳細情報

Cloud Services (拡張サポート) の詳細について確認するために、お客様が使用できるリソースがいくつかあります。

プレビューの提供が開始された Cloud Services (拡張サポート) の使用を開始するには、こちらのドキュメントをご覧ください。また、Cloud Services (クラシック) のドキュメントでも詳細をご確認いただけます。