AWS開発チートシート 2026年版——現場で毎日使うコマンドと設定をまとめた
この記事について
AWSで開発をしていると「あのコマンド、何だっけ?」と手が止まる瞬間がある。公式ドキュメントは正確だが、必要な情報にたどり着くまでに時間がかかる。
この記事は、自分が開発中に繰り返し参照するコマンドや設定パターンをチートシート形式でまとめたものだ。2025〜2026年にかけて追加された新機能も含めて、実務で使う頻度が高い順に整理した。
AWS CLI 基本操作
プロファイルとリージョン
# プロファイル一覧を確認
aws configure list-profiles
# デフォルトリージョンを設定
aws configure set region ap-northeast-1
# 特定のプロファイルでコマンドを実行
aws s3 ls --profile my-profile
# 現在の認証情報を確認(誰としてログインしているか)
aws sts get-caller-identity
IAM Identity Center(SSO)認証(推奨)
2026年現在、永続的なアクセスキーの使用は非推奨。IAM Identity Centerによる一時認証が標準となっている。
# SSO設定の初期セットアップ(対話形式)
aws configure sso
# SSOログイン(PKCE認証が自動で使われる)
aws sso login --sso-session my-session
# SSOログアウト
aws sso logout
# トークン期限切れ時の再認証(全プロファイルに反映される)
aws sso login --sso-session my-session
~/.aws/config の設定例:
[sso-session my-session]
sso_start_url = https://my-org.awsapps.com/start
sso_region = ap-northeast-1
sso_registration_scopes = sso:account:access
[profile dev]
sso_session = my-session
sso_account_id = 123456789012
sso_role_name = DeveloperAccess
region = ap-northeast-1
詳しい設定手順はAWS CLIのクレデンシャル設定ガイドを参照。
S3 操作
基本操作
# バケット一覧
aws s3 ls
# バケット内のオブジェクト一覧(再帰的)
aws s3 ls s3://my-bucket/ --recursive --human-readable
# ファイルのアップロード
aws s3 cp ./file.txt s3://my-bucket/path/file.txt
# ディレクトリの同期(ローカル → S3)
aws s3 sync ./dist/ s3://my-bucket/ --delete
# 署名付きURLの生成(1時間有効)
aws s3 presign s3://my-bucket/file.txt --expires-in 3600
S3の制限値(2026年更新)
| 項目 | 制限値 |
|---|---|
| 1オブジェクトの最大サイズ | 50 TB(5 TBから引き上げ) |
| バケット数の上限 | 10,000個/アカウント |
| マルチパートアップロードの最小パートサイズ | 5 MB |
| 整合性モデル | 強い読み取り一貫性 |
S3 チェックサム検証
2025年からSHA-256やCRC32Cなど追加のチェックサムアルゴリズムに対応した。データ整合性の検証が柔軟になっている。
# SHA-256チェックサム付きでアップロード
aws s3api put-object \
--bucket my-bucket \
--key file.txt \
--body ./file.txt \
--checksum-algorithm SHA256
Amazon S3 Files(2026年新サービス)
S3をファイルシステムとしてマウントできる新サービス。EFSのような使い方がS3の料金体系で可能になった。
# S3 Filesバケットの作成(ファイルシステムモード)
aws s3api create-bucket \
--bucket my-file-bucket \
--create-bucket-configuration LocationConstraint=ap-northeast-1
# ※ファイルシステムとしてのマウントにはVPCエンドポイントが必要
詳しくはAmazon S3 Filesが登場を参照。
Lambda
関数の管理
# 関数一覧
aws lambda list-functions --region ap-northeast-1
# 関数の作成
aws lambda create-function \
--function-name my-function \
--runtime nodejs20.x \
--role arn:aws:iam::123456789012:role/lambda-role \
--handler index.handler \
--zip-file fileb://function.zip
# コードの更新
aws lambda update-function-code \
--function-name my-function \
--zip-file fileb://function.zip
# 環境変数の更新
aws lambda update-function-configuration \
--function-name my-function \
--environment "Variables={DB_HOST=mydb.example.com,STAGE=prod}"
関数の実行とログ
# 同期実行(レスポンスを受け取る)
aws lambda invoke \
--function-name my-function \
--payload '{"key": "value"}' \
--cli-binary-format raw-in-base64-out \
response.json
# 最新のログを確認
aws logs tail /aws/lambda/my-function --follow
Lambda の制限値
| 項目 | 制限値 |
|---|---|
| メモリ | 128 MB〜10,240 MB |
| タイムアウト | 最大15分 |
| デプロイパッケージ | 50 MB(zip)/ 250 MB(展開後) |
| コンテナイメージ | 最大10 GB |
| 同時実行数 | 1,000(デフォルト) |
| 一時ストレージ | 最大10,240 MB |
CloudFormation / IaC
スタック操作
# スタックのデプロイ(変更セット経由)
aws cloudformation deploy \
--template-file template.yaml \
--stack-name my-stack \
--capabilities CAPABILITY_IAM
# スタックの状態確認
aws cloudformation describe-stacks --stack-name my-stack
# スタックイベントの確認(デバッグ用)
aws cloudformation describe-stack-events \
--stack-name my-stack \
--query 'StackEvents[?ResourceStatus==`CREATE_FAILED`]'
# スタックの削除
aws cloudformation delete-stack --stack-name my-stack
Drift-Aware Change Sets(2025年11月〜)
手動変更で実態とテンプレートがずれた場合でも、3方向の差分を検出できるようになった。
# ドリフト検出を開始
aws cloudformation detect-stack-drift --stack-name my-stack
# ドリフト検出結果の確認
aws cloudformation describe-stack-drift-detection-status \
--stack-drift-detection-id <detection-id>
# リソースごとのドリフト詳細
aws cloudformation describe-stack-resource-drifts \
--stack-name my-stack
Stack Refactoring(2025年2月〜)
スタック間でリソースを安全に移動できる機能。大きくなりすぎたスタックの分割に便利。
# リファクタリングの作成
aws cloudformation create-stack-refactor \
--description "APIリソースを分離" \
--stack-definitions \
StackName=monolith-stack,TemplateBody=file://monolith-updated.yaml \
StackName=api-stack,TemplateBody=file://api-stack.yaml \
--resource-mappings '[
{
"Source": {"StackName": "monolith-stack", "LogicalResourceId": "ApiGateway"},
"Destination": {"StackName": "api-stack", "LogicalResourceId": "ApiGateway"}
}
]'
CDK 基本操作
# プロジェクトの初期化
npx cdk init app --language typescript
# 差分の確認
npx cdk diff
# デプロイ
npx cdk deploy --require-approval broadening
# 全スタックのデプロイ
npx cdk deploy --all
# スタックの破棄
npx cdk destroy
IAM
よく使う確認コマンド
# 自分のユーザー情報
aws sts get-caller-identity
# ユーザー一覧
aws iam list-users
# ロールの一覧
aws iam list-roles --query 'Roles[].RoleName'
# ポリシーの確認
aws iam get-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
# ロールにアタッチされたポリシー一覧
aws iam list-attached-role-policies --role-name my-role
アクセス権限のデバッグ
# 特定のアクションが許可されているかシミュレーション
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/my-user \
--action-names s3:GetObject \
--resource-arns arn:aws:s3:::my-bucket/*
CloudFront
# ディストリビューション一覧
aws cloudfront list-distributions \
--query 'DistributionList.Items[].{Id:Id,Domain:DomainName,Status:Status}'
# キャッシュの無効化(デプロイ後に必要)
aws cloudfront create-invalidation \
--distribution-id E10DXZCUDPW3F \
--paths "/*"
# 無効化のステータス確認
aws cloudfront get-invalidation \
--distribution-id E10DXZCUDPW3F \
--id <invalidation-id>
CloudWatch Logs
# ロググループ一覧
aws logs describe-log-groups --query 'logGroups[].logGroupName'
# リアルタイムでログを表示
aws logs tail /aws/lambda/my-function --follow
# 特定期間のログを検索(macOSの場合)
aws logs filter-log-events \
--log-group-name /aws/lambda/my-function \
--start-time $(date -v-1H +%s000) \
--filter-pattern "ERROR"
# Linuxの場合は date -d '1 hour ago' +%s000 を使用
ECS / Fargate
# クラスター一覧
aws ecs list-clusters
# サービスの一覧
aws ecs list-services --cluster my-cluster
# サービスの強制デプロイ(新しいタスクに入れ替え)
aws ecs update-service \
--cluster my-cluster \
--service my-service \
--force-new-deployment
# タスクのログを確認
aws ecs execute-command \
--cluster my-cluster \
--task <task-id> \
--container my-container \
--interactive \
--command "/bin/sh"
コスト管理
# 今月の概算コスト
aws ce get-cost-and-usage \
--time-period Start=2026-04-01,End=2026-04-11 \
--granularity MONTHLY \
--metrics BlendedCost \
--group-by Type=DIMENSION,Key=SERVICE
# 特定サービスの日別コスト
aws ce get-cost-and-usage \
--time-period Start=2026-04-01,End=2026-04-11 \
--granularity DAILY \
--metrics BlendedCost \
--filter '{"Dimensions":{"Key":"SERVICE","Values":["Amazon Simple Storage Service"]}}'
便利な小技
よく使うクエリパターン(--query)
# 名前でフィルタリング
--query 'Items[?contains(Name, `prod`)]'
# 特定フィールドだけ取得
--query 'Items[].{Name:Name, Id:Id}'
# ソートして最初の1件
--query 'sort_by(Items, &CreatedDate)[-1]'
# 出力フォーマットの切り替え
--output table # 表形式(ターミナルで見やすい)
--output json # JSON形式(jqと組み合わせる)
--output text # タブ区切り(シェルスクリプト向き)
AWS IaC MCP Server
2025年にAWSが公開したIaC用MCPサーバーを使えば、Claude Codeから直接CloudFormation/CDKのドキュメント検索やテンプレート検証ができる。
// .claude/settings.local.json
{
"permissions": {
"allow": ["mcp__plugin_deploy-on-aws_awsknowledge__*"]
}
}
Claude CodeのAWSプラグインについてはClaude CodeのAWSプラグインが便利すぎるを参照。
まとめ
AWSのCLIやサービスは毎年進化している。特に2025〜2026年は以下の変化が大きい。
- IAM Identity Center(SSO)が認証の標準に。永続アクセスキーは非推奨
- S3の1オブジェクト上限が50 TBに拡大。S3 Filesでファイルシステムマウントも可能に
- CloudFormationにDrift-Aware Change SetsとStack Refactoringが追加。IaCの運用が格段に楽に
- AWS IaC MCP ServerでAI連携も進化
このチートシートは自分用のメモを兼ねているので、新しいコマンドや設定パターンを覚えたら随時更新していく予定だ。