Tech BlogAWSツール & 技術ブログ

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連携も進化

このチートシートは自分用のメモを兼ねているので、新しいコマンドや設定パターンを覚えたら随時更新していく予定だ。