CloudWatch logs を CLIで調査( fish )
クエリ投げる
set queryId (aws logs start-query --log-group-name NginxAccessLog \
--start-time (date +%s --date "1 week ago") \
--end-time (date +%s) \
--query-string 'fields @timestamp, @message | filter @message NOT LIKE /ua:ELB-HealthChecker/ | sort @timestamp desc | limit 20'\
| jq -r '.queryId' )ステータス確認
aws logs describe-queries | jq '.queries[] | select(.queryId=="$queryId")'取得
aws logs get-query-results --query-id $queryId | jq '.results[][] | select(.field == "@message") | .value'ポリシー作成 https://qiita.com/maimai-swap/items/895b79229f6769aa4a41
aws iam create-policy --policy-name ポリシー名 --profile プロファイル --policy-document file://developerpolicy.json --description "this is ...."CLIのアップデート
pip install awscli
環境変数
export AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxxx # アクセスキー
export AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxx # シークレットアクセスキー
export AWS_SESSION_TOKEN=xxxxxxxxxxxxxxxxxxx # セッショントークン
export AWS_DEFAULT_REGION=ap-northeast-1 # デフォルトリージョン
export AWS_DEFAULT_OUTPUT=json # 出力形式 (json|text|table)
export AWS_PROFILE=default # プロファイル名
export AWS_CONFIG_FILE=~/.aws/config # コンフィグファイルパス
export AWS_SHARED_CREDENTIALS_FILE=~/.aws/credentials # クレデンシャルファイルパス
export AWS_CA_BUNDLE=<AWS_CA_BUNDLE_PATH> # 証明書バンドルへのパスs3コマンド
http://www.task-notes.com/entry/20150904/1441335600
config 現在のプロファイルを確認する
aws —profile hogehoge configure list
~/.aws{config, credentials}の内容も確認すること
- リージョンは config 側で設定する
別のプロファイルに切り替える
export AWS_DEFAULT_PROFILE=hogehoge
上記の方法は『awslogs』でプロファイルを切り替えたい、と思ったが、ダメだった。 ~/.aws/credential の default の値でアクセスしてしまう。この辺、別のツールだけど serverless frameworkは見てくれるんだけどな
理想を言えばawslogが環境変数 AWS_DEFAULT_PROFILE を読み取って振る舞いを変える、のが理想。あるいはオプションでプロファイルを指定できると良いのだが。
MediaStore
特定のバケットの中身を全て削除する. 2018/05時点では、ワイルドカードでの指定などはできなかった( 将来的には、できるようになるかも… )
https://dev.classmethod.jp/cloud/aws/aws-elemental-mediastore-delete-objects-aws-cli-oneliner/
-
—endpoint : MediaStoreのエンドポイントURL 、コンテナによって変更する
-
—path= : コンテナ内のフォルダ名
$ aws —profile hogehoge mediastore-data list-items —endpoint=https://ozr2oq437kxmot.data.mediastore.ap-northeast-1.amazonaws.com —path=/eikoh-a —output=text | awk ‘{system(“aws mediastore-data delete-object —endpoint=https://ozr2oq437kxmot.data.mediastore.ap-northeast-1.amazonaws.com —path=/eikoh-a/“$6)}’
RDS
パラメータグループ取得
パラメータグループは設定箇所が膨大にある。これを比較するのは現実的ではないので、既存のものからコピーしたい
設定取得
aws rds describe-db-parameters --db-parameter-group-name hoge-dev > AWS_RDS_パラメータグループ_hoge-dev.md