awscli

Table of Contents

awscli

cloudwatch

利用可能なメトリクスを表示する

$ aws cloudwatch list-metrics --namespace AWS/EC2

Log Streamを作成する

aws logs create-log-stream --log-group-name /ecslog --log-stream-name TEST

ログを手動でPUTする

既存のログStreamにPutする場合はnextSequenceTokenを取得する。

$ aws logs describe-log-streams --log-group-name "TEST"
{
    "logStreams": [
	{
	    "logStreamName": "TEST",
	    "creationTime": 1554695601029,
	    "firstEventTimestamp": 1554695613969,
	    "lastEventTimestamp": 1554695805753,
	    "lastIngestionTime": 1554695820003,
	    "uploadSequenceToken": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
	    "arn": "arn:aws:logs:ap-northeast-1:XXXXXXXXXXXXXX:log-group:TEST:TEST",
	    "storedBytes": 0
	}
    ]
}

上記のuploadSequenceTokenを指定してLogをPutする。

aws logs put-log-events --log-group-name "TEST" --log-stream-name "TEST" --log-events timestamp=1554695613969,message='ERROR 2' --sequence-token XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

新規のLog StreamであればnextSequenceTokenを取得する必要はない。

ログを手動でPUTする(ファイル編)

aws logs create-log-stream --log-group-name TEST  --log-stream-name TEST

ファイルの内容は下記のように記述する。

[
    {
	"timestamp": 1554695613969,
	"message": "{\"@timestamp\": \"2019-04-08T17:08:50.682+09:00\",\"severity\": \"Error\", \"logger\": \"app.scala.log\", \"line\": 34, \"text\": \"ERROR error Error Exception: This is test Exception\"}"
    }
]

IAM

Roleを表示する

$ aws sts get-caller-identity
{
    "UserId": "XXXXXXXXXXXXXXXXXXXXXX:hoge",
    "Account": "xxxxxxxxxxxxx",
    "Arn": "arn:aws:sts::xxxxxxxxxxx:assumed-role/hoge/hoge"
}

S3

署名付きURL(Pre-Signed URL)を取得する

$ aws s3 presign s3://backet-name/path/to/object/key

key一覧を取得する

$ aws s3api list-objects-v2 --bucket bucket-name  --output json

容量を集計する

$ aws s3 ls s3://bucketname --recursive --human --sum

Validate