AWS T 시스템 인스턴스의 CPU 크레딧 사용
개요
AWS의돌발 성능 실례 CPUcredit는 점차 회복되지만, 일정량 이상은 회복되지 않는다.
다음 그림은 클라우드워치의 CPUcreditBalance입니다.
이 그래프를 보면서 받을 수 있을 것 같은 CPUcredit를 버리는 게 늘 아쉬웠다.
따라서 이번 주제는 CPUcredit Balance의 범위 내에서 그에게 뭔가를 처리하게 하는 것이다(이번은 암호 자산 발굴이다).
설정
필요한 패키지 설치
apt install jq awscli
cludwatch가 닿을 수 있도록 IAM 스크롤 막대를 설정합니다.다음 스크립트에서 신용카드가 50 이하일 때까지 CPU를 사용합니다
수면 시간과 절단 한도값을 적당히 조정하다.
#!/bin/bash
set -eu
cd `dirname $0`
TOKEN=`curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 60"`
instance_id=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-id)
function get_cpu_credit {
echo $(aws cloudwatch \
--output json \
get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUCreditBalance \
--start-time `date -u -d "5 minutes ago" "+%Y-%m-%dT%H:%M:%SZ"` \
--end-time `date -u "+%Y-%m-%dT%H:%M:%SZ"` \
--period 300 --statistics Average \
--dimensions Name=InstanceId,Value=$instance_id |
jq .Datapoints[0].Average | cut -d. -f1)
}
# 何か重い処理をバックグラウンドで走らせる
./cpuminer ...(いろんなオプション) &
CPU_MINER_PID=$!
while [ $(get_cpu_credit) -gt "50" ];do
sleep 15m
done
kill -TERM $CPU_MINER_PID
그리고 정기적으로 집행curl -L https://git.io/Jkf7Z > /etc/systemd/system/cpuminer.service
curl -L https://git.io/Jkf7n > /etc/systemd/system/cpuminer.timer
systemctl enable cpuminer.timer
systemctl start cpuminer.timer
결실
순조롭게 진행되었다
Reference
이 문제에 관하여(AWS T 시스템 인스턴스의 CPU 크레딧 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yaasita/articles/4b96ecf8a8b9bda853f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)