Azure 上の SQL Server の CPU 状態アラートを作成する

推定所要時間:20 分

あなたはデータベース管理の日常業務を自動化するために、シニア データ エンジニアとして採用されました。 この自動化はピーク時のパフォーマンスで AdventureWorks のデータベースの稼働を確実に続けるうえで役に立つだけでなく、特定の条件に基づいてアラートを生成することもできるようにします。

📝 これらの演習では、T-SQL コードをコピーして貼り付け、既存の SQL リソースを使うように求められます。 コードを実行する前に、コードが正しくコピーされていることを確認してください。

環境をセットアップします

ラボ仮想マシンが提供され、事前に構成されている場合は、C:\LabFiles フォルダーにラボ ファイルが用意されているはずです。 少し時間をとって確認してください。ファイルが既に存在存在している場合には、このセクションをスキップしてください。 ただし、独自のマシンを使用している場合、またはラボ ファイルが見つからない場合は、 GitHub からそれらを複製して続行する必要があります。

  1. ラボ仮想マシン、または提供されていない場合はローカル コンピューターから、Visual Studio Code のセッションを起動します。

  2. コマンド パレット (Ctrl+Shift+P) を開き、「Git Clone」と入力します。 [Git: Clone] オプションを選択します。

  3. [Repository URL] フィールドに次の URL を貼り付け、Enter キーを押します。

     https://github.com/MicrosoftLearning/dp-300-database-administrator.git
    
  4. リポジトリを、ラボ仮想マシン、または提供されていない場合はローカル コンピューターの [C:\LabFiles] フォルダーに保存してください(フォルダーが存在しない場合は作成します)。

Azure で SQL Server を構成する

Azure にログインし、Azure で実行されている既存の Azure SQL Server インスタンスがあるかどうかを確認します。 Azure で SQL Server インスタンスが既に実行されている場合は、このセクションをスキップします

  1. ラボ仮想マシン、または提供されていない場合はローカル コンピューターから、Visual Studio Code セッションを起動し、前のセクションから複製されたリポジトリに移動します。

  2. /Allfiles/Labs フォルダーを右クリックし、[統合ターミナルで開く] を選択します。

  3. Azure CLI を使用して Azure に接続しましょう。 次のコマンドを入力して、Enter キーを押します。

     az login
    

    📝 ブラウザー ウィンドウが開くことに注意してください。 ログインには Azure 資格情報を使用してください。

  4. Azure にログインしたら、リソース グループがまだ存在しない場合は作成し、そのリソース グループの下に SQL サーバーとデータベースを作成します。 次のコマンドを入力して、Enter キーを押します。 スクリプトが完了するまで数分かかります

     cd ./Setup
     ./deploy-sql-database.ps1
    

    📝 既定では、このスクリプトは contoso-rg というリソース グループを作成するか、名前が contoso-rg (存在する場合) で始まるリソースを使用していることに注意してください。 既定では、 West US 2 リージョン (westus2) にもすべてのリソースが作成されます。 最後に、 SQL 管理者パスワードのランダムな 12 文字のパスワードを生成します。 これらの値は、パラメーター -rgName-location-sqlAdminPw のいずれかまたは複数を使用して、任意の値に変更することができます。 パスワードは Azure SQL のパスワードの複雑さの要件を満たす必要があります。具体的には、12文字以上で、大文字 1 文字、小文字 1 文字、数字 1 つ、特殊文字 1 つを含める必要があります。

    📝 スクリプトによって、現在のパブリック IP アドレスが SQL Server ファイアウォール規則に追加されることに注意してください。

  5. スクリプトが完了すると、リソース グループ名、SQL Server 名とデータベース名、管理者ユーザー名とパスワードが返されます。 これらの値は、後でラボで必要になりますのでメモしておきます


CPU の平均使用率が 80% を超えたときにアラートを生成する

  1. ラボ仮想マシン、または提供されていない場合はローカル コンピューターから、ブラウザー セッションを起動し、 https://portal.azure.comに移動します。 Azure 資格情報を使用して、Azure portal に接続します。

  2. Azure portal の上部にある検索バーで、「SQL データベース」と入力し、SQL データベースを選択します。 一覧表示されている AdventureWorksLT データベース名を選択します。

  3. AdventureWorksLT データベースのメイン ブレードで、[監視] セクションまで移動します。 [警告(アラート)] (アラート) を選択します。

  4. [アラート ルールの作成] を選択します。

  5. [アラート ルールの作成] ページで、[CPU の割合] を選択します。

  6. [アラート ロジック] セクションで、[しきい値] の種類として静的を選びます。 [集計の種類]Average で、[値] プロパティが次の値より大きいであることを確認します。 次に、[しきい値]80 という値を入力します。 [確認する間隔][ルックバック期間] の値を確認します。

  7. [次へ: アクション >] を選択します。

  8. [アクション] タブで、 [アクション グループの作成] を選択します。

  9. [アクション グループ] 画面で、[アクション グループ名] および [表示名] フィールドに「emailgroup」と入力し、[次へ: 通知] を選択します。

  10. [通知] タブで、次の詳細を入力します。

    • 通知の種類: 電子メール/SMS メッセージ/プッシュ/音声

      📝 このオプションを選択すると、電子メール/SMS メッセージ/プッシュ/音声ポップアップが表示されます。 電子メール プロパティを確認し、サインインに使用した Azure ユーザー名を入力します。 [OK] を選択します。

    • 名前: DemoLab

  11. Review + create を選択し、次に [作成] を選択します。

  12. [アラート ルールの作成] ページに戻り、[次へ: 詳細] を選択し、アラート ルールに一意の名前を付けます。

  13. Review + create を選択し、次に [作成] を選択します。

  14. アラートが設定されている場合、CPU の平均使用率が 80% を超えると、電子メールが送信されます。


リソースをクリーンアップする

Azure SQL Server を他の目的で使用していない場合は、このラボで作成したリソースをクリーンアップできます。

リソース グループを削除します

このラボの新しいリソース グループを作成した場合は、リソース グループを削除して、このラボで作成されたすべてのリソースを削除できます。

  1. Azure portal で、左側のナビゲーション ペインから リソース グループ を選択するか、検索バーで リソース グループを検索して、結果からそのリソース グループを選択します。

  2. このラボ用に作成したリソース グループに移動します。 リソース グループには、Azure SQL Server と、このラボで作成されたその他のリソースが含まれます。

  3. トップ メニューから [リソース グループの削除] を選択します。

  4. [リソース グループの削除] ダイアログで、リソース グループの名前を入力して確認した後、[削除] を選択します。

  5. リソース グループが削除されるのを待ちます。

  6. Azure Portal を閉じます。

ラボ リソースのみを削除する

このラボ用の新しいリソース グループを作成せず、リソース グループとその以前のリソースをそのまま残したい場合は、このラボで作成したリソースを削除できます。

  1. Azure portal で、左側のナビゲーション ペインから リソース グループ を選択するか、検索バーで リソース グループを検索して、結果からそのリソース グループを選択します。

  2. このラボ用に作成したリソース グループに移動します。 リソース グループには、Azure SQL Server と、このラボで作成されたその他のリソースが含まれます。

  3. ラボで以前に指定した SQL Server 名のプレフィックスが付いたすべてのリソースを選択します。

  4. トップ メニューから、削除を選択します。

  5. [リソースの削除] ダイアログで、「delete」と入力し、[削除] を選択します。

  6. [削除] をもう一度選択し、リソースの削除を確定します。

  7. リソースが削除されるまで待ちます。

  8. Azure Portal を閉じます。


このラボは以上で完了です。

アラートを使用して、あるメトリック (データベース サイズや CPU 使用率など) が定義したしきい値に達したときに、電子メールを受け取る、または Web hook を呼び出すことができます。 Azure SQL Database のアラートを簡単に構成する方法を確認しました。