웹사이트 검색

aws-cli를 사용하여 AWS Cloudwatch를 관리하는 방법


이 페이지에서

  1. 전제 조건
  2. 무엇을 할 것인가?\n
  3. aws cli를 확인하고 로컬 시스템에서 AWS 액세스 및 비밀 키를 내보냅니다.\n
  4. aws-cli를 사용하여 Cloudwatch 관리\n
  5. 결론

이 기사에서는 터미널에서 Cloudwatch를 관리하는 aws-cli 명령을 보여 드리겠습니다. 이 안내서는 Cloudwatch 경보 생성 및 관리를 위해 aws-cli 사용을 시작하는 데 도움이 됩니다. EC2 CPU 모니터링 경보를 생성, 관리, 삭제하는 명령이 표시됩니다. 이미 AWS EC2, Cloudwatch 서비스에 익숙하다고 가정합니다.

다음은 이 기사에서 보게 될 Cloudwatch용 aws-cli 명령어입니다.

  1. list-metrics: 이 명령은 지정된 메트릭을 나열합니다.\n
  2. put-metric-alarm: 이 명령을 사용하여 경보를 만들고 업데이트할 수 있습니다.\n
  3. describe-alarms: 지정된 알람의 세부 정보를 가져옵니다.
  4. set-alarm-state: 이 명령을 사용하여 테스트 목적으로 일시적으로 경보 상태를 변경합니다.\n
  5. describe-alarm-history: 이 명령을 사용하여 지정된 알람의 기록을 확인합니다.\n
  6. delete-alarms: 이 명령을 사용하여 특정 알람을 삭제합니다.\n

Cloudwatch 관리에 사용할 수 있는 모든 명령어를 알아보려면 여기에서 공식 문서를 방문하세요.

전제 조건

  1. AWS 계정(계정이 없는 경우 생성).
  2. EC2 인스턴스에 대한 기본적인 이해(EC2 인스턴스 생성 방법을 알아보려면 여기를 클릭하세요.)\n
  3. Cloudwatch에 대한 기본 이해(AWS 콘솔에서 EC2 인스턴스에 대한 경보를 생성하는 방법을 알아보려면 여기를 클릭)\n
  4. IAM 사용자를 생성하는 AWS IAM 사용자).\n
  5. 로컬 시스템에 설치된 AWS CLI.
  6. SNS 주제(Cloudformation을 사용하여 SNS 주제를 만드는 방법을 알아보려면 여기를 클릭하세요.)\n

우리는 무엇을 할 것인가?

  1. aws cli를 확인하고 로컬 시스템에서 AWS 액세스 및 비밀 키를 내보냅니다.\n
  2. aws-cli를 사용하여 Cloudwatch 관리\n

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 주제를 가지고 있습니다. 데모용으로 사용하겠습니다. SNS 주제가 없다면 생성 후 진행하세요.

계정에 있는 기존 SNS 주제 목록을 가져옵니다.

aws sns list-topics

인스턴스의 ID를 가져와 누구에게나 경보를 생성합니다.

aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"

인스턴스 ID와 SNS ARN을 유지하십시오. 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를 관리하는 데 사용할 수 있는 다양한 명령과 옵션을 시도할 수 있습니다.