次の方法で共有


Visual Studio を使用して Azure Cloud Services (延長サポート) ロールを構成する

手記

この記事は、Azure Azure Cloud Services (延長サポート)に適用されます。 このデプロイ モデルは、2027 年 3 月 31 日に廃止されます。 詳細については、「 Azure の更新プログラム」を参照してください。

Azure Cloud Services は、場合によっては、ストレージ アカウントなどの認証に接続文字列に依存します。 接続文字列とパスワードは、意図しない露出や侵害のリスクがあるため、本質的に安全ではありません。 Microsoft では、認証にマネージド ID と Service Fabric マネージド クラスターなどのサービスを使用することをお勧めします。

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 Cloud Services (延長サポート) プロジェクトを構成する

次の手順に示すように、Visual Studio のソリューション エクスプローラーから Azure Cloud Services (延長サポート) プロジェクトを構成できます。

  1. Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。

  2. ソリューション エクスプローラー でプロジェクトを右クリックし、コンテキスト メニューから [プロパティ] 選択します。

    ソリューション エクスプローラープロジェクトのコンテキスト メニュー

  3. プロジェクトのプロパティ ページで、開発タブ を選択します。

    プロジェクトのプロパティ ページ - [開発] タブ

  4. サービス構成 の一覧で、編集するサービス構成の名前を選択します。

    Azure Cloud Services (延長サポート) プロジェクトのサービス構成の一覧を示すスクリーンショット。

ロール インスタンスの数を変更する

クラウド サービスのパフォーマンスを向上させるには、ユーザーの数または特定のロールに予想される負荷に基づいて、実行されているロールのインスタンスの数を変更できます。 クラウド サービスが Azure で実行されるときに、ロールのインスタンスごとに個別の仮想マシンが作成されます。 これは、このクラウド サービスのデプロイの課金に影響します。 課金の詳細については、「Microsoft Azureの課金内容を理解する」を参照してください。

  1. Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。

  2. ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。

    ソリューション エクスプローラーの Azure ロールコンテキスト メニュー

  3. [構成] タブを選択します。

    構成タブ

  4. サービス構成 の一覧で、更新するサービス構成を選択します。 (このロールのすべてのサービス構成を変更する場合は、[すべての構成 を選択します)。

    重要

    特定のサービス構成を選択した場合、一部のプロパティはすべての構成に対してのみ設定できるため、無効になります。 これらのプロパティを編集するには、[すべての構成] を選択する必要があります。

    サービス構成リスト 1

  5. [インスタンス数 テキスト ボックスに、このロールで開始するインスタンスの数を入力します。 クラウド サービスを Azure に発行すると、各インスタンスは個別の仮想マシン上で実行されます。

    インスタンス数Updating the Instance CountUpdating the Instance Countの更新をする

  6. Visual Studio のツール バーの [保存] を選択します。

ストレージ アカウントの接続文字列を管理する

サービス構成の接続文字列を追加、削除、または変更できます。 また、Azure のストレージ アカウントを使用するクラウド サービス構成を構成することもできます。

警告

ストレージ アカウント接続文字列の Azure Storage アカウント キー情報を入力すると、この情報はサービス構成ファイルにローカルに格納されます。 ただし、現在、この情報は暗号化されたテキストとして保存されていません。

サービス構成ごとに異なる値を使用することで、クラウド サービスで異なる接続文字列を使用したり、クラウド サービスを Azure に発行するときにコードを変更したりする必要はありません。 コード内の接続文字列には同じ名前を使用できます。値は、クラウド サービスのビルド時または発行時に選択したサービス構成に基づいて異なります。

  1. Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。

  2. ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。

    ソリューション エクスプローラーの Azure ロールコンテキスト メニュー

  3. [設定] タブを選択します。

    [設定] タブの

  4. サービス構成 の一覧で、更新するサービス構成を選択します。

    サービス構成

  5. 接続文字列を追加するには、[設定の追加]を選択します。

    接続文字列 を追加する

  6. 新しい設定がリストに追加されたら、リスト内の行を必要な情報で更新します。

    新しい接続文字列

    • 名前 - 接続文字列に使用する名前を入力します。
    • 種類 - ドロップダウン リストから [接続文字列] を選択します。
    • - [値] セルに接続文字列を直接入力するか、省略記号 (...) を選択して [ストレージ接続文字列 作成] ダイアログで使用できます。
  7. [ストレージ接続文字列の作成] ダイアログで [接続方法] のオプションを選択します。 次に、選択したオプションの指示に従います。

    • Microsoft Azure Storage Emulator - このオプションを選択すると、ダイアログの残りの設定は Azure にのみ適用されるため無効になります。 [OK] を選択します。
    • サブスクリプション - このオプションを選択した場合は、ドロップダウン リストを使用して、Microsoft アカウントを選択してサインインするか、Microsoft アカウントを追加します。 Azure サブスクリプションとストレージ アカウントを選択します。 [OK] を選択します。
    • 手動で入力した資格情報 - ストレージ アカウント名と、プライマリ キーまたは 2 番目のキーを入力します。 接続 のオプションを選択します (ほとんどのシナリオでは HTTPS をお勧めします)。[OK] 選択します。
  8. 接続文字列を削除するには、接続文字列を選択し、[設定の削除] 選択します。

  9. Visual Studio のツール バーの [保存] を選択します。

プログラムによって接続文字列にアクセスする

次の手順では、C# を使用して接続文字列にプログラムでアクセスする方法を示します。

  1. 設定を使用する C# ファイルに、次の using ディレクティブを追加します。

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. 次のコードは、接続文字列にアクセスする方法の例を示しています。 <ConnectionStringName> プレースホルダーを適切な値に置き換えます。

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Azure Cloud Services (延長サポート) プロジェクトで使用するカスタム設定を追加する

サービス構成ファイルのカスタム設定を使用すると、特定のサービス構成の文字列の名前と値を追加できます。 この設定を使用して、設定の値を読み取り、この値を使用してコード内のロジックを制御することで、クラウド サービスの機能を構成できます。 これらのサービス構成値は、サービス パッケージをリビルドしたり、クラウド サービスを実行したりせずに変更できます。 コードでは、設定が変更されたときの通知を確認できます。 詳細については、「RoleEnvironment.Changing イベント」を参照してください。

サービス構成のカスタム設定を追加、削除、または変更できます。 サービス構成ごとに、これらの文字列に異なる値が必要な場合があります。

サービス構成ごとに異なる値を使用することで、クラウド サービスで異なる文字列を使用したり、クラウド サービスを Azure に発行するときにコードを変更したりする必要はありません。 コード内の文字列には同じ名前を使用できます。値は、クラウド サービスのビルド時または発行時に選択したサービス構成に基づいて異なります。

  1. Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。

  2. ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。

    ソリューション エクスプローラーの Azure ロールコンテキスト メニュー

  3. [設定] タブを選択します。

    [設定] タブの

  4. サービス構成 の一覧で、更新するサービス構成を選択します。

    サービス構成の一覧 2

  5. カスタム設定を追加するには、[設定の追加] 選択します。

    カスタム設定 を追加する

  6. 新しい設定がリストに追加されたら、リスト内の行を必要な情報で更新します。

    新しいカスタム設定

    • 名前 - 設定の名前を入力します。
    • - ドロップダウンリストから 文字列 を選択します。
    • - 設定の値を入力します。 セルに値を直接入力するか、省略記号 (...) を選択して 文字列 の編集ダイアログに値を入力します。
  7. カスタム設定を削除するには、設定を選択し、[設定の削除] 選択します。

  8. Visual Studio のツール バーの [保存] を選択します。

プログラムによってカスタム設定の値にアクセスする

次の手順では、C# を使用してプログラムによってカスタム設定にアクセスする方法を示します。

  1. 設定を使用する C# ファイルに、次の using ディレクティブを追加します。

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. 次のコードは、カスタム設定にアクセスする方法の例を示しています。 <SettingName> プレースホルダーを適切な値に置き換えます。

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

各ロール インスタンスのローカル ストレージを管理する

ロールのインスタンスごとにローカル ファイル システム ストレージを追加できます。 そのストレージに格納されているデータには、データが格納されているロールの他のインスタンスや他のロールからアクセスできません。

  1. Visual Studio で Azure Cloud Services (延長サポート) プロジェクトを作成または開きます。

  2. ソリューション エクスプローラー で、プロジェクト ノードを展開します。 [Roles] ノードで、更新するロールを右クリックし、コンテキスト メニューの [プロパティ] 選択します。

    ソリューション エクスプローラーの Azure ロールコンテキスト メニュー

  3. [ローカル ストレージ] タブを選択します。

    [ローカル ストレージ] タブの

  4. サービス構成 の一覧で、ローカル ストレージの設定がすべてのサービス構成に適用されるため、すべての構成 が選択されていることを確認します。 その他の値を指定すると、ページ上のすべての入力フィールドが無効になります。

    サービス構成の一覧 3

  5. ローカル ストレージ エントリを追加するには、[ローカル ストレージ 追加] を選択します。

    ローカル ストレージ を追加する

  6. 新しいローカル ストレージ エントリがリストに追加されたら、リスト内の行を必要な情報で更新します。

    新しいローカルストレージの項目

    • 名前 - 新しいローカル ストレージに使用する名前を入力します。
    • サイズ (MB) - 新しいローカル ストレージに必要なサイズを MB 単位で入力します。
    • ロールのリサイクル でクリーン - ロールの仮想マシンがリサイクルされるときに、新しいローカル ストレージ内のデータを削除するには、このオプションを選択します。
  7. ローカル ストレージ エントリを削除するには、エントリを選択し、[ローカル ストレージ 削除] を選択します。

  8. 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);
}

ローカル ストレージに書き込まれたファイルを検索する

前のセクションのコードによって作成されたファイルを表示するには、次の手順に従います。

  1. Windows 通知領域で、Azure アイコンを右クリックし、コンテキスト メニューの [コンピューティング エミュレーター UI の表示]選択します。

    Azure コンピューティング エミュレーターの を表示する

  2. Web ロールを選択します。

    Azure コンピューティング エミュレーター

  3. Microsoft Azure Compute Emulator メニュー で、メニュー の[ツール]>を選択し、[ローカル ストアを開く]を開きます。

    ローカル ストアのメニュー項目を開く

  4. エクスプローラー ウィンドウが表示されたら、[検索] テキスト ボックスに「`MyLocalStorageTest.txt``」と入力し、Enter キーを押して検索を開始します。

Visual Studio での Azure プロジェクトの詳細については、「Azure プロジェクトの構成」を参照してください。 クラウド サービス スキーマの詳細については、「スキーマリファレンス 参照してください。