本文へスキップ

RDS CloudWatch Metric収集権限の設定

この文書では、データベースモニタリングでIAM ROLEのARN値を利用せずに、EC2にRDS CloudWatch Metricの収集権限を付与し、データを収集する方法を案内します。

AWS CloudFormationを通じた設定

WhaTapが提供するAWS CloudFormationテンプレートを通じて、AWS IAM Policy、Role、AWS EC2 Instance Profileを自動的にインストールする方法です。

  1. 次のリンクをクリックし、スタック生成によりInstance Profileを作成します。

    RDS権限インストールページ
  2. EC2>InstancesでDBエージェントがインストールされているインスタンスを選択し、Actions>Security>Modify IAM roleの順に選択します。

  3. EC2>Instances>Modify IAM roleで先に生成したIAM RoleまたはInstance Profile Nameを入力します。

    既定値:Role(WhaTapRDSCloudWatchMetricRole)、InstanceProfile(WhaTapRDSCloudWatchMetricProfile)

AWS Consoleでの設定

以下は、AWS Consoleを通じてAWS IAM Policy、Roleを生成する方法です。

AWS IAM Policy 生成

  1. IAM>Policesに入り、Create Policyボタンを選択します。

  2. 設定方式をJSONに選択し、次の内容を入力した後Nextを選択します。

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": [
    "ec2:DescribeInstanceTypes",
    "elasticache:DescribeCacheClusters",
    "cloudwatch:GetMetricStatistics",
    "cloudwatch:ListMetrics"
    ],
    "Resource": "*"
    },
    {
    "Effect": "Allow",
    "Action": [
    "rds:DownloadDBLogFilePortion",
    "rds:DescribeDBInstances",
    "rds:DescribeDBLogFiles",
    "rds:DescribeDBClusters"
    ],
    "Resource": [
    "arn:aws:rds:*:{AWS::ACCOUNT}:db:*",
    "arn:aws:rds:*:{AWS::ACCOUNT}:cluster:*"
    ]
    }
    ]
    }
  3. ポリシー名(Policy name)を設定し、Create Policyボタンを選択します。

AWS IAM Role 生成

  1. IAM>Rolesに入り、Create Roleボタンを選択します。

  2. Select trusted entityで信頼できるエンティティタイプをAWS ServiceEC2の順に選択します。

  3. Add permissoins で先に作成したポリシーを選択します。

  4. Name, review, and createでは名前と説明を作成し、Create roleボタンを選択します。

AWS IAM Role修正

  1. EC2>InstancesでDBエージェントがインストールされているインスタンスを選択し、Actions>Security>Modify IAM roleの順に選択します。

  2. EC2>Instances>Modify IAM roleで先に生成したIAM Roleを入力します。

エージェント設定

whatap.confファイルにどの指標を照会するかオプションを設定します。 arnは省略可能です。

whatap.conf
cloud_watch=on
#aws_region=ap-northeast-2
#aws_arn=arn:aws:iam::649024405358:role/rds-monitoring-role
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
cloud_watch_instance=mysql-rds