jpskill.com
💼 ビジネス コミュニティ

aws-cli

AWSのS3、EC2、Lambda、IAMなど主要サービスの操作をコマンドラインで行い、設定やリソース確認を効率化するSkill。

📜 元の英語説明(参考)

AWS CLI mastery for S3, EC2, Lambda, IAM, and common service operations. Use when user asks to "upload to S3", "launch EC2", "deploy Lambda", "configure AWS", "AWS profiles", "check AWS resources", or any AWS command-line tasks.

🇯🇵 日本人クリエイター向け解説

一言でいうと

AWSのS3、EC2、Lambda、IAMなど主要サービスの操作をコマンドラインで行い、設定やリソース確認を効率化するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

AWS CLI

必須の AWS CLI コマンドとパターンです。

設定

# Initial setup
aws configure
# Enter: Access Key ID, Secret Access Key, Region, Output format

# Named profiles
aws configure --profile staging
aws configure --profile production

# Use profile
aws s3 ls --profile production
export AWS_PROFILE=production  # Set default

# Check identity
aws sts get-caller-identity

# Config files
# ~/.aws/credentials - Access keys
# ~/.aws/config     - Region, output, role settings

ロール引き受けによるプロファイル

# ~/.aws/config
[profile dev]
region = us-east-1
output = json

[profile prod]
role_arn = arn:aws:iam::123456789:role/AdminRole
source_profile = dev
region = us-east-1

S3

# List buckets/objects
aws s3 ls
aws s3 ls s3://my-bucket/
aws s3 ls s3://my-bucket/prefix/ --recursive

# Copy files
aws s3 cp file.txt s3://my-bucket/
aws s3 cp s3://my-bucket/file.txt ./
aws s3 cp s3://bucket1/file s3://bucket2/file

# Sync directory
aws s3 sync ./dist s3://my-bucket/
aws s3 sync ./dist s3://my-bucket/ --delete  # Mirror (removes extras)
aws s3 sync s3://my-bucket/ ./local/

# With filters
aws s3 sync . s3://bucket/ --exclude "*.log" --include "*.txt"

# Remove
aws s3 rm s3://my-bucket/file.txt
aws s3 rm s3://my-bucket/ --recursive  # Empty bucket

# Presigned URL (temporary access)
aws s3 presign s3://my-bucket/file.txt --expires-in 3600

# Bucket operations
aws s3 mb s3://new-bucket
aws s3 rb s3://empty-bucket

EC2

# List instances
aws ec2 describe-instances
aws ec2 describe-instances --filters "Name=tag:Name,Values=web-*"
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,PublicIpAddress]' --output table

# Start/stop
aws ec2 start-instances --instance-ids i-1234567890abcdef0
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
aws ec2 reboot-instances --instance-ids i-1234567890abcdef0

# SSH key pairs
aws ec2 create-key-pair --key-name my-key --query 'KeyMaterial' --output text > my-key.pem
chmod 400 my-key.pem

# Security groups
aws ec2 describe-security-groups
aws ec2 authorize-security-group-ingress \
  --group-id sg-123 \
  --protocol tcp \
  --port 443 \
  --cidr 0.0.0.0/0

Lambda

# List functions
aws lambda list-functions

# Invoke function
aws lambda invoke --function-name my-func --payload '{"key":"value"}' output.json

# Deploy (zip)
zip -r function.zip .
aws lambda update-function-code \
  --function-name my-func \
  --zip-file fileb://function.zip

# View logs
aws logs tail /aws/lambda/my-func --follow
aws logs tail /aws/lambda/my-func --since 1h

# Environment variables
aws lambda update-function-configuration \
  --function-name my-func \
  --environment "Variables={KEY=value,DB_HOST=localhost}"

IAM

# Users
aws iam list-users
aws iam create-user --user-name deploy-bot
aws iam create-access-key --user-name deploy-bot

# Policies
aws iam list-attached-user-policies --user-name alice
aws iam attach-user-policy \
  --user-name deploy-bot \
  --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

# Roles
aws iam list-roles
aws iam get-role --role-name my-role

CloudWatch

# View log groups
aws logs describe-log-groups

# Tail logs
aws logs tail /ecs/my-service --follow --since 30m

# Filter logs
aws logs filter-log-events \
  --log-group-name /ecs/my-service \
  --filter-pattern "ERROR"

ECS

# List clusters/services
aws ecs list-clusters
aws ecs list-services --cluster my-cluster
aws ecs describe-services --cluster my-cluster --services my-service

# Force new deployment
aws ecs update-service --cluster my-cluster --service my-service --force-new-deployment

# View tasks
aws ecs list-tasks --cluster my-cluster --service my-service
aws ecs describe-tasks --cluster my-cluster --tasks <task-arn>

# Exec into container
aws ecs execute-command --cluster my-cluster --task <task-id> --container my-app --interactive --command "/bin/sh"

便利なフラグ

# Output formats
--output json     # Default
--output table    # Human-readable
--output text     # Tab-separated
--output yaml

# Query (JMESPath)
--query 'Reservations[].Instances[].InstanceId'
--query 'length(Reservations[])'

# Dry run
--dry-run

# Region override
--region us-west-2

# Wait for state
aws ec2 wait instance-running --instance-ids i-123
aws ecs wait services-stable --cluster my-cluster --services my-service

リファレンス

S3 パターンについては: references/s3.md EC2 管理については: references/ec2.md Lambda 関数については: references/lambda.md

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

AWS CLI

Essential AWS CLI commands and patterns.

Configuration

# Initial setup
aws configure
# Enter: Access Key ID, Secret Access Key, Region, Output format

# Named profiles
aws configure --profile staging
aws configure --profile production

# Use profile
aws s3 ls --profile production
export AWS_PROFILE=production  # Set default

# Check identity
aws sts get-caller-identity

# Config files
# ~/.aws/credentials - Access keys
# ~/.aws/config     - Region, output, role settings

Profile with Role Assumption

# ~/.aws/config
[profile dev]
region = us-east-1
output = json

[profile prod]
role_arn = arn:aws:iam::123456789:role/AdminRole
source_profile = dev
region = us-east-1

S3

# List buckets/objects
aws s3 ls
aws s3 ls s3://my-bucket/
aws s3 ls s3://my-bucket/prefix/ --recursive

# Copy files
aws s3 cp file.txt s3://my-bucket/
aws s3 cp s3://my-bucket/file.txt ./
aws s3 cp s3://bucket1/file s3://bucket2/file

# Sync directory
aws s3 sync ./dist s3://my-bucket/
aws s3 sync ./dist s3://my-bucket/ --delete  # Mirror (removes extras)
aws s3 sync s3://my-bucket/ ./local/

# With filters
aws s3 sync . s3://bucket/ --exclude "*.log" --include "*.txt"

# Remove
aws s3 rm s3://my-bucket/file.txt
aws s3 rm s3://my-bucket/ --recursive  # Empty bucket

# Presigned URL (temporary access)
aws s3 presign s3://my-bucket/file.txt --expires-in 3600

# Bucket operations
aws s3 mb s3://new-bucket
aws s3 rb s3://empty-bucket

EC2

# List instances
aws ec2 describe-instances
aws ec2 describe-instances --filters "Name=tag:Name,Values=web-*"
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,PublicIpAddress]' --output table

# Start/stop
aws ec2 start-instances --instance-ids i-1234567890abcdef0
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
aws ec2 reboot-instances --instance-ids i-1234567890abcdef0

# SSH key pairs
aws ec2 create-key-pair --key-name my-key --query 'KeyMaterial' --output text > my-key.pem
chmod 400 my-key.pem

# Security groups
aws ec2 describe-security-groups
aws ec2 authorize-security-group-ingress \
  --group-id sg-123 \
  --protocol tcp \
  --port 443 \
  --cidr 0.0.0.0/0

Lambda

# List functions
aws lambda list-functions

# Invoke function
aws lambda invoke --function-name my-func --payload '{"key":"value"}' output.json

# Deploy (zip)
zip -r function.zip .
aws lambda update-function-code \
  --function-name my-func \
  --zip-file fileb://function.zip

# View logs
aws logs tail /aws/lambda/my-func --follow
aws logs tail /aws/lambda/my-func --since 1h

# Environment variables
aws lambda update-function-configuration \
  --function-name my-func \
  --environment "Variables={KEY=value,DB_HOST=localhost}"

IAM

# Users
aws iam list-users
aws iam create-user --user-name deploy-bot
aws iam create-access-key --user-name deploy-bot

# Policies
aws iam list-attached-user-policies --user-name alice
aws iam attach-user-policy \
  --user-name deploy-bot \
  --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

# Roles
aws iam list-roles
aws iam get-role --role-name my-role

CloudWatch

# View log groups
aws logs describe-log-groups

# Tail logs
aws logs tail /ecs/my-service --follow --since 30m

# Filter logs
aws logs filter-log-events \
  --log-group-name /ecs/my-service \
  --filter-pattern "ERROR"

ECS

# List clusters/services
aws ecs list-clusters
aws ecs list-services --cluster my-cluster
aws ecs describe-services --cluster my-cluster --services my-service

# Force new deployment
aws ecs update-service --cluster my-cluster --service my-service --force-new-deployment

# View tasks
aws ecs list-tasks --cluster my-cluster --service my-service
aws ecs describe-tasks --cluster my-cluster --tasks <task-arn>

# Exec into container
aws ecs execute-command --cluster my-cluster --task <task-id> --container my-app --interactive --command "/bin/sh"

Useful Flags

# Output formats
--output json     # Default
--output table    # Human-readable
--output text     # Tab-separated
--output yaml

# Query (JMESPath)
--query 'Reservations[].Instances[].InstanceId'
--query 'length(Reservations[])'

# Dry run
--dry-run

# Region override
--region us-west-2

# Wait for state
aws ec2 wait instance-running --instance-ids i-123
aws ecs wait services-stable --cluster my-cluster --services my-service

Reference

For S3 patterns: references/s3.md For EC2 management: references/ec2.md For Lambda functions: references/lambda.md