AWSPython

よく使うAWS CLIのコマンドまとめ

AWS

AWSのリソースで開発をしている際によく使うAWS CLIコマンドについて自分用のメモとして残しておきます。※随時更新予定です。

基本的にAWS CLIでしか確認できないLocalStackで使う事が多いのでendpointを追加してます。 AWSサービス上で利用する際には適宜変更してください。

長めのコマンドは複数行に渡って表示するようにしていますが、Windows環境で開発を行っているのが多いのでPowerShellを想定して「バッククォート(`)」で区切ってます。LinuxやMacは「バックスラッシュ()」になります。

長いコマンドを複数行に分割して実行する方法(Windows) https://syachiku.net/command-long/

1. CloudFormation

  • スタック一覧を表示
aws cloudformation describe-stacks --endpoint-url=http://localhost:4566 --profile localstack

2. Lambda

  • Lambda関数の一覧を表示
aws lambda list-functions --endpoint-url=http://localhost:4566 --profile localstack

# 簡易的に表示する場合
aws lambda list-functions --query "Functions[].[FunctionName,Handler,Runtime,MemorySize]" `
--endpoint-url=http://localhost:4566 `
--profile localstack
  • Lamnbda関数を実行する(Parameterも渡す)
aws lambda invoke --endpoint-url=http://localhost:4566 `
    --profile localstack `
    --function-name <FunctionName> `
    --payload '{\"key1\":\"value1\", \"key2\":\"value2\", \"key3\":\"value3\"}' `
    --cli-binary-format raw-in-base64-out `
    result.json
  • Lamnbda関数を実行する(Parameterはjsonファイルで用意)
aws lambda invoke --endpoint-url=http://localhost:4566 `
    --profile localstack `
    --function-name <FunctionName> `
    --payload  file://payload.json `
    --cli-binary-format raw-in-base64-out `
    result.json
  • Lambdaをzip化してアップロードする

3. S3

  • Bucketを作成
aws s3 mb s3://test-bucket2 --endpoint-url=http://localhost:4566 --profile localstack

# こちらでも作成可能
aws  s3api create-bucket --bucket test-bucket  --endpoint-url=http://localhost:4566 --profile localstack
  • Bucketの一覧を確認
aws s3 ls --endpoint-url=http://localhost:4566 --profile localstack

4. EC2

  • EC2の一覧を取得
aws ec2 describe-instances --endpoint-url=http://localhost:4566 --profile localstack

5. Cloudwatch

  • LogGroupの一覧確認
aws logs describe-log-groups  --endpoint-url=http://localhost:4566 --profile localstack
  • Logの確認(リアルタイム)
aws logs tail --follow /aws/lambda/<LogGroup名> --endpoint-url=http://localhost:4566 --profile localstack

6. API Gateway

  • REST Gatewayの一覧確認
aws apigateway get-rest-apis --endpoint-url=http://localhost:4567 --profile localstack
  • REST Gatewayの詳細確認
aws apigateway get-resources --rest-api-id 7979083004 --endpoint-url=http://localhost:4567 --profile localstack

7. IAM

  • 各RoleやPolicyの確認
aws iam get-role  --endpoint-url=http://localhost:4566 `
    --profile localstack `
    --role-name <Role Name>

aws iam list-role-policies  --endpoint-url=http://localhost:4566 `
    --profile localstack `
    --role-name <Role Name>


aws iam get-role-policy  --endpoint-url=http://localhost:4566 `
    --profile localstack `
    --role-name  <Role Name> `
    --policy-name  <Policy Name>

8. DynamoDB

  • Tableの一覧取得
aws dynamodb list-tables `
    --endpoint-url=http://localhost:4566 `
    --profile localstack
  • Tableの作成
aws dynamodb create-table `
--endpoint-url=http://localhost:4566 `
--profile localstack `
--table-name dev-amzn-item `
--attribute-definitions `
    AttributeName=user_name,AttributeType=S `
    AttributeName=time_or_user,AttributeType=S `
--key-schema `
    AttributeName=user_name,KeyType=HASH `
    AttributeName=time_or_user,KeyType=RANGE `
--provisioned-throughput `
    ReadCapacityUnits=5,WriteCapacityUnits=5
  • Tableの削除
aws dynamodb delete-table `
--endpoint-url=http://localhost:4566 `
--profile localstack `
--table-name dev-amzn-item
  • アイテムの取得(Scan)
aws dynamodb scan `
--endpoint-url=http://localhost:4566 `
--profile localstack `
--table-name dev-amzn-item

今回は以上となります。

コメント