
AWS入門 初心者が覚えておくべきAWSの基本
「クラウド導入・運用サービス」のサービス企画担当のとりとりです。
先日ですが、この度、Mackerelアンバサダーに選出いただきました!
Mackerelアンバサダーについて
https://mackerel.io/ja/blog/entry/ambassador/about
アンバサダー特典として、専用のプランを利用できるほか、さまざまな特典を利用できるようです。
その代わりというわけでもないのですが、社外に積極的に発信する命をはてな社より賜りましたので、全5回で終わる予定だった本コラムを不定期に続けていこうと思います。
前回は、AWS/Azureインテグレーションを設定する、と言いつつAzureインテグレーションの設定をやっておりませんでした……というわけで今回は、Azureインテグレーション機能を使ってみたいと思います。これにより、AzureのPaaSサービスのメトリックを可視化できるようになりますので、PaaSを含めた構築~運用まで実現できるようになります。対応しているPaaSは順次機能拡充しているようですので、ヘルプページ(Azure→https://mackerel.io/ja/docs/entry/integrations/azure)を見ていただけたらと思います。
アプリケーションサーバー(以降、APサーバー)とAzure SQL Databaseサービス(以降、DB)を利用したシステムを利用している想定です。Mackerelエージェントのインストールおよび、各種初期設定は完了しているものとします。
Virtual Machine:Standard B1ls(1vCPU,メモリ:0.5GiB)
OS:Ubuntu18.04
ディスクサイズ:32GiB
インスタンス名:database-1
付与されているタグ:Case:NTTeast-column
上記やりたいことを実現するために、Mackerelの設定を行います。
実際の設定に入る前に、AWSインテグレーションと同様、Azureインテグレーションの仕組みを確認しておきます。Azureインテグレーションは、Azure Monitor APIを利用してメトリクスを収集しています。(ヘルプページのAzureインテグレーションより)Azure Monitor APIにアクセスできるよう、Mackerelに対して自分のアカウントの読み取り権限を持つサービスプリンシパルを付与する必要があります。サービスプリンシパルの設定には大きく分けて二つの工程が必要になります。
順番にやっていきましょう。CLIを使った方法もありますが、本コラムではAzure Portalを使って設定していきたいと思います。
Azureポータルにログインし、Azure Active Directoryを選択します。
左メニューに表示されている「アプリの登録」を選択し、「新規作成」を選択します。
Mackerelと連携するためのアプリケーションの登録を行います。名前は判りやすいものであれば指定ありません。リダイレクトURIはMackerelでは使用しないので、空欄のまま「登録」を
登録が完了すると以下のような画面となります。ここで表示される「アプリケーション(クライアント)ID」および、「ディレクトリ(テナント)ID」を控えておきます。
左メニューにある「証明書とシークレット」を選択し、「新しいクライアント シークレット」を選択します。
説明とと有効期限を設定し「追加」を選択します。
すると、右下の値のところにシークレットの値が表示されますので、こちらの値を控えておきます。後程「シークレットID」に利用します。
「サブスクリプション」から「アクセス制御(IAM)」を選択し、先ほど作成したサービスプリンシパルを検索して選択、右側のロールの割り当てを追加する欄にある「追加」ボタンを選択します。
役割は「閲覧者」、選択欄に作成したサービスプリンシパルを入力し「選択したメンバー」に追加されていることを確認します。確認ができたら、「保存」を選択します。
作成が完了したら、「閲覧者」の欄にサービスプリンシパルが登録されていることを確認します。
ここから先は、Mackerelでの作業となります。Mackerelのポータルにログインし、「ダッシュボード」⇒「詳細」から、Azureインテグレーションのタブを選択します。Azureアカウントの欄に「アプリケーション(クライアント)ID」、「ディレクトリ(テナント)ID」、および「シークレットの値」を入力します。
次に、メトリックを収集するサービスを選択します。今回はDBのみをAzureインテグレーションで収集しますので、SQL Databaseのみにチェックを入れます。AWSインテグレーションと同様、タグを指定して登録するホストを絞り込むことも可能です。
最下部の基本設定の名前やメモを入力して、「作成」を選択します。
登録が完了して、数分経つとこのようにDBの監視項目が見えるようになります。
今回はAzureインテグレーションを導入してみました。2020年3月にAzureで監視できるPaaSサービスがSQL Database、Cache for Redis、Virtual Machine、App Service、Functionsの5つに拡充され、さらに使いやすくなっている印象です。また余談ですがAWSインテグレーションとAzureを両方設定するとMackerelでマルチクラウド環境の監視が可能になりますので、監視のために各クラウドを行き来しなくて済むようになります。
次回は、「監視結果に応じたアクションを実行してみる」です。お楽しみに!
クラウドとオンプレミスでの運用を比較しながら解説!!