CheatSheet
日本語 icon日本語English iconEnglish
チートシートとはカンニングペーパーのことです。それが転じて、本来覚えることをまとめておいたものです。
要点をすぐに参照できるようにまとめてみました。

AWS

エンジニアのためのWebチートシート

AWS(Amazon Web Services)は、世界最大のクラウドプラットフォームです。 コンピューティング、ストレージ、データベース、ネットワーキングなど200以上のサービスを提供しています。 AWS CLIの基本操作、IAM、S3、EC2、Lambda、ECS、RDS、DynamoDB、CloudFormation、CloudWatch、Route 53、SQS/SNSなどをチートシートにまとめました。

CLI基本 & IAM

CLI設定

コマンド説明
aws --versionCLIバージョンを確認します。
aws configureアクセスキー、リージョン、出力形式を設定します。
aws configure --profile <name>名前付きプロファイルを作成します。
aws configure list現在の設定一覧を表示します。
aws configure list-profiles全プロファイルを一覧表示します。
aws sts get-caller-identity現在のIAMユーザー/ロールを確認します。
--profile <name>プロファイルを指定して実行します。
--region <region>リージョンを指定して実行します。
--output json|table|text出力形式を指定します。
--dry-run実行せず確認のみ行います。

IAM(ユーザー・ロール・ポリシー)

コマンド説明
aws iam list-users全IAMユーザーを一覧表示します。
aws iam create-user --user-name <name>IAMユーザーを作成します。
aws iam create-access-key --user-name <name>アクセスキーを生成します。
aws iam list-roles全ロールを一覧表示します。
aws iam create-role --role-name <name> --assume-role-policy-document file://trust.jsonロールを作成します。
aws iam attach-role-policy --role-name <name> --policy-arn <arn>ロールにポリシーをアタッチします。
aws iam list-policies --scope Local全ポリシーを一覧表示します。
aws iam create-policy --policy-name <name> --policy-document file://policy.jsonカスタムポリシーを作成します。

S3

バケット & オブジェクト操作

コマンド説明
aws s3 ls全バケットを一覧表示します。
aws s3 ls s3://<bucket>バケット内容を表示します。
aws s3 mb s3://<bucket>バケットを作成します。
aws s3 rb s3://<bucket> --forceバケットを削除します(--forceで中身含む)。

ファイル操作

コマンド説明
aws s3 cp <file> s3://<bucket>/ファイルをS3にアップロードします。
aws s3 cp s3://<bucket>/<key> ./S3からファイルをダウンロードします。
aws s3 cp <dir> s3://<bucket>/ --recursiveディレクトリを一括アップロードします。
aws s3 mv s3://<bucket>/<old> s3://<bucket>/<new>オブジェクトを移動/リネームします。
aws s3 rm s3://<bucket>/<key>オブジェクトを削除します。
aws s3 rm s3://<bucket>/<prefix> --recursiveフォルダを一括削除します。

同期 & 署名付きURL

コマンド説明
aws s3 sync . s3://<bucket>/ローカルからS3に同期します。
aws s3 sync s3://<bucket>/ ./S3からローカルに同期します。
aws s3 sync . s3://<bucket>/ --delete削除も含めて同期します。
aws s3 sync . s3://<bucket>/ --exclude "*.log"除外パターンを指定して同期します。
aws s3 presign s3://<bucket>/<key> --expires-in 3600署名付きURL(一時アクセス用)を生成します。

EC2

インスタンス管理

コマンド説明
aws ec2 describe-instances全インスタンスの情報を表示します。
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"実行中のインスタンスのみ表示します。
aws ec2 run-instances --image-id <ami> --instance-type t3.micro --key-name <key>インスタンスを起動します。
aws ec2 start-instances --instance-ids <id>停止中のインスタンスを開始します。
aws ec2 stop-instances --instance-ids <id>インスタンスを停止します。
aws ec2 terminate-instances --instance-ids <id>インスタンスを終了(削除)します。
aws ec2 reboot-instances --instance-ids <id>インスタンスを再起動します。

セキュリティグループ

コマンド説明
aws ec2 describe-security-groups全セキュリティグループを表示します。
aws ec2 create-security-group --group-name <name> --description "desc" --vpc-id <vpc>セキュリティグループを作成します。
aws ec2 authorize-security-group-ingress --group-id <sg> --protocol tcp --port 443 --cidr 0.0.0.0/0インバウンドルールを追加します。
aws ec2 revoke-security-group-ingress --group-id <sg> --protocol tcp --port 443 --cidr 0.0.0.0/0インバウンドルールを削除します。

キーペア

コマンド説明
aws ec2 describe-key-pairsキーペアを一覧表示します。
aws ec2 create-key-pair --key-name <name> --query "KeyMaterial" --output text > key.pemキーペアを作成して保存します。

Lambda

関数管理

コマンド説明
aws lambda list-functions全Lambda関数を一覧表示します。
aws lambda get-function --function-name <name>関数のコードとメタデータを取得します。
aws lambda create-function --function-name <name> --runtime nodejs20.x --handler index.handler --zip-file fileb://func.zip --role <arn>新しいLambda関数を作成します。
aws lambda update-function-code --function-name <name> --zip-file fileb://func.zip関数コードを更新します。
aws lambda update-function-configuration --function-name <name> --timeout 30 --memory-size 256タイムアウトやメモリなどの設定を更新します。
aws lambda delete-function --function-name <name>Lambda関数を削除します。

実行 & バージョン

コマンド説明
aws lambda invoke --function-name <name> --payload '{...}' output.json関数を同期実行します。
aws lambda invoke --function-name <name> --invocation-type Event --payload '{...}' output.json関数を非同期実行します。
aws lambda publish-version --function-name <name>バージョンを発行します。
aws lambda create-alias --function-name <name> --name prod --function-version 1エイリアスを作成します。

ECS & ECR

ECS(クラスター・サービス・タスク)

コマンド説明
aws ecs list-clustersクラスター一覧を表示します。
aws ecs create-cluster --cluster-name <name>クラスターを作成します。
aws ecs list-services --cluster <name>サービス一覧を表示します。
aws ecs update-service --cluster <name> --service <svc> --desired-count 3サービスのタスク数を更新します。
aws ecs list-tasks --cluster <name>タスク一覧を表示します。
aws ecs describe-tasks --cluster <name> --tasks <arn>タスクの詳細を表示します。
aws ecs run-task --cluster <name> --task-definition <def>タスクを手動実行します。
aws ecs register-task-definition --cli-input-json file://task-def.jsonタスク定義を登録します。

ECR(コンテナレジストリ)

コマンド説明
aws ecr get-login-password | docker login --username AWS --password-stdin <account>.dkr.ecr.<region>.amazonaws.comECRにDockerログインします。
aws ecr create-repository --repository-name <name>リポジトリを作成します。
aws ecr describe-repositoriesリポジトリ一覧を表示します。
aws ecr delete-repository --repository-name <name> --forceリポジトリを削除します。

RDS & DynamoDB

RDS

コマンド説明
aws rds describe-db-instances全DBインスタンスを表示します。
aws rds create-db-instance --db-instance-identifier <id> --engine postgres --db-instance-class db.t3.micro --master-username admin --master-user-password <pw> --allocated-storage 20DBインスタンスを作成します。
aws rds start-db-instance --db-instance-identifier <id>DBインスタンスを開始します。
aws rds stop-db-instance --db-instance-identifier <id>DBインスタンスを停止します。
aws rds delete-db-instance --db-instance-identifier <id> --skip-final-snapshotDBインスタンスを削除します。
aws rds create-db-snapshot --db-instance-identifier <id> --db-snapshot-identifier <snap>スナップショットを作成します。
aws rds restore-db-instance-from-db-snapshot --db-instance-identifier <new> --db-snapshot-identifier <snap>スナップショットから復元します。

DynamoDB

コマンド説明
aws dynamodb list-tablesテーブル一覧を表示します。
aws dynamodb describe-table --table-name <name>テーブル詳細を表示します。
aws dynamodb create-table --table-name <name> --attribute-definitions AttributeName=id,AttributeType=S --key-schema AttributeName=id,KeyType=HASH --billing-mode PAY_PER_REQUESTテーブルを作成します。
aws dynamodb put-item --table-name <name> --item '{"id":{"S":"1"}}'アイテムを追加します。
aws dynamodb get-item --table-name <name> --key '{"id":{"S":"1"}}'アイテムを取得します。
aws dynamodb query --table-name <name> --key-condition-expression "id = :v" --expression-attribute-values '{":v":{"S":"1"}}'キー条件でクエリします。
aws dynamodb scan --table-name <name>テーブル全件をスキャンします。
aws dynamodb delete-item --table-name <name> --key '{"id":{"S":"1"}}'アイテムを削除します。

CloudFormation & CDK

CloudFormation

コマンド説明
aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETEスタック一覧を表示します。
aws cloudformation describe-stacks --stack-name <name>スタック詳細を表示します。
aws cloudformation create-stack --stack-name <name> --template-body file://template.yamlスタックを作成します。
aws cloudformation update-stack --stack-name <name> --template-body file://template.yamlスタックを更新します。
aws cloudformation delete-stack --stack-name <name>スタックを削除します。
aws cloudformation deploy --stack-name <name> --template-file template.yaml --capabilities CAPABILITY_IAMチェンジセット経由でデプロイします。
aws cloudformation validate-template --template-body file://template.yamlテンプレートを検証します。
aws cloudformation describe-stack-events --stack-name <name>スタックイベントを確認します。

CDK

コマンド説明
cdk init app --language typescriptCDKプロジェクトを初期化します。
cdk synthCloudFormationテンプレートを生成します。
cdk deployスタックをデプロイします。
cdk diff変更差分を確認します。
cdk destroyスタックを削除します。
cdk bootstrapブートストラップスタックを作成します。

CloudWatch

ログ

コマンド説明
aws logs describe-log-groupsロググループ一覧を表示します。
aws logs describe-log-streams --log-group-name <group>ログストリーム一覧を表示します。
aws logs get-log-events --log-group-name <group> --log-stream-name <stream>ログイベントを取得します。
aws logs filter-log-events --log-group-name <group> --filter-pattern "ERROR"パターンでログを検索します。
aws logs create-log-group --log-group-name <group>ロググループを作成します。
aws logs delete-log-group --log-group-name <group>ロググループを削除します。

メトリクス & アラーム

コマンド説明
aws cloudwatch list-metrics --namespace AWS/EC2メトリクス一覧を表示します。
aws cloudwatch put-metric-data --namespace Custom --metric-name <name> --value 1カスタムメトリクスを送信します。
aws cloudwatch put-metric-alarm --alarm-name <name> --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 80 --comparison-operator GreaterThanThreshold --evaluation-periods 2メトリクスアラームを作成します。
aws cloudwatch describe-alarmsアラーム一覧を表示します。
aws cloudwatch delete-alarms --alarm-names <name>アラームを削除します。

ネットワーク & メッセージング

Route 53

コマンド説明
aws route53 list-hosted-zonesホストゾーン一覧を表示します。
aws route53 create-hosted-zone --name <domain> --caller-reference <ref>ホストゾーンを作成します。
aws route53 list-resource-record-sets --hosted-zone-id <id>DNSレコード一覧を表示します。
aws route53 change-resource-record-sets --hosted-zone-id <id> --change-batch file://changes.jsonDNSレコードを作成/更新/削除します。

CloudFront

コマンド説明
aws cloudfront list-distributionsディストリビューション一覧を表示します。
aws cloudfront create-invalidation --distribution-id <id> --paths "/index.html"パス指定でキャッシュを無効化します。
aws cloudfront create-invalidation --distribution-id <id> --paths "/*"全キャッシュを無効化します。

SQS & SNS

コマンド説明
aws sqs list-queuesキュー一覧を表示します。
aws sqs create-queue --queue-name <name>キューを作成します。
aws sqs send-message --queue-url <url> --message-body "hello"メッセージを送信します。
aws sqs receive-message --queue-url <url>メッセージを受信します。
aws sqs delete-message --queue-url <url> --receipt-handle <handle>メッセージを削除します。
aws sqs purge-queue --queue-url <url>キュー内全メッセージを削除します。
aws sns list-topicsトピック一覧を表示します。
aws sns create-topic --name <name>トピックを作成します。
aws sns publish --topic-arn <arn> --message "hello"メッセージを発行します。
aws sns subscribe --topic-arn <arn> --protocol email --notification-endpoint <email>サブスクリプションを作成します。

引用・参考リンク

Related Cheatsheets

Related Goods

  • AWS認定試験の対策にも使える実践的なネットワーキング解説書。
AWSのネットワーク設計を深く理解できます。
    AWS認定試験の対策にも使える実践的なネットワーキング解説書。 AWSのネットワーク設計を深く理解できます。
    詳細をみる
  • 模擬問題付きのAWS SAA-C03対策教科書。
AWSアーキテクチャ設計の知識を体系的に学べる定番の一冊です。
    模擬問題付きのAWS SAA-C03対策教科書。 AWSアーキテクチャ設計の知識を体系的に学べる定番の一冊です。
    詳細をみる
  • ケーブルに取り付け可能なTypeCとLightningの変換アダプタです。
スタイリッシュなデザインで、Apple製品との相性抜群です。
    ケーブルに取り付け可能なTypeCとLightningの変換アダプタです。 スタイリッシュなデザインで、Apple製品との相性抜群です。
    詳細をみる
  • お気に入りのサウンドデバイスをすぐ取り出せる位置にディスプレイさせておくことができます。
    お気に入りのサウンドデバイスをすぐ取り出せる位置にディスプレイさせておくことができます。
    詳細をみる

WebTerm - Recommended tools

WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm Logo

WebTerm

Browser Terminal Sandbox for Learning CLI

開く

All Cheatsheets

エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る