aws について
Golden Armada AI Agent Fleet Platform向けのAWSリファレンススキルで、インフラ、ストレージ、コンピューティング、サーバーレス関数、データベース、セキュリティを扱います。一般的な操作のAWS CLI、Boto3、Terraformの例を示します。
主な機能
- 01AWSインフラの構築と確認
- 02EKSクラスターとEC2インスタンスの管理
- 03S3ストレージの操作
- 04Lambda関数の実行と更新
- 05RDSとIAMリソースの管理
- 06セキュリティと運用の指針
活用シーン
- 01クラウドインフラの作成や確認
- 02S3とのファイル転送
- 03Lambda関数の実行とログ確認
- 04IAMロールとリソースポリシーの設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thelobbi/ claude --skill awsインストール後、Claude Code で/awsを入力して読み込まれたか確認します。
詳細
AWS スキル
Golden Armada AI Agent Fleet Platform 向けに、AWS クラウドの包括的な機能を提供します。
このスキルを使用するタイミング
次の作業を行う場合に、このスキルを有効にしてください。
- AWS インフラストラクチャのプロビジョニング
- EKS クラスターの管理
- S3 ストレージの操作
- Lambda 関数
- IAM とセキュリティ
AWS CLI クイックリファレンス
設定
```bash
認証情報を設定
aws configure
ID を確認
aws sts get-caller-identity
プロファイルを設定
export AWS_PROFILE=production aws s3 ls --profile production ```
EC2
```bash
インスタンスを一覧表示
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==Name].Value]'
起動/停止
aws ec2 start-instances --instance-ids i-1234567890 aws ec2 stop-instances --instance-ids i-1234567890
インスタンスを作成
aws ec2 run-instances
--image-id ami-12345678
--instance-type t3.medium
--key-name my-key
--security-group-ids sg-12345678
--subnet-id subnet-12345678
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=my-instance}]'
```
EKS
```bash
クラスターを一覧表示
aws eks list-clusters
kubeconfig を更新
aws eks update-kubeconfig --name golden-armada-cluster --region us-west-2
クラスターの詳細を表示
aws eks describe-cluster --name golden-armada-cluster
クラスターを作成(eksctl を使用)
eksctl create cluster
--name golden-armada-cluster
--region us-west-2
--nodegroup-name workers
--node-type t3.medium
--nodes 3
--managed
```
S3
```bash
バケットを一覧表示
aws s3 ls
オブジェクトを一覧表示
aws s3 ls s3://bucket-name/
ファイルをコピー
aws s3 cp file.txt s3://bucket-name/ aws s3 cp s3://bucket-name/file.txt . aws s3 sync ./local-dir s3://bucket-name/prefix/
署名付き URL
aws s3 presign s3://bucket-name/file.txt --expires-in 3600 ```
Lambda
```bash
関数を一覧表示
aws lambda list-functions
関数を呼び出し
aws lambda invoke
--function-name my-function
--payload '{"key": "value"}'
response.json
関数コードを更新
aws lambda update-function-code
--function-name my-function
--zip-file fileb://function.zip
ログを表示
aws logs filter-log-events
--log-group-name /aws/lambda/my-function
--start-time $(date -d '1 hour ago' +%s000)
```
RDS
```bash
インスタンスを一覧表示
aws rds describe-db-instances
スナップショットを作成
aws rds create-db-snapshot
--db-instance-identifier golden-armada-db
--db-snapshot-identifier snapshot-$(date +%Y%m%d)
インスタンスを変更
aws rds modify-db-instance
--db-instance-identifier golden-armada-db
--db-instance-class db.t3.large
--apply-immediately
```
IAM
```bash
ユーザーを一覧表示
aws iam list-users
ロールを作成
aws iam create-role
--role-name agent-role
--assume-role-policy-document file://trust-policy.json
ポリシーをアタッチ
aws iam attach-role-policy
--role-name agent-role
--policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
```
Boto3 Python SDK
```python import boto3
S3 操作
s3 = boto3.client('s3')
ファイルをアップロード
s3.upload_file('local.txt', 'bucket-name', 'remote.txt')
ファイルをダウンロード
s3.download_file('bucket-name', 'remote.txt', 'local.txt')
オブジェクトを一覧表示
response = s3.list_objects_v2(Bucket='bucket-name', Prefix='prefix/') for obj in response.get('Contents', []): print(obj['Key'])
EC2 操作
ec2 = boto3.resource('ec2')
実行中のすべてのインスタンスを取得
instances = ec2.instances.filter( Filters=[{'Name': 'instance-state-name', 'Values': ['running']}] ) for instance in instances: print(f"{instance.id}: {instance.instance_type}")
Lambda の呼び出し
lambda_client = boto3.client('lambda') response = lambda_client.invoke( FunctionName='my-function', InvocationType='RequestResponse', Payload=json.dumps({'key': 'value'}) ) result = json.loads(response['Payload'].read()) ```
Terraform AWS リソース
```hcl
VPC
resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" enable_dns_hostnames = true enable_dns_support = true
tags = { Name = "golden-armada-vpc" } }
EKS Cluster
resource "aws_eks_cluster" "main" { name = "golden-armada-cluster" role_arn = aws_iam_role.cluster.arn version = "1.28"
vpc_config { subnet_ids = aws_subnet.private[*].id } }
RDS Instance
resource "aws_db_instance" "main" { identifier = "golden-armada-db" engine = "postgres" engine_version = "15" instance_class = "db.t3.medium" allocated_storage = 20
db_name = "golden_armada" username = var.db_username password = var.db_password
vpc_security_group_ids = [aws_security_group.db.id] db_subnet_group_name = aws_db_subnet_group.main.name
skip_final_snapshot = true } ```
ベストプラクティス
- アクセスキーではなくIAMロールを使用します
- 監査ログ用にCloudTrailを有効化します
- コスト追跡のため、すべてのリソースにタグを付けます
- ネットワークを分離するためにVPCを使用します
- 保存時と転送時の暗号化を有効化します
- 最小権限のIAMポリシーを実装します