この記事では、ターミナルからCloudwatchを管理するためのaws-cliコマンドを紹介します。このガイドは、Cloudwatchアラームを作成および管理するためのaws-cliの使用を開始するのに役立ちます。 EC2 CPUモニタリングアラームを作成、管理、削除するコマンドが表示されます。 AWS EC2、Cloudwatchサービスに既に精通していることを前提としています。
以下は、この記事で説明するCloudwatchのaws-cliコマンドです。
- リストメトリック ■:このコマンドは、指定されたメトリックを一覧表示します。
- put-metric-alarm :このコマンドを使用して、アラームを作成および更新できます。
- 説明-アラーム :指定したアラームの詳細を取得します。
- set-alarm-state :このコマンドを使用して、テスト目的でアラームの状態を一時的に変更します。
- describe-alarm-history :このコマンドを使用して、指定されたアラームの履歴を確認してください。
- 削除アラーム :このコマンドを使用して、特定のアラームを削除します。
Cloudwatchの管理に使用できるすべてのコマンドについては、こちらの公式ドキュメントにアクセスしてください。
- AWSアカウント(アカウントがない場合は作成します)。
- EC2インスタンスの基本的な理解(EC2インスタンスの作成方法については、ここをクリックしてください)。
- Cloudwatchの基本的な理解(AWSコンソールからEC2インスタンスのアラームを作成する方法については、ここをクリックしてください)。
- AdministratorAccessポリシーが添付されたAWSIAMユーザーと、そのアクセスキーとシークレットキー(IAMユーザーの作成方法については、ここをクリックしてください)。
- ローカルマシンにインストールされているAWSCLI。
- SNSトピック(Cloudformationを使用してSNSトピックを作成する方法については、ここをクリックしてください)。
何をしますか?
- aws cliを確認し、ローカルマシンにAWSアクセスとシークレットキーをエクスポートします。
- aws-cliを使用してCloudwatchを管理する
aws cliを確認し、AWSアクセスとシークレットキーをローカルにエクスポートしますマシン。
続行する前に、ローカルマシンにaws-cliがインストールされていることを確認してください。
aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7
AWS IAMユーザーアクセスとシークレットキーを取得し、それらをターミナルにエクスポートします。
export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>
エクスポートしたキーのIDを確認してください。
aws sts get-caller-identity
上のスクリーンショットに私のキーが表示されますが、アクティブでなくなったため、使用できなくなります。また、キーを他の人と共有しないように注意してください。
aws-cliを使用してCloudwatchを管理する
アラームがトリガーされたときに通知が届かない場合、アラームを作成しても意味がありません。アラートを送信するには、サブスクリプション付きのSNSトピックが必要です。私はすでにいくつかのSNSトピックを持っており、そのうちの1つに電子メールを購読しています。デモ用に使用します。 SNSトピックがない場合は、先に進む前に作成してください。
アカウントに存在するSNSトピックのリストを取得します。
aws sns list-topics
インスタンスのIDを取得して、いずれかのインスタンスのアラームを作成します。
aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"
インスタンスIDとSNSARNを保持します。 EC2インスタンスで利用可能な指標を確認してください。
aws cloudwatch list-metrics --namespace "AWS/EC2"
次に、指定されたインスタンスのCPU使用率が「300秒」で「70%」を超えたときにトリガーされる「cpu-mon」という名前のアラームを作成しましょう。アラームがトリガーされると、指定されたSNSに通知が送信されます。
aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Test Alarm when CPU exceeds 70 percent" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=<instance-id>" --evaluation-periods 2 --alarm-actions <sns-arn> --unit Percent
作成したばかりのアラームについて説明し、その詳細を確認してください。
aws cloudwatch describe-alarms --alarm-names cpu-mon
アラームの状態を変更できます。テスト目的でトリガーするには、状態を「ALARM」に変更しましょう。これにより、アラーム状態が「ALARM」に変わり、SNSトピックに通知が送信されます。
aws cloudwatch set-alarm-state --alarm-name "cpu-mon" --state-value ALARM --state-reason "testing purposes"
アラーム状態の履歴を確認してください。
aws cloudwatch describe-alarm-history --alarm-name "cpu-mon" --history-item-type StateUpdate
作成したアラームが不要になったら、次のコマンドで削除できます。
aws cloudwatch delete-alarms --alarm-names cpu-mon
アラームが削除されているかどうかを確認します。
aws cloudwatch describe-alarms
この記事では、aws-cliを使用してターミナルからアラームを作成および管理するコマンドについて説明しました。 CPU使用率を監視するために、EC2インスタンスのアラームを作成しました。作成したアラームをテストするために、アラーム状態を手動で変更する方法を確認しました。作成したアラームを削除するコマンドも表示されました。このガイドは、AWS Cloudwatchの使用を開始するのに役立ちます。また、aws-cliを使用してCloudwatchを管理するために利用できるさまざまなコマンドとオプションを試すことができます。