Azure 上の SQL Server の CPU 状態アラートを作成する
推定所要時間:20 分
あなたはデータベース管理の日常業務を自動化するために、シニア データ エンジニアとして採用されました。 この自動化はピーク時のパフォーマンスで AdventureWorks のデータベースの稼働を確実に続けるうえで役に立つだけでなく、特定の条件に基づいてアラートを生成することもできるようにします。
📝 これらの演習では、T-SQL コードをコピーして貼り付け、既存の SQL リソースを使うように求められます。 コードを実行する前に、コードが正しくコピーされていることを確認してください。
環境をセットアップします
ラボ仮想マシンが提供され、事前に構成されている場合は、C:\LabFiles フォルダーにラボ ファイルが用意されているはずです。 少し時間をとって確認してください。ファイルが既に存在存在している場合には、このセクションをスキップしてください。 ただし、独自のマシンを使用している場合、またはラボ ファイルが見つからない場合は、 GitHub からそれらを複製して続行する必要があります。
-
ラボ仮想マシン、または提供されていない場合はローカル コンピューターから、Visual Studio Code のセッションを起動します。
-
コマンド パレット (Ctrl+Shift+P) を開き、「Git Clone」と入力します。 [Git: Clone] オプションを選択します。
-
[Repository URL] フィールドに次の URL を貼り付け、Enter キーを押します。
https://github.com/MicrosoftLearning/dp-300-database-administrator.git
-
リポジトリを、ラボ仮想マシン、または提供されていない場合はローカル コンピューターの [C:\LabFiles] フォルダーに保存してください(フォルダーが存在しない場合は作成します)。
Azure で SQL Server を構成する
Azure にログインし、Azure で実行されている既存の Azure SQL Server インスタンスがあるかどうかを確認します。 Azure で SQL Server インスタンスが既に実行されている場合は、このセクションをスキップします。
-
ラボ仮想マシン、または提供されていない場合はローカル コンピューターから、Visual Studio Code セッションを起動し、前のセクションから複製されたリポジトリに移動します。
-
/Allfiles/Labs フォルダーを右クリックし、[統合ターミナルで開く] を選択します。
-
Azure CLI を使用して Azure に接続しましょう。 次のコマンドを入力して、Enter キーを押します。
az login
📝 ブラウザー ウィンドウが開くことに注意してください。 ログインには Azure 資格情報を使用してください。
-
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 ファイアウォール規則に追加されることに注意してください。
-
スクリプトが完了すると、リソース グループ名、SQL Server 名とデータベース名、管理者ユーザー名とパスワードが返されます。 これらの値は、後でラボで必要になりますのでメモしておきます。
CPU の平均使用率が 80% を超えたときにアラートを生成する
-
ラボ仮想マシン、または提供されていない場合はローカル コンピューターから、ブラウザー セッションを起動し、 https://portal.azure.comに移動します。 Azure 資格情報を使用して、Azure portal に接続します。
-
Azure portal の上部にある検索バーで、「SQL データベース」と入力し、SQL データベースを選択します。 一覧表示されている AdventureWorksLT データベース名を選択します。
-
AdventureWorksLT データベースのメイン ブレードで、[監視] セクションまで移動します。 [警告(アラート)] (アラート) を選択します。
-
[アラート ルールの作成] を選択します。
-
[アラート ルールの作成] ページで、[CPU の割合] を選択します。
-
[アラート ロジック] セクションで、[しきい値] の種類として静的を選びます。 [集計の種類] が Average で、[値] プロパティが次の値より大きいであることを確認します。 次に、[しきい値] に 80 という値を入力します。 [確認する間隔] と [ルックバック期間] の値を確認します。
-
[次へ: アクション >] を選択します。
-
[アクション] タブで、 [アクション グループの作成] を選択します。
-
[アクション グループ] 画面で、[アクション グループ名] および [表示名] フィールドに「emailgroup」と入力し、[次へ: 通知] を選択します。
-
[通知] タブで、次の詳細を入力します。
-
通知の種類: 電子メール/SMS メッセージ/プッシュ/音声
📝 このオプションを選択すると、電子メール/SMS メッセージ/プッシュ/音声ポップアップが表示されます。 電子メール プロパティを確認し、サインインに使用した Azure ユーザー名を入力します。 [OK] を選択します。
-
名前: DemoLab
-
-
Review + create を選択し、次に [作成] を選択します。
-
[アラート ルールの作成] ページに戻り、[次へ: 詳細] を選択し、アラート ルールに一意の名前を付けます。
-
Review + create を選択し、次に [作成] を選択します。
-
アラートが設定されている場合、CPU の平均使用率が 80% を超えると、電子メールが送信されます。
リソースをクリーンアップする
Azure SQL Server を他の目的で使用していない場合は、このラボで作成したリソースをクリーンアップできます。
リソース グループを削除します
このラボの新しいリソース グループを作成した場合は、リソース グループを削除して、このラボで作成されたすべてのリソースを削除できます。
-
Azure portal で、左側のナビゲーション ペインから リソース グループ を選択するか、検索バーで リソース グループを検索して、結果からそのリソース グループを選択します。
-
このラボ用に作成したリソース グループに移動します。 リソース グループには、Azure SQL Server と、このラボで作成されたその他のリソースが含まれます。
-
トップ メニューから [リソース グループの削除] を選択します。
-
[リソース グループの削除] ダイアログで、リソース グループの名前を入力して確認した後、[削除] を選択します。
-
リソース グループが削除されるのを待ちます。
-
Azure Portal を閉じます。
ラボ リソースのみを削除する
このラボ用の新しいリソース グループを作成せず、リソース グループとその以前のリソースをそのまま残したい場合は、このラボで作成したリソースを削除できます。
-
Azure portal で、左側のナビゲーション ペインから リソース グループ を選択するか、検索バーで リソース グループを検索して、結果からそのリソース グループを選択します。
-
このラボ用に作成したリソース グループに移動します。 リソース グループには、Azure SQL Server と、このラボで作成されたその他のリソースが含まれます。
-
ラボで以前に指定した SQL Server 名のプレフィックスが付いたすべてのリソースを選択します。
-
トップ メニューから、削除を選択します。
-
[リソースの削除] ダイアログで、「delete」と入力し、[削除] を選択します。
-
[削除] をもう一度選択し、リソースの削除を確定します。
-
リソースが削除されるまで待ちます。
-
Azure Portal を閉じます。
このラボは以上で完了です。
アラートを使用して、あるメトリック (データベース サイズや CPU 使用率など) が定義したしきい値に達したときに、電子メールを受け取る、または Web hook を呼び出すことができます。 Azure SQL Database のアラートを簡単に構成する方法を確認しました。