COLUMN

クラウドの運用にMackerelを使ってみた(第5回:AWS/Azureインテグレーション機能を使ってみる)

「クラウド導入・運用サービス」のサービス企画担当のとりとりです。
前回は、ネットワーク死活監視設定を公式チェックプラグインとカスタムメトリックの2つで行い、ping監視を実装できるようになりました。
今回は、AWS/Azureインテグレーション機能を使ってみたいと思います。これにより、AWS/AzureのPaaSサービスのメトリックを可視化できるようになりますので、PaaSを含めた構築~運用まで実現できるようになります。対応しているPaaSは順次機能拡充しているようですので、ヘルプページ(AWS→https://mackerel.io/ja/docs/entry/integrations/aws別ウィンドウで開きます Azure→https://mackerel.io/ja/docs/entry/integrations/azure別ウィンドウで開きます)を見ていただけたらと思います。

構成図・やりたいこと

構成図

アプリケーションサーバー(以降、APサーバー)とデータベースサーバー(以降、DBサーバー)がAWS上に各1台ずつあり、DBサーバーのデータを順次Amazon RDS(以降、RDS)に切り替えている状態とします。各サーバーの初期設定及び、Mackerelエージェントのインストールは完了しているものとします。
前回との構成上の差分は、Amazon RDSが追加されていることです。

各サーバーのスペック(APサーバー、DBサーバー)※前回と同じ

インスタンス:t2.micro(1vCPU,メモリ:1GiB)
OS:Amazon linux2
ディスクサイズ:8GiB

インストールされているミドルウェア(APサーバー、DBサーバー) ※前回と同じ

APサーバー:Apache v2.4
DBサーバー:PostgreSQL 9.6

Amazon RDSのスペック

インスタンス名:database-1
インスタンスサイズ:db.t2.micro
DBエンジン:PostgreSQL 11.5
付与されているタグ:Case:NTTeast-column

やりたいこと

  • DBサーバーをRDSへ順次切り替えることになったので、RDSの監視を行いたい。
  • しばらくは並行して稼働するが、将来的にDBサーバーは廃止する予定

上記やりたいことを実現するために、Mackerelの設定を行います。

IAM設定

実際の設定に入る前に、AWSインテグレーションの仕組みを確認しておきます。AWSインテグレーションは、CloudWatch APIを利用してメトリクスを収集しています。(ヘルプページのAWSインテグレーションより)したがって、Mackerelに対して自分のアカウントの読み取り権限を持つIAMロールを付与する必要があります。ここでは、IAMロールの付与をやっていきます。

まずは、Mackerelのオーガニゼーショントップ画面の「詳細」から、AWSインテグレーションのタブを開き、「AWSインテグレーションを登録」ボタンをクリックします。

すると、監視対象のAWSアカウント情報の入力を求められますが、今の段階では、外部IDの欄に記載されている内容をコピーします。ここのページの入力は次の「AWSインテグレーション登録」で行います。

ここからAWSのマネジメントコンソール上の作業になります。必要なIAMロールを作成していきます。
[IAM]→[IAMロール]→[ロールの作成]と進み、設定画面に移ります。
「信頼されたエンティティ」で「別のAWSアカウント」を選択し、以下の内容を入れていきます。

アカウントID:217452466226
オプション:チェックを入れる
外部ID:先ほどコピーしたIDを入力
MFAが必要:チェックしない

入力が終わったら、「次のステップ:アクセス権限」をクリックします。

アクセス権限ポリシ-は、監視したいAWSサービス単位で指定します。複数指定することも可能です。今回はRDSのみ監視したいので、「AmazonRDSReadOnlyAccess」を付与します。

ポリシーのフィルタで検索をかけると見つけやすくなりますので、必要な権限を見つけたらチェックを入れて、「次のステップ:タグ」をクリックします。

タグの追加はオプションとなります。AWSアカウントの運用上このIAMロールにタグ付けしたい場合は入力します。不要な場合は特に入力せず、「次のステップ:確認」をクリックします。

最後に名前を決めて、「ロールの作成」をクリックします。

これで必要なロールの作成が終わりました…とはなりません。このままMackerelでAWSインテグレーションを登録すると、アカウント内の同じリージョンにある全てのRDSが監視対象になってしまいます。同じアカウントで1つのRDSしか使ってない場合は特に問題になりませんが、特定のRDSだけ監視したい場合は、タグで絞り込みを行う必要があります。そのためのIAMポリシーを先程作ったIAMロールに追加します。

[ロール]に戻り、先程作ったIAMロールを選択します。すると、ロールの概要が出てきますので「ポリシーをアタッチします」を選択します。

今回デフォルトのポリシーがないので,上部にある「ポリシーの作成」をクリックします。

JSONのタブを開いて、以下の入力欄に必要なポリシーを入力します。

IAMポリシー(例)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:ListQueueTags",
                "elasticache:ListTagsForResource",
                "states:ListTagsForResource"
            ],
            "Resource": "*"
        }
    ]
}

入力が終わったら、「ポリシーの確認」をクリックします。
ポリシーの確認では名前と説明を入力して、「ポリシーの作成」をクリックします。

作成が終わったら、先程作ったIAMポリシーの名前を選択して、「ポリシーのアタッチ」をクリックします。

これでIAMロールの作成が完了しました。ロールARNをコピーしておきます。これは、次のAWSインテグレーション登録で使います。

AWSインテグレーション登録

IAMロールの作成が終わったら、Mackerel側の作業となります。

先程のAWSインテグレーション登録のページに戻り、以下の内容を入れていきます。

ロールARN:先ほどコピーしたARN
リージョン:監視対象のRDSがあるリージョン(今回は東京リージョン)
メトリックを収集するサービス:RDS
デフォルトロール:DBロール(DBサーバーと同じロールですが、RDS用のロールを作っても構いません)
タグ:Case:NTTeast-column
名前:任意

下まで入力が終わったら、「作成」ボタンをクリックします。

しばらくすると、AWSインテグレーションのタブがこのようにRDSを認識するようになります。

実際の監視画面は以下のように見えます。あとは監視ルールを別途設定して、しきい値を決めていきます。(やり方は第2回を参照、今回は省略します)

これで、MackerelでRDSが監視できるようになりました。

まとめ

PaaSの監視まで可能になったことで、クラウドネイティブな使い方をしてもいままでのIaaS中心のやり方と同じように可視化ができるというのは、運用側に非常に優しいと感じています。

これまでの5回で、Mackerelを使って監視運用の設定を行ってみました。監視にあたって必要なことが揃っているのは感じていただけたのではないかと思います。
次回以降の内容は未定ですが、当コラムで随時記事を投稿していきたいと思いますので、今後ともどうぞよろしくおねがいします!

Amazon Web Services(AWS)は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
Microsoft Azureは、米国Microsoft Corporationおよびその関連会社の商標です。
Mackerelは、株式会社はてなの商標です。
本コラムに掲載のサービスや登録画面等は2019年11月時点の情報であり、変更となる場合があります。

24時間365日対応可能なクラウド監視・運用代行で、あなたをシステム運用から解放します!

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。