AWS CLIの基本CRUDコマンド

# AWSサービスのCRUDコマンド早見表

## EC2インスタンス

| 操作   | コマンド                                                                                                         | 説明                                       |
|--------|------------------------------------------------------------------------------------------------------------------|--------------------------------------------|
| 作成   | `aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-xxxxxxxx` | 新しいEC2インスタンスを起動                |
| 読み取り（一覧） | `aws ec2 describe-instances`                                                                                   | インスタンスの一覧を取得                   |
| 読み取り（詳細） | `aws ec2 describe-instances --instance-ids i-xxxxxxxx`                                                         | 特定のインスタンスの詳細を取得             |
| 更新   | `aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --instance-type "{\"Value\": \"t2.small\"}"`          | インスタンスの属性を変更                   |
| 削除   | `aws ec2 terminate-instances --instance-ids i-xxxxxxxx`                                                          | インスタンスを終了（削除）                 |

---

## S3バケット

| 操作   | コマンド                                                                                   | 説明                                             |
|--------|--------------------------------------------------------------------------------------------|--------------------------------------------------|
| 作成   | `aws s3 mb s3://my-bucket-name`                                                            | 新しいバケットを作成                             |
| 読み取り（一覧） | `aws s3 ls`                                                                           | バケットの一覧を取得                             |
| 読み取り（詳細） | `aws s3api get-bucket-location --bucket my-bucket-name`                              | 特定のバケットの詳細情報を取得                   |
| 更新   | `aws s3api put-bucket-policy --bucket my-bucket-name --policy file://policy.json`           | バケットポリシーの適用                           |
| 削除   | `aws s3 rb s3://my-bucket-name --force`                                                    | バケットを削除（バケット内のオブジェクトも削除） |

---

## Lambda関数

| 操作   | コマンド                                                                                                      | 説明                    |
|--------|---------------------------------------------------------------------------------------------------------------|-------------------------|
| 作成   | `aws lambda create-function --function-name MyFunction --runtime nodejs14.x --role arn:aws:iam::123456789012:role/lambda-role --handler index.handler --zip-file fileb://function.zip` | 新しいLambda関数を作成 |
| 読み取り（一覧） | `aws lambda list-functions`                                                                                  | 関数の一覧を取得        |
| 読み取り（詳細） | `aws lambda get-function --function-name MyFunction`                                                         | 特定の関数の詳細を取得  |
| 更新   | `aws lambda update-function-code --function-name MyFunction --zip-file fileb://function.zip`                   | 関数コードを更新        |
| 削除   | `aws lambda delete-function --function-name MyFunction`                                                        | 関数を削除              |

---

## RDSインスタンス

| 操作   | コマンド                                                                                                                                       | 説明                                 |
|--------|------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------|
| 作成   | `aws rds create-db-instance --db-instance-identifier mydbinstance --db-instance-class db.t2.micro --engine mysql --allocated-storage 20 --master-username admin --master-user-password password` | 新しいRDSインスタンスを作成          |
| 読み取り（一覧） | `aws rds describe-db-instances`                                                                                                               | RDSインスタンスの一覧を取得          |
| 読み取り（詳細） | `aws rds describe-db-instances --db-instance-identifier mydbinstance`                                                                            | 特定のRDSインスタンスの詳細を取得    |
| 更新   | `aws rds modify-db-instance --db-instance-identifier mydbinstance --allocated-storage 50 --apply-immediately`                                    | インスタンスを変更（例：ストレージサイズの増加） |
| 削除   | `aws rds delete-db-instance --db-instance-identifier mydbinstance --skip-final-snapshot`                                                        | インスタンスを削除                   |

---

## IAMユーザー

| 操作   | コマンド                                                                                                    | 説明                           |
|--------|-------------------------------------------------------------------------------------------------------------|--------------------------------|
| 作成   | `aws iam create-user --user-name newuser`                                                                   | 新しいユーザーを作成           |
| 読み取り（一覧） | `aws iam list-users`                                                                                       | ユーザーの一覧を取得           |
| 読み取り（詳細） | `aws iam get-user --user-name newuser`                                                                    | 特定のユーザーの詳細を取得     |
| 更新   | `aws iam update-user --user-name newuser --new-user-name updateduser`                                        | ユーザー名を更新               |
| 削除   | `aws iam delete-user --user-name updateduser`                                                                | ユーザーを削除                 |

---

## DynamoDBテーブル

| 操作   | コマンド                                                                                                                                             | 説明                         |
|--------|------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| 作成   | `aws dynamodb create-table --table-name my-table --attribute-definitions AttributeName=Id,AttributeType=S --key-schema AttributeName=Id,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5` | 新しいテーブルを作成         |
| 読み取り（一覧） | `aws dynamodb list-tables`                                                                                                                          | テーブルの一覧を取得         |
| 読み取り（詳細） | `aws dynamodb describe-table --table-name my-table`                                                                                                 | 特定のテーブルの詳細を取得   |
| 更新   | `aws dynamodb update-table --table-name my-table --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=10`                                  | テーブルのスループットを更新 |
| 削除   | `aws dynamodb delete-table --table-name my-table`                                                                                                     | テーブルを削除               |

---

## CloudFormationスタック

| 操作   | コマンド                                                                                     | 説明             |
|--------|----------------------------------------------------------------------------------------------|------------------|
| 作成   | `aws cloudformation create-stack --stack-name my-stack --template-body file://template.yaml` | 新しいスタックを作成 |
| 読み取り（一覧） | `aws cloudformation list-stacks`                                                            | スタックの一覧を取得 |
| 読み取り（詳細） | `aws cloudformation describe-stacks --stack-name my-stack`                                   | 特定のスタックの詳細を取得 |
| 更新   | `aws cloudformation update-stack --stack-name my-stack --template-body file://template.yaml` | スタックを更新       |
| 削除   | `aws cloudformation delete-stack --stack-name my-stack`                                      | スタックを削除       |

---

## ECSクラスター

| 操作   | コマンド                                                                                             | 説明                                    |
|--------|------------------------------------------------------------------------------------------------------|-----------------------------------------|
| 作成   | `aws ecs create-cluster --cluster-name my-cluster`                                                   | 新しいクラスターを作成                  |
| 読み取り（一覧） | `aws ecs list-clusters`                                                                              | クラスターの一覧を取得                  |
| 読み取り（詳細） | `aws ecs describe-clusters --clusters my-cluster`                                                   | 特定のクラスターの詳細を取得            |
| 更新   | `aws ecs update-cluster-settings --cluster my-cluster --settings name=containerInsights,value=enabled` | クラスター設定を更新（例：コンテナインサイトの有効化） |
| 削除   | `aws ecs delete-cluster --cluster my-cluster`                                                        | クラスターを削除                        |

---

## EKSクラスター

| 操作   | コマンド                                                                                                                                                 | 説明                        |
|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| 作成   | `aws eks create-cluster --name my-cluster --role-arn arn:aws:iam::123456789012:role/EKSRole --resources-vpc-config subnetIds=subnet-xxxxxxxx,securityGroupIds=sg-xxxxxxxx` | 新しいクラスターを作成      |
| 読み取り（一覧） | `aws eks list-clusters`                                                                                                                                  | クラスターの一覧を取得      |
| 読み取り（詳細） | `aws eks describe-cluster --name my-cluster`                                                                                                            | 特定のクラスターの詳細を取得 |
| 更新   | `aws eks update-cluster-config --name my-cluster --resources-vpc-config endpointPublicAccess=true`                                                         | クラスターの設定を更新      |
| 削除   | `aws eks delete-cluster --name my-cluster`                                                                                                                | クラスターを削除            |

---

## SNSトピック

| 操作   | コマンド                                                                                                                           | 説明                       |
|--------|------------------------------------------------------------------------------------------------------------------------------------|----------------------------|
| 作成   | `aws sns create-topic --name my-topic`                                                                                            | 新しいトピックを作成       |
| 読み取り（一覧） | `aws sns list-topics`                                                                                                             | トピックの一覧を取得       |
| 読み取り（詳細） | `aws sns get-topic-attributes --topic-arn arn:aws:sns:region:account-id:my-topic`                                                  | 特定のトピックの詳細を取得 |
| 更新   | `aws sns set-topic-attributes --topic-arn arn:aws:sns:region:account-id:my-topic --attribute-name DisplayName --attribute-value "My SNS Topic"` | トピック属性を設定         |
| 削除   | `aws sns delete-topic --topic-arn arn:aws:sns:region:account-id:my-topic`                                                          | トピックを削除             |

---

## SQSキュー

| 操作   | コマンド                                                                                                                                             | 説明                         |
|--------|------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| 作成   | `aws sqs create-queue --queue-name my-queue`                                                                                                         | 新しいキューを作成           |
| 読み取り（一覧） | `aws sqs list-queues`                                                                                                                                | キューの一覧を取得           |
| 読み取り（詳細） | `aws sqs get-queue-attributes --queue-url https://sqs.region.amazonaws.com/account-id/my-queue --attribute-names All`                                   | 特定のキューの詳細を取得     |
| 更新   | `aws sqs set-queue-attributes --queue-url https://sqs.region.amazonaws.com/account-id/my-queue --attributes VisibilityTimeout=60`                      | キュー属性を変更             |
| 削除   | `aws sqs delete-queue --queue-url https://sqs.region.amazonaws.com/account-id/my-queue`                                                               | キューを削除                 |

---

## CloudWatchアラーム

| 操作   | コマンド                                                                                                                                                                              | 説明                             |
|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|
| 作成   | `aws cloudwatch put-metric-alarm --alarm-name my-alarm --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 80 --comparison-operator GreaterThanThreshold --dimensions Name=InstanceId,Value=i-xxxxxxxx --evaluation-periods 1 --alarm-actions arn:aws:sns:region:account-id:my-topic` | 新しいアラームを作成             |
| 読み取り（一覧） | `aws cloudwatch describe-alarms`                                                                                                                                                      | アラームの一覧を取得             |
| 読み取り（詳細） | `aws cloudwatch describe-alarms --alarm-names my-alarm`                                                                                                                               | 特定のアラームの詳細を取得       |
| 更新   | `aws cloudwatch put-metric-alarm --alarm-name my-alarm --threshold 85`                                                                                                                | アラームを更新（例：しきい値の変更） |
| 削除   | `aws cloudwatch delete-alarms --alarm-names my-alarm`                                                                                                                                  | アラームを削除                   |

---

## VPC

| 操作   | コマンド                                                                                         | 説明                        |
|--------|--------------------------------------------------------------------------------------------------|-----------------------------|
| 作成   | `aws ec2 create-vpc --cidr-block 10.0.0.0/16`                                                    | 新しいVPCを作成             |
| 読み取り（一覧） | `aws ec2 describe-vpcs`                                                                          | VPCの一覧を取得             |
| 読み取り（詳細） | `aws ec2 describe-vpcs --vpc-ids vpc-xxxxxxxx`                                                 | 特定のVPCの詳細を取得       |
| 更新   | `aws ec2 modify-vpc-attribute --vpc-id vpc-xxxxxxxx --enable-dns-support "{\"Value\":true}"`      | VPCの属性を変更             |
| 削除   | `aws ec2 delete-vpc --vpc-id vpc-xxxxxxxx`                                                        | VPCを削除                   |

---

## インターネットゲートウェイ（IGW）

| 操作   | コマンド                                                                                   | 説明                             |
|--------|--------------------------------------------------------------------------------------------|----------------------------------|
| 作成   | `aws ec2 create-internet-gateway`                                                          | 新しいIGWを作成                  |
| 読み取り（一覧） | `aws ec2 describe-internet-gateways`                                                       | IGWの一覧を取得                  |
| 読み取り（詳細） | `aws ec2 describe-internet-gateways --internet-gateway-ids igw-xxxxxxxx`                   | 特定のIGWの詳細を取得            |
| 更新   | `aws ec2 attach-internet-gateway --internet-gateway-id igw-xxxxxxxx --vpc-id vpc-xxxxxxxx` | IGWをVPCにアタッチ               |
| 削除   | `aws ec2 delete-internet-gateway --internet-gateway-id igw-xxxxxxxx`                        | IGWを削除                        |

---

## サブネット

| 操作   | コマンド                                                                                         | 説明                      |
|--------|--------------------------------------------------------------------------------------------------|---------------------------|
| 作成   | `aws ec2 create-subnet --vpc-id vpc-xxxxxxxx --cidr-block 10.0.1.0/24`                           | 新しいサブネットを作成    |
| 読み取り（一覧） | `aws ec2 describe-subnets`                                                                       | サブネットの一覧を取得    |
| 読み取り（詳細） | `aws ec2 describe-subnets --subnet-ids subnet-xxxxxxxx`                                         | 特定のサブネットの詳細を取得 |
| 更新   | `aws ec2 modify-subnet-attribute --subnet-id subnet-xxxxxxxx --map-public-ip-on-launch`           | サブネット属性を変更      |
| 削除   | `aws ec2 delete-subnet --subnet-id subnet-xxxxxxxx`                                               | サブネットを削除          |

---

## セキュリティグループ

| 操作   | コマンド                                                                                                     | 説明                          |
|--------|--------------------------------------------------------------------------------------------------------------|-------------------------------|
| 作成   | `aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-xxxxxxxx`   | 新しいセキュリティグループを作成 |
| 読み取り（一覧） | `aws ec2 describe-security-groups`                                                                           | セキュリティグループの一覧を取得 |
| 読み取り（詳細） | `aws ec2 describe-security-groups --group-ids sg-xxxxxxxx`                                                  | 特定のセキュリティグループの詳細を取得 |
| 更新   | `aws ec2 authorize-security-group-ingress --group-id sg-xxxxxxxx --protocol tcp --port 22 --cidr 0.0.0.0/0` | インバウンドルールを追加        |
| 削除   | `aws ec2 delete-security-group --group-id sg-xxxxxxxx`                                                       | セキュリティグループを削除      |

---

## ルートテーブル

| 操作   | コマンド                                                                                     | 説明                     |
|--------|----------------------------------------------------------------------------------------------|--------------------------|
| 作成   | `aws ec2 create-route-table --vpc-id vpc-xxxxxxxx`                                           | 新しいルートテーブルを作成 |
| 読み取り（一覧） | `aws ec2 describe-route-tables`                                                              | ルートテーブルの一覧を取得 |
| 読み取り（詳細） | `aws ec2 describe-route-tables --route-table-ids rtb-xxxxxxxx`                                | 特定のルートテーブルの詳細を取得 |
| 更新   | `aws ec2 create-route --route-table-id rtb-xxxxxxxx --destination-cidr-block 0.0.0.0/0 --gateway-id igw-xxxxxxxx` | ルートを追加 |
| 削除   | `aws ec2 delete-route-table --route-table-id rtb-xxxxxxxx`                                   | ルートテーブルを削除     |

---

## Elastic Load Balancer（ELB）

| 操作   | コマンド                                                                                                             | 説明                      |
|--------|----------------------------------------------------------------------------------------------------------------------|---------------------------|
| 作成   | `aws elb create-load-balancer --load-balancer-name my-elb --listeners "Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80" --subnets subnet-xxxxxxxx` | 新しいELBを作成          |
| 読み取り（一覧） | `aws elb describe-load-balancers`                                                                                   | ELBの一覧を取得           |
| 読み取り（詳細） | `aws elb describe-load-balancers --load-balancer-names my-elb`                                                      | 特定のELBの詳細を取得     |
| 更新   | `aws elb modify-load-balancer-attributes --load-balancer-name my-elb --load-balancer-attributes "{\"CrossZoneLoadBalancing\":{\"Enabled\":true}}"` | ELB属性を変更 |
| 削除   | `aws elb delete-load-balancer --load-balancer-name my-elb`                                                           | ELBを削除                 |

---

## Auto Scalingグループ

| 操作   | コマンド                                                                                                                     | 説明                           |
|--------|------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
| 作成   | `aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-lc --min-size 1 --max-size 3 --vpc-zone-identifier subnet-xxxxxxxx` | 新しいASGを作成 |
| 読み取り（一覧） | `aws autoscaling describe-auto-scaling-groups`                                                                               | ASGの一覧を取得                |
| 読み取り（詳細） | `aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg`                                             | 特定のASGの詳細を取得          |
| 更新   | `aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --max-size 5`                                     | ASGの設定を更新                |
| 削除   | `aws autoscaling delete-auto-scaling-group --auto-scaling-group-name my-asg --force-delete`                                   | ASGを削除                      |

---

## Elastic Beanstalk

| 操作   | コマンド                                                                                                         | 説明                          |
|--------|------------------------------------------------------------------------------------------------------------------|-------------------------------|
| 作成   | `aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --solution-stack-name "64bit Amazon Linux 2 v5.4.4 running Node.js 14"` | 新しい環境を作成 |
| 読み取り（一覧） | `aws elasticbeanstalk describe-environments`                                                                     | 環境の一覧を取得              |
| 読み取り（詳細） | `aws elasticbeanstalk describe-environments --environment-names my-env`                                         | 特定の環境の詳細を取得        |
| 更新   | `aws elasticbeanstalk update-environment --environment-name my-env --version-label new-version`                   | 環境を更新                    |
| 削除   | `aws elasticbeanstalk terminate-environment --environment-name my-env`                                            | 環境を削除                    |

---

## AWS Config

| 操作   | コマンド                                                                                                        | 説明                      |
|--------|-----------------------------------------------------------------------------------------------------------------|---------------------------|
| 作成   | `aws configservice put-configuration-recorder --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/ConfigRole` | 設定レコーダーを作成 |
| 読み取り（一覧） | `aws configservice describe-configuration-recorders`                                                           | 設定レコーダーの一覧を取得 |
| 読み取り（詳細） | `aws configservice describe-configuration-recorders --configuration-recorder-names default`                     | 特定の設定レコーダーの詳細を取得 |
| 更新   | `aws configservice put-configuration-recorder --configuration-recorder name=default,recordingGroup=allSupported=true` | 設定レコーダーを更新 |
| 削除   | `aws configservice delete-configuration-recorder --configuration-recorder-name default`                          | 設定レコーダーを削除       |

---

## AWS WAF

| 操作   | コマンド                                                                                         | 説明                  |
|--------|--------------------------------------------------------------------------------------------------|-----------------------|
| 作成   | `aws waf create-web-acl --name my-web-acl --metric-name MyWebACL --default-action Type=ALLOW`    | 新しいWeb ACLを作成   |
| 読み取り（一覧） | `aws waf list-web-acls`                                                                          | Web ACLの一覧を取得   |
| 読み取り（詳細） | `aws waf get-web-acl --web-acl-id xxxxxxxxx`                                                    | 特定のWeb ACLの詳細を取得 |
| 更新   | `aws waf update-web-acl --web-acl-id xxxxxxxxx --change-token xxxxxxxx --updates file://updates.json` | Web ACLを更新 |
| 削除   | `aws waf delete-web-acl --web-acl-id xxxxxxxxx --change-token xxxxxxxx`                          | Web ACLを削除         |

---

## AWS Shield

| 操作   | コマンド                                                        | 説明                       |
|--------|-----------------------------------------------------------------|----------------------------|
| 作成   | `aws shield create-protection --name MyProtection --resource-arn arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/my-elb/xxxxxxxxxxx` | 新しい保護を作成 |
| 読み取り（一覧） | `aws shield list-protections`                                    | 保護の一覧を取得            |
| 読み取り（詳細） | `aws shield describe-protection --protection-id xxxxxxxx`        | 特定の保護の詳細を取得      |
| 更新   | N/A                                                             | AWS Shieldには更新操作はありません |
| 削除   | `aws shield delete-protection --protection-id xxxxxxxx`          | 保護を削除                  |

---

## ElasticCache

| 操作   | コマンド                                                                                         | 説明                    |
|--------|--------------------------------------------------------------------------------------------------|-------------------------|
| 作成   | `aws elasticache create-cache-cluster --cache-cluster-id my-cache --engine redis --cache-node-type cache.t2.micro --num-cache-nodes 1` | 新しいキャッシュクラスターを作成 |
| 読み取り（一覧） | `aws elasticache describe-cache-clusters`                                                        | キャッシュクラスターの一覧を取得 |
| 読み取り（詳細） | `aws elasticache describe-cache-clusters --cache-cluster-id my-cache`                            | 特定のキャッシュクラスターの詳細を取得 |
| 更新   | `aws elasticache modify-cache-cluster --cache-cluster-id my-cache --num-cache-nodes 2`           | キャッシュクラスターを更新 |
| 削除   | `aws elasticache delete-cache-cluster --cache-cluster-id my-cache`                               | キャッシュクラスターを削除 |

---

## Kinesisストリーム

| 操作   | コマンド                                                                                | 説明                       |
|--------|-----------------------------------------------------------------------------------------|----------------------------|
| 作成   | `aws kinesis create-stream --stream-name my-stream --shard-count 1`                     | 新しいKinesisストリームを作成 |
| 読み取り（一覧） | `aws kinesis list-streams`                                                             | ストリームの一覧を取得       |
| 読み取り（詳細） | `aws kinesis describe-stream --stream-name my-stream`                                 | 特定のストリームの詳細を取得 |
| 更新   | `aws kinesis update-shard-count --stream-name my-stream --target-shard-count 2 --scaling-type UNIFORM_SCALING` | ストリームのシャード数を更新 |
| 削除   | `aws kinesis delete-stream --stream-name my-stream`                                     | ストリームを削除            |

---

## Amazon MQ

| 操作   | コマンド                                                                                           | 説明                     |
|--------|----------------------------------------------------------------------------------------------------|--------------------------|
| 作成   | `aws mq create-broker --broker-name my-broker --engine-type ActiveMQ --engine-version 5.15.0 --host-instance-type mq.t2.micro --users Username=admin,Password=YourPassword123!` | 新しいブローカーを作成 |
| 読み取り（一覧） | `aws mq list-brokers`                                                                              | ブローカーの一覧を取得    |
| 読み取り（詳細） | `aws mq describe-broker --broker-id b-xxxxxxxx`                                                    | 特定のブローカーの詳細を取得 |
| 更新   | `aws mq update-broker --broker-id b-xxxxxxxx --configuration Changes=ApplyImmediately=true`        | ブローカーを更新         |
| 削除   | `aws mq delete-broker --broker-id b-xxxxxxxx`                                                      | ブローカーを削除         |

---

## AWS Glue

| 操作   | コマンド                                                                 | 説明                    |
|--------|--------------------------------------------------------------------------|-------------------------|
| 作成   | `aws glue create-database --database-input '{"Name":"my_database"}'`     | 新しいデータベースを作成 |
| 読み取り（一覧） | `aws glue get-databases`                                                 | データベースの一覧を取得 |
| 読み取り（詳細） | `aws glue get-database --name my_database`                                | 特定のデータベースの詳細を取得 |
| 更新   | `aws glue update-database --name my_database --database-input '{"Description":"Updated description"}'` | データベースを更新 |
| 削除   | `aws glue delete-database --name my_database`                            | データベースを削除      |

---

## Amazon Redshift

| 操作   | コマンド                                                                                                   | 説明                    |
|--------|------------------------------------------------------------------------------------------------------------|-------------------------|
| 作成   | `aws redshift create-cluster --cluster-identifier my-cluster --node-type dc2.large --master-username admin --master-user-password YourPassword123! --number-of-nodes 2` | 新しいクラスターを作成 |
| 読み取り（一覧） | `aws redshift describe-clusters`                                                                           | クラスターの一覧を取得   |
| 読み取り（詳細） | `aws redshift describe-clusters --cluster-identifier my-cluster`                                           | 特定のクラスターの詳細を取得 |
| 更新   | `aws redshift modify-cluster --cluster-identifier my-cluster --number-of-nodes 3`                          | クラスターを更新        |
| 削除   | `aws redshift delete-cluster --cluster-identifier my-cluster --skip-final-cluster-snapshot`                | クラスターを削除        |

---

## Amazon EMR

| 操作   | コマンド                                                                                       | 説明                    |
|--------|------------------------------------------------------------------------------------------------|-------------------------|
| 作成   | `aws emr create-cluster --name "MyCluster" --release-label emr-5.32.0 --applications Name=Hadoop Name=Spark --ec2-attributes KeyName=MyKeyPair --instance-type m5.xlarge --instance-count 3` | 新しいEMRクラスターを作成 |
| 読み取り（一覧） | `aws emr list-clusters`                                                                        | クラスターの一覧を取得   |
| 読み取り（詳細） | `aws emr describe-cluster --cluster-id j-xxxxxxxx`                                             | 特定のクラスターの詳細を取得 |
| 更新   | `aws emr modify-instance-groups --cluster-id j-xxxxxxxx --instance-groups InstanceGroupId=ig-xxxxxxxx,InstanceCount=4` | クラスターを更新 |
| 削除   | `aws emr terminate-clusters --cluster-ids j-xxxxxxxx`                                          | クラスターを削除        |

---

## AWS Batch

| 操作   | コマンド                                                                                      | 説明                      |
|--------|-----------------------------------------------------------------------------------------------|---------------------------|
| 作成   | `aws batch create-compute-environment --compute-environment-name my-env --type MANAGED --service-role AWSBatchServiceRole --compute-resources '{"type":"EC2","minvCpus":0,"maxvCpus":16,"instanceTypes":["m4.large"]}'` | 新しい計算環境を作成 |
| 読み取り（一覧） | `aws batch describe-compute-environments`                                                     | 計算環境の一覧を取得       |
| 読み取り（詳細） | `aws batch describe-compute-environments --compute-environments my-env`                        | 特定の計算環境の詳細を取得 |
| 更新   | `aws batch update-compute-environment --compute-environment my-env --state ENABLED`           | 計算環境を更新            |
| 削除   | `aws batch delete-compute-environment --compute-environment my-env`                           | 計算環境を削除            |

---

## AWS CodeCommit

| 操作   | コマンド                                                                  | 説明                  |
|--------|---------------------------------------------------------------------------|-----------------------|
| 作成   | `aws codecommit create-repository --repository-name my-repo`              | 新しいリポジトリを作成 |
| 読み取り（一覧） | `aws codecommit list-repositories`                                         | リポジトリの一覧を取得 |
| 読み取り（詳細） | `aws codecommit get-repository --repository-name my-repo`                   | 特定のリポジトリの詳細を取得 |
| 更新   | `aws codecommit update-repository-description --repository-name my-repo --repository-description "New description"` | リポジトリを更新 |
| 削除   | `aws codecommit delete-repository --repository-name my-repo`              | リポジトリを削除      |

---

## AWS CodePipeline

| 操作   | コマンド                                                                 | 説明                   |
|--------|--------------------------------------------------------------------------|------------------------|
| 作成   | `aws codepipeline create-pipeline --cli-input-json file://pipeline.json` | 新しいパイプラインを作成 |
| 読み取り（一覧） | `aws codepipeline list-pipelines`                                         | パイプラインの一覧を取得 |
| 読み取り（詳細） | `aws codepipeline get-pipeline --name my-pipeline`                         | 特定のパイプラインの詳細を取得 |
| 更新   | `aws codepipeline update-pipeline --cli-input-json file://pipeline.json` | パイプラインを更新     |
| 削除   | `aws codepipeline delete-pipeline --name my-pipeline`                    | パイプラインを削除     |

---

## AWS CodeBuild
:::note alert
サービス終了
:::

| 操作   | コマンド                                                                 | 説明                       |
|--------|--------------------------------------------------------------------------|----------------------------|
| 作成   | `aws codebuild create-project --name my-project --source type=CODECOMMIT,location=https://git-codecommit.region.amazonaws.com/v1/repos/my-repo --artifacts type=NO_ARTIFACTS --environment type=LINUX_CONTAINER,image=aws/codebuild/standard:4.0,computeType=BUILD_GENERAL1_SMALL` | 新しいビルドプロジェクトを作成 |
| 読み取り（一覧） | `aws codebuild list-projects`                                             | プロジェクトの一覧を取得    |
| 読み取り（詳細） | `aws codebuild batch-get-projects --names my-project`                      | 特定のプロジェクトの詳細を取得 |
| 更新   | `aws codebuild update-project --name my-project --description "Updated description"` | プロジェクトを更新 |
| 削除   | `aws codebuild delete-project --name my-project`                         | プロジェクトを削除         |

---

## AWS SSMパラメータストア

| 操作   | コマンド                                                                                      | 説明                       |
|--------|-----------------------------------------------------------------------------------------------|----------------------------|
| 作成   | `aws ssm put-parameter --name "/my-app/db-password" --value "YourPassword123!" --type SecureString` | 新しいパラメータを作成 |
| 読み取り（一覧） | `aws ssm describe-parameters`                                                             | パラメータの一覧を取得       |
| 読み取り（詳細） | `aws ssm get-parameter --name "/my-app/db-password" --with-decryption`                   | 特定のパラメータの詳細を取得 |
| 更新   | `aws ssm put-parameter --name "/my-app/db-password" --value "NewPassword456!" --type SecureString --overwrite` | パラメータを更新 |
| 削除   | `aws ssm delete-parameter --name "/my-app/db-password"`                                        | パラメータを削除           |

---

## AWS CloudTrail

| 操作   | コマンド                                                                                                 | 説明                    |
|--------|----------------------------------------------------------------------------------------------------------|-------------------------|
| 作成   | `aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket`                                 | 新しいトレイルを作成 |
| 読み取り（一覧） | `aws cloudtrail describe-trails`                                                                         | トレイルの一覧を取得   |
| 読み取り（詳細） | `aws cloudtrail get-trail-status --name my-trail`                                                      | 特定のトレイルの詳細を取得 |
| 更新   | `aws cloudtrail update-trail --name my-trail --is-multi-region-trail`                                    | トレイルを更新        |
| 削除   | `aws cloudtrail delete-trail --name my-trail`                                                            | トレイルを削除        |

---

## AWS EFS（Elastic File System）

| 操作   | コマンド                                                              | 説明                    |
|--------|-----------------------------------------------------------------------|-------------------------|
| 作成   | `aws efs create-file-system`                                          | 新しいファイルシステムを作成 |
| 読み取り（一覧） | `aws efs describe-file-systems`                                        | ファイルシステムの一覧を取得 |
| 読み取り（詳細） | `aws efs describe-file-systems --file-system-id fs-xxxxxxxx`            | 特定のファイルシステムの詳細を取得 |
| 更新   | `aws efs update-file-system --file-system-id fs-xxxxxxxx --throughput-mode provisioned --provisioned-throughput-in-mibps 1024` | ファイルシステムを更新 |
| 削除   | `aws efs delete-file-system --file-system-id fs-xxxxxxxx`             | ファイルシステムを削除   |

## Amazon CloudFront

| 操作   | コマンド                                                                                                  | 説明                       |
|--------|-----------------------------------------------------------------------------------------------------------|----------------------------|
| 作成   | `aws cloudfront create-distribution --distribution-config file://distribution-config.json`                | 新しいディストリビューションを作成 |
| 読み取り（一覧） | `aws cloudfront list-distributions`                                                                   | ディストリビューションの一覧を取得 |
| 読み取り（詳細） | `aws cloudfront get-distribution --id EXXXXXXXXXXXX`                                                  | 特定のディストリビューションの詳細を取得 |
| 更新   | `aws cloudfront update-distribution --id EXXXXXXXXXXXX --if-match E2QWRUHAPOMQZL --distribution-config file://distribution-config.json` | ディストリビューションを更新 |
| 削除   | `aws cloudfront delete-distribution --id EXXXXXXXXXXXX --if-match E2QWRUHAPOMQZL`                         | ディストリビューションを削除 |

---

## Amazon CloudWatch

| 操作   | コマンド                                                                                   | 説明                          |
|--------|--------------------------------------------------------------------------------------------|-------------------------------|
| 作成   | `aws cloudwatch put-metric-data --metric-name PageViewCount --namespace MyApp --value 1`   | 新しいメトリクスデータを送信   |
| 読み取り（一覧） | `aws cloudwatch list-metrics`                                                           | メトリクスの一覧を取得         |
| 読み取り（詳細） | `aws cloudwatch get-metric-statistics --metric-name CPUUtilization --start-time 2021-01-01T00:00:00Z --end-time 2021-01-02T00:00:00Z --period 3600 --namespace AWS/EC2 --statistics Average` | メトリクスの詳細を取得 |
| 更新   | N/A                                                                                    | メトリクスデータの更新は不可    |
| 削除   | N/A                                                                                    | メトリクスデータの削除は不可    |

---

## AWS WAF

| 操作   | コマンド                                                                                         | 説明                  |
|--------|--------------------------------------------------------------------------------------------------|-----------------------|
| 作成   | `aws wafv2 create-web-acl --name my-web-acl --scope REGIONAL --default-action Allow={} --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=my-web-acl` | 新しいWeb ACLを作成   |
| 読み取り（一覧） | `aws wafv2 list-web-acls --scope REGIONAL`                                                     | Web ACLの一覧を取得   |
| 読み取り（詳細） | `aws wafv2 get-web-acl --name my-web-acl --scope REGIONAL --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` | 特定のWeb ACLの詳細を取得 |
| 更新   | `aws wafv2 update-web-acl --name my-web-acl --scope REGIONAL --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 --default-action Block={} --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=my-web-acl` | Web ACLを更新 |
| 削除   | `aws wafv2 delete-web-acl --name my-web-acl --scope REGIONAL --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`  | Web ACLを削除         |

---

## AWS Shield

| 操作   | コマンド                                                        | 説明                       |
|--------|-----------------------------------------------------------------|----------------------------|
| 作成   | `aws shield create-protection --name MyProtection --resource-arn arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/my-elb/xxxxxxxxxxx` | 新しい保護を作成 |
| 読み取り（一覧） | `aws shield list-protections`                                    | 保護の一覧を取得            |
| 読み取り（詳細） | `aws shield describe-protection --protection-id xxxxxxxx`        | 特定の保護の詳細を取得      |
| 更新   | N/A                                                             | AWS Shieldには更新操作はありません |
| 削除   | `aws shield delete-protection --protection-id xxxxxxxx`          | 保護を削除                  |

---

## AWS Certificate Manager (ACM)

| 操作   | コマンド                                                                                         | 説明                       |
|--------|--------------------------------------------------------------------------------------------------|----------------------------|
| 作成   | `aws acm request-certificate --domain-name example.com`                                          | 新しいSSL証明書をリクエスト |
| 読み取り（一覧） | `aws acm list-certificates`                                                                   | 証明書の一覧を取得          |
| 読み取り（詳細） | `aws acm describe-certificate --certificate-arn arn:aws:acm:region:account-id:certificate/xxxxxxxx` | 特定の証明書の詳細を取得    |
| 更新   | N/A                                                                                              | 証明書の更新は不可          |
| 削除   | `aws acm delete-certificate --certificate-arn arn:aws:acm:region:account-id:certificate/xxxxxxxx` | 証明書を削除                |

---

## Amazon Cognito

| 操作   | コマンド                                                                                      | 説明                          |
|--------|-----------------------------------------------------------------------------------------------|-------------------------------|
| 作成   | `aws cognito-idp create-user-pool --pool-name my-user-pool`                                   | 新しいユーザープールを作成     |
| 読み取り（一覧） | `aws cognito-idp list-user-pools --max-results 10`                                          | ユーザープールの一覧を取得     |
| 読み取り（詳細） | `aws cognito-idp describe-user-pool --user-pool-id us-east-1_xxxxxxxx`                      | 特定のユーザープールの詳細を取得 |
| 更新   | `aws cognito-idp update-user-pool --user-pool-id us-east-1_xxxxxxxx --policies file://policy.json` | ユーザープールを更新           |
| 削除   | `aws cognito-idp delete-user-pool --user-pool-id us-east-1_xxxxxxxx`                           | ユーザープールを削除           |

---

## Auto Scaling

| 操作   | コマンド                                                                                                                     | 説明                           |
|--------|------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
| 作成   | `aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-lc --min-size 1 --max-size 3 --vpc-zone-identifier subnet-xxxxxxxx` | 新しいAuto Scalingグループを作成 |
| 読み取り（一覧） | `aws autoscaling describe-auto-scaling-groups`                                                                               | グループの一覧を取得            |
| 読み取り（詳細） | `aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg`                                             | 特定のグループの詳細を取得      |
| 更新   | `aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --max-size 5`                                     | グループの設定を更新            |
| 削除   | `aws autoscaling delete-auto-scaling-group --auto-scaling-group-name my-asg --force-delete`                                   | グループを削除                  |

---

## Amazon Athena

| 操作   | コマンド                                                                                                              | 説明                        |
|--------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| 作成   | `aws athena start-query-execution --query-string "CREATE DATABASE my_database;" --result-configuration OutputLocation=s3://my-bucket/query-results/` | クエリを実行しデータベースを作成 |
| 読み取り（一覧） | `aws athena list-databases --catalog-name AwsDataCatalog`                                                          | データベースの一覧を取得       |
| 読み取り（詳細） | `aws athena get-database --catalog-name AwsDataCatalog --database-name my_database`                             | 特定のデータベースの詳細を取得 |
| 更新   | N/A                                                                                                                   | AthenaはDDLクエリで更新       |
| 削除   | `aws athena start-query-execution --query-string "DROP DATABASE my_database;" --result-configuration OutputLocation=s3://my-bucket/query-results/` | データベースを削除 |

---



## Amazon Macie

| 操作   | コマンド                                                                              | 説明                          |
|--------|---------------------------------------------------------------------------------------|-------------------------------|
| 作成   | `aws macie2 enable-macie`                                                             | Macieを有効化                  |
| 読み取り（一覧） | `aws macie2 list-findings`                                                         | 発見事項の一覧を取得           |
| 読み取り（詳細） | `aws macie2 get-finding --id xxxxxxxxxxxxxxxx`                                      | 特定の発見事項の詳細を取得     |
| 更新   | `aws macie2 update-findings-filter --id xxxxxxxxxxxxxxxx --action ARCHIVE`             | 発見事項フィルターを更新       |
| 削除   | `aws macie2 disable-macie`                                                            | Macieを無効化                  |

---

## Amazon QuickSight

| 操作   | コマンド                                                                                                         | 説明                           |
|--------|------------------------------------------------------------------------------------------------------------------|--------------------------------|
| 作成   | `aws quicksight create-dashboard --aws-account-id 123456789012 --dashboard-id my-dashboard --name "My Dashboard" --source-entity file://source-entity.json` | 新しいダッシュボードを作成      |
| 読み取り（一覧） | `aws quicksight list-dashboards --aws-account-id 123456789012`                                                | ダッシュボードの一覧を取得      |
| 読み取り（詳細） | `aws quicksight describe-dashboard --aws-account-id 123456789012 --dashboard-id my-dashboard`                   | 特定のダッシュボードの詳細を取得 |
| 更新   | `aws quicksight update-dashboard --aws-account-id 123456789012 --dashboard-id my-dashboard --name "Updated Dashboard" --source-entity file://source-entity.json` | ダッシュボードを更新           |
| 削除   | `aws quicksight delete-dashboard --aws-account-id 123456789012 --dashboard-id my-dashboard`                      | ダッシュボードを削除           |

---

## AWS X-Ray

| 操作   | コマンド                                                                                         | 説明                       |
|--------|--------------------------------------------------------------------------------------------------|----------------------------|
| 作成   | N/A                                                                                              | エージェントまたはSDKを使用 |
| 読み取り（一覧） | `aws xray get-service-graph --start-time $(date -u -d '-1 hour' +%s) --end-time $(date -u +%s)` | サービスグラフを取得 |
| 読み取り（詳細） | `aws xray batch-get-traces --trace-ids 1-5e2f1b0c-xxxxxxxxxxxxxxxxxxxxxxxx`             | 特定のトレースの詳細を取得 |
| 更新   | N/A                                                                                              | X-Rayでは更新操作はありません |
| 削除   | N/A                                                                                              | データの削除は自動で行われる |