華麗なるワンライナー

【第15回 クラウド女子会 〜美:Cap 雲をもつかむ美しさに最新技術を添えて〜】でご紹介した華麗なるワンライナーのまとめです。

VPC作成&タグ付け

REGION="ap-northeast-1” && \
VPC_CIDR="XXXXXX/X" && \
VPC_NAME="AAAA" && \
VPC_ID=`aws ec2 create-vpc --region ${REGION} \
  --cidr-block ${VPC_CIDR} --query 'Vpc.[VpcId]' \
  --output text` && \
aws ec2 wait vpc-exists --region ${REGION} --vpc-ids ${VPC_ID} && \
aws ec2 create-tags --region ${REGION} --resources ${VPC_ID} \
  --tags Key=Name,Value=${VPC_NAME} && \
aws ec2 describe-vpcs --region ${REGION} --vpc-ids ${VPC_ID} \
  --query "Vpcs[].Tags[].Value" --output text

CloudWatchLogsのロググループ作成&ログ保持期間の変更

REGION="ap-northeast-1" && \
CWL_GRP="CWL_GRP.txt" && \
LOG_PERIOD=7 && \
for LOGGROUPNAME in $(cat ${CWL_GRP}); \
do aws logs create-log-group --region ${REGION} \
  --log-group-name ${LOGGROUPNAME} && \
aws logs put-retention-policy --region ${REGION} \
  --log-group-name ${LOGGROUPNAME} \
  --retention-in-days ${LOG_PERIOD};done

AMI削除&Snapshot削除

REGION="ap-northeast-1" && \
AMI_ALL=`aws ec2 describe-images --region ${REGION} \
  --filters "Name=name,Values=*$(hostname)*" \
  --query 'Images[].ImageId' --output text` && \
for AMI_ID in ${AMI_ALL} ;do \
  SNAPSHOT_ALL=`aws ec2 describe-snapshots --region ${REGION} \
  --filters "Name=description,Values=*${AMI_ID}*" \
  --query 'Snapshots[].SnapshotId' \
  --output text` &&\
  aws ec2 deregister-image --region ${REGION} \
  --image-id ${AMI_ID} && \
  for SNAPSHOT_ID in ${SNAPSHOT_ALL};do \
    aws ec2 delete-snapshot --region ${REGION} \
    --snapshot-id ${SNAPSHOT_ID} \
  ;done \
;done

不要なKeyPairの洗いだし

REGION="ap-northeast-1" && \
aws ec2 describe-key-pairs --region ${REGION} \
  --query 'KeyPairs[].KeyName[]' --output text \
  | sed 's/\t/\n/g' > $(date '+%Y%m%d-%H')_key.txt && \
aws ec2 describe-instances --region ${REGION} \
  --query 'Reservations[].Instances[].KeyName' \
  --output text | sed 's/\t/\n/g' | awk '!abc[$0]++{print $1}' \
  > $(date '+%Y%m%d-%H')_ec2.txt && \
for EC2_KEY_PAIR in $(cat $(date '+%Y%m%d-%H')_key.txt); \
  do CNT=$(grep -x ${EC2_KEY_PAIR} ./$(date '+%Y%m%d-%H')_ec2.txt | wc -l); \
  if [ ${CNT} = 0 ];then echo ${EC2_KEY_PAIR} \
  >> $(date '+%Y%m%d-%H')_delete_key.txt;fi;done

WindowsAWS CLIを実行して"UnicodeWarning"が出たとき エラー内容

PS C:\Users\Administrator> aws ec2 describe-regions --region ap-northeast-1
C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:601: UnicodeWarning: Unicode equal comparison failed to convert both
 arguments to Unicode - interpreting them as being unequal

対策 − PowerShell

> Set-Item env:tz -Value jst

対策 − コマンドプロンプト

> set tz=jst