Visual Studio を使用して Azure Cloud Services (延長サポート) ロールを構成する
手記
この記事は、Azure Azure Cloud Services (延長サポート)に適用されます。 Cloud Services (クラシック) は、2024 年 8 月 31 日に廃止されます。 詳細については、2024 年 8 月 31 日 にクラウド サービス (クラシック) デプロイ モデルが廃止されるを参照してください。 新しい開発では、特定の目的のために設計された新しいサービスの種類 (Azure App Service、Azure Functions、Azure Container Apps など) を使用することをお勧めします。 利用可能なサービスの最新の一覧については、「Directory of Azure products」を参照してください。
Azure Cloud Services (延長サポート) プロジェクトには、1 つ以上の worker ロールまたは Web ロールを含めることができます。 各ロールについて、そのロールの設定方法を定義し、そのロールの実行方法も構成する必要があります。
クラウド サービスの情報は、次のファイルに格納されます。
- ServiceDefinition.csdef - サービス定義ファイルは、必要なロール、エンドポイント、仮想マシンのサイズなど、クラウド サービスのランタイム設定を定義します。 ロールの実行時に、
ServiceDefinition.csdef
に格納されているデータは変更できません。 - ServiceConfiguration.cscfg - サービス構成ファイルは、実行されるロールのインスタンス数と、ロールに対して定義された設定の値を構成します。
ServiceConfiguration.cscfg
に格納されているデータは、ロールの実行中に変更できます。
ロールの実行方法を制御する設定に異なる値を格納するには、複数のサービス構成を定義できます。 デプロイ環境ごとに異なるサービス構成を使用できます。 たとえば、ローカル サービス構成でローカルの Azure Storage Emulator を使用するようにストレージ アカウント接続文字列を設定し、クラウドで Azure Storage を使用する別のサービス構成を作成できます。
Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成すると、2 つのサービス構成が自動的に作成され、Azure プロジェクトに追加されます。
ServiceConfiguration.Cloud.cscfg
ServiceConfiguration.Local.cscfg
前提 条件
- Azure 開発ワークロードがインストールされ、個々のコンポーネント .NET Framework プロジェクトと項目テンプレートがインストールされた Visual Studio ([Visual Studio のダウンロード] (https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta) を参照)。 Visual Studio の変更に関するページを参照してください。
- Azure アカウント。 Azure アカウントがない場合は、Visual Studio サブスクライバー向けの Azure の特典を有効にするか、無料試用版にサインアップします。
Azure Cloud Services (延長サポート) プロジェクトを構成する
次の手順に示すように、Visual Studio のソリューション エクスプローラーから Azure Cloud Services (延長サポート) プロジェクトを構成できます。
Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。
ソリューション エクスプローラー でプロジェクトを右クリックし、コンテキスト メニューから [プロパティ] 選択します。
プロジェクトのプロパティ ページで、開発タブ を選択します。
サービス構成 の一覧で、編集するサービス構成の名前を選択します。
ロール インスタンスの数を変更する
クラウド サービスのパフォーマンスを向上させるには、ユーザーの数または特定のロールに予想される負荷に基づいて、実行されているロールのインスタンスの数を変更できます。 クラウド サービスが Azure で実行されるときに、ロールのインスタンスごとに個別の仮想マシンが作成されます。 これは、このクラウド サービスのデプロイの課金に影響します。 課金の詳細については、「Microsoft Azureの課金内容を理解する」を参照してください。
Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。
ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。
[構成] タブを選択します。
サービス構成 の一覧で、更新するサービス構成を選択します。 (このロールのすべてのサービス構成を変更する場合は、[すべての構成 を選択します)。
重要
特定のサービス構成を選択した場合、一部のプロパティはすべての構成に対してのみ設定できるため、無効になります。 これらのプロパティを編集するには、[すべての構成] を選択する必要があります。
[インスタンス数 テキスト ボックスに、このロールで開始するインスタンスの数を入力します。 クラウド サービスを Azure に発行すると、各インスタンスは個別の仮想マシン上で実行されます。
インスタンス数する
Visual Studio のツール バーの [保存] を選択します。
ストレージ アカウントの接続文字列を管理する
サービス構成の接続文字列を追加、削除、または変更できます。 また、Azure のストレージ アカウントを使用するクラウド サービス構成を構成することもできます。
警告
ストレージ アカウント接続文字列の Azure Storage アカウント キー情報を入力すると、この情報はサービス構成ファイルにローカルに格納されます。 ただし、現在、この情報は暗号化されたテキストとして保存されていません。
サービス構成ごとに異なる値を使用することで、クラウド サービスで異なる接続文字列を使用したり、クラウド サービスを Azure に発行するときにコードを変更したりする必要はありません。 コード内の接続文字列には同じ名前を使用できます。値は、クラウド サービスのビルド時または発行時に選択したサービス構成に基づいて異なります。
Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。
ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。
[設定] タブを選択します。
[
サービス構成 の一覧で、更新するサービス構成を選択します。
接続文字列を追加するには、[設定の追加]を選択します。
を追加する
新しい設定がリストに追加されたら、リスト内の行を必要な情報で更新します。
- 名前 - 接続文字列に使用する名前を入力します。
- 種類 - ドロップダウン リストから [接続文字列] を選択します。
- 値 - [値] セルに接続文字列を直接入力するか、省略記号 (...) を選択して [ストレージ接続文字列 作成] ダイアログで使用できます。
[ストレージ接続文字列の作成] ダイアログで [接続方法] のオプションを選択します。 次に、選択したオプションの指示に従います。
- Microsoft Azure Storage Emulator - このオプションを選択すると、ダイアログの残りの設定は Azure にのみ適用されるため無効になります。 [OK] を選択します。
- サブスクリプション - このオプションを選択した場合は、ドロップダウン リストを使用して、Microsoft アカウントを選択してサインインするか、Microsoft アカウントを追加します。 Azure サブスクリプションとストレージ アカウントを選択します。 を選択し、[OK]を押します。
- 手動で入力した資格情報 - ストレージ アカウント名と、プライマリ キーまたは 2 番目のキーを入力します。 接続 のオプションを選択します (ほとんどのシナリオでは HTTPS をお勧めします)。[OK] 選択します。
接続文字列を削除するには、接続文字列を選択し、[設定の削除] 選択します。
Visual Studio のツール バーの [保存] を選択します。
プログラムによって接続文字列にアクセスする
次の手順では、C# を使用して接続文字列にプログラムでアクセスする方法を示します。
設定を使用する C# ファイルに、次の using ディレクティブを追加します。
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime;
次のコードは、接続文字列にアクセスする方法の例を示しています。 <ConnectionStringName> プレースホルダーを適切な値に置き換えます。
// Setup the connection to Azure Storage var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
Azure Cloud Services (延長サポート) プロジェクトで使用するカスタム設定を追加する
サービス構成ファイルのカスタム設定を使用すると、特定のサービス構成の文字列の名前と値を追加できます。 この設定を使用して、設定の値を読み取り、この値を使用してコード内のロジックを制御することで、クラウド サービスの機能を構成できます。 これらのサービス構成値は、サービス パッケージをリビルドしたり、クラウド サービスを実行したりせずに変更できます。 コードでは、設定が変更されたときの通知を確認できます。 詳細については、「RoleEnvironment.Changing イベント」を参照してください。
サービス構成のカスタム設定を追加、削除、または変更できます。 サービス構成ごとに、これらの文字列に異なる値が必要な場合があります。
サービス構成ごとに異なる値を使用することで、クラウド サービスで異なる文字列を使用したり、クラウド サービスを Azure に発行するときにコードを変更したりする必要はありません。 コード内の文字列には同じ名前を使用できます。値は、クラウド サービスのビルド時または発行時に選択したサービス構成に基づいて異なります。
Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。
ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。
[設定] タブを選択します。
[
サービス構成 の一覧で、更新するサービス構成を選択します。
カスタム設定を追加するには、[設定の追加] 選択します。
を追加する
新しい設定がリストに追加されたら、リスト内の行を必要な情報で更新します。
- 名前 - 設定の名前を入力します。
- 型 - ドロップダウンリストから 文字列 を選択します。
- 値 - 設定の値を入力します。 値 セルに値を直接入力するか、省略記号 (...) を選択して 文字列 の編集ダイアログに値を入力します。
カスタム設定を削除するには、設定を選択し、[設定の削除] 選択します。
Visual Studio のツール バーの [保存] を選択します。
プログラムによってカスタム設定の値にアクセスする
次の手順では、C# を使用してプログラムによってカスタム設定にアクセスする方法を示します。
設定を使用する C# ファイルに、次の using ディレクティブを追加します。
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime;
次のコードは、カスタム設定にアクセスする方法の例を示しています。 <SettingName> プレースホルダーを適切な値に置き換えます。
var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
各ロール インスタンスのローカル ストレージを管理する
ロールのインスタンスごとにローカル ファイル システム ストレージを追加できます。 そのストレージに格納されているデータには、データが格納されているロールの他のインスタンスや他のロールからアクセスできません。
Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。
ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。
[ローカル ストレージ] タブを選択します。
サービス構成 の一覧で、ローカル ストレージの設定がすべてのサービス構成に適用されるため、すべての構成 が選択されていることを確認します。 その他の値を指定すると、ページ上のすべての入力フィールドが無効になります。
ローカル ストレージ エントリを追加するには、[ローカル ストレージ 追加] を選択します。
を追加する
新しいローカル ストレージ エントリがリストに追加されたら、リスト内の行を必要な情報で更新します。
- 名前 - 新しいローカル ストレージに使用する名前を入力します。
- サイズ (MB) - 新しいローカル ストレージに必要なサイズを MB 単位で入力します。
- ロールのリサイクル でクリーン - ロールの仮想マシンがリサイクルされるときに、新しいローカル ストレージ内のデータを削除するには、このオプションを選択します。
ローカル ストレージ エントリを削除するには、エントリを選択し、[ローカル ストレージ 削除] を選択します。
Visual Studio のツール バーの [保存] を選択します。
ローカル ストレージへのプログラムによるアクセス
このセクションでは、MyLocalStorageTest.txt
テスト テキスト ファイルを記述して、C# を使用してローカル ストレージにプログラムでアクセスする方法について説明します。
ローカル ストレージにテキスト ファイルを書き込む
次のコードは、ローカル ストレージにテキスト ファイルを書き込む方法の例を示しています。 <LocalStorageName> プレースホルダーを適切な値に置き換えます。
// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");
//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);
using (FileStream writeStream = File.Create(filePath))
{
Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
writeStream.Write(textToWrite, 0, textToWrite.Length);
}
ローカル ストレージに書き込まれたファイルを検索する
前のセクションのコードによって作成されたファイルを表示するには、次の手順に従います。
Windows 通知領域で、Azure アイコンを右クリックし、コンテキスト メニューの [コンピューティング エミュレーター UI の表示]選択します。
を表示する
Web ロールを選択します。
Microsoft Azure Compute Emulator メニュー で、メニュー の[ツール]>を選択し、[ローカル ストアを開く]を開きます。
エクスプローラー ウィンドウが表示されたら、[検索] テキスト ボックスに「`MyLocalStorageTest.txt``」と入力し、Enter キーを押して検索を開始します。
関連コンテンツ
Visual Studio での Azure プロジェクトの詳細については、「Azure プロジェクトの構成」を参照してください。 クラウド サービス スキーマの詳細については、「スキーマリファレンス 参照してください。