mcpField
A
aws

aws

github.com/thelobbiクラウド・DevOps2152 回インストール2 日前に更新
リポジトリ

aws について

Golden Armada AI Agent Fleet Platform向けのAWSリファレンススキルで、インフラ、ストレージ、コンピューティング、サーバーレス関数、データベース、セキュリティを扱います。一般的な操作のAWS CLI、Boto3、Terraformの例を示します。

主な機能

  1. 01AWSインフラの構築と確認
  2. 02EKSクラスターとEC2インスタンスの管理
  3. 03S3ストレージの操作
  4. 04Lambda関数の実行と更新
  5. 05RDSとIAMリソースの管理
  6. 06セキュリティと運用の指針

活用シーン

  1. 01クラウドインフラの作成や確認
  2. 02S3とのファイル転送
  3. 03Lambda関数の実行とログ確認
  4. 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 } ```

ベストプラクティス

  1. アクセスキーではなくIAMロールを使用します
  2. 監査ログ用にCloudTrailを有効化します
  3. コスト追跡のため、すべてのリソースにタグを付けます
  4. ネットワークを分離するためにVPCを使用します
  5. 保存時と転送時の暗号化を有効化します
  6. 最小権限のIAMポリシーを実装します

コメント