メインコンテンツへスキップ
AWSアカウントを接続して、CloudThinkerエージェントがコスト分析、セキュリティ監査、リソース最適化、大規模なインフラ管理を実行できるようにします。 AWSの認証はIAMロール(AssumeRole)またはIAMユーザーアクセスキーで行います。ロールベースの認証は、AWS STSを通じた短期認証情報を使用し、長期シークレットの保存を避けられるため、強く推奨されています。

前提条件

  • IAM管理者アクセス権を持つAWSアカウント。
  • ターゲットアカウントでIAMロールまたはIAMユーザーを作成する権限。
  • セットアップ用のAWS CloudShellまたはIAMコンソールへのアクセス。
ロールベースの認証(AssumeRole)を強く推奨します。環境でAssumeRoleが使用できない場合にのみアクセスキーを使用してください。

セットアップ

AssumeRoleを使用したIAMロール

この方法は、CloudThinkerがリソースにアクセスするためのIAMロールを作成します。メリット:
  • 長期認証情報の共有や保存が不要
  • 自動ローテーションされる一時的な認証情報にAWS STSを使用
  • External IDがconfused deputy攻撃を防御
  • アクセスの監査と失効が容易

CloudShellによるクイックセットアップ

1

AWS CloudShellを開く

AWSコンソールにログインし、上部ナビからCloudShellを開きます。
2

セットアップスクリプトを実行

CloudThinkerの接続ダイアログでCopy Scriptをクリックし、CloudShellに貼り付けます。スクリプトは以下を実行します:
  • CloudThinkerAccessRole が存在しないことを確認
  • 読み取り専用権限でIAMロールを作成
  • External IDを含むトラストポリシーを添付
3

ロールARNをコピー

出力からロールARNをコピーします:
arn:aws:iam::123456789012:role/CloudThinkerAccessRole
4

接続を完了

ロールARNをCloudThinkerに貼り付け、リージョンを選択してConnectをクリックします。CloudThinkerがロールを確認し、Connectedステータスに変わります。

期待される出力

Starting CloudThinker IAM Role setup...
✅ Role does not exist, proceeding...
✅ Role created successfully
✅ Policy attached successfully
==========================================
✅ Setup Complete!
==========================================
Copy this Role ARN:
arn:aws:iam::123456789012:role/CloudThinkerAccessRole

手動ロール作成

手動でセットアップする場合:トラストポリシー:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::CLOUDTHINKER_ACCOUNT_ID:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "YOUR_EXTERNAL_ID"
        }
      }
    }
  ]
}
権限ポリシー:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:Describe*",
        "rds:Describe*",
        "s3:GetBucket*",
        "s3:List*",
        "cloudwatch:GetMetric*",
        "cloudwatch:List*",
        "ce:GetCost*",
        "ce:GetReservation*",
        "iam:GetRole",
        "iam:ListRoles"
      ],
      "Resource": "*"
    }
  ]
}

マルチアカウントのセットアップ

複数のAWSアカウントを持つ組織向け:
1

各アカウントにロールを作成

CloudFormation StackSetsを使用して、すべてのターゲットアカウントにIAMロールをデプロイします。
2

AWS Organizationsを使用

組織全体の可視性のため管理アカウントを接続します。
3

各アカウントを追加

CloudThinkerで各アカウントの接続を個別に追加します。

接続詳細

フィールド説明
ロールARNCloudThinkerが引き受けるIAMロールのARN(ロールベースの方法)arn:aws:iam::123456789012:role/CloudThinkerAccessRole
External IDトラストポリシー内のシークレットID(CloudThinkerから提供)
リージョンこの接続の主要AWSリージョンus-east-1
アクセスキーIDIAMユーザーキーID(アクセスキー方法のみ)
シークレットアクセスキーIAMユーザーシークレットキー(アクセスキー方法のみ)

必要な権限

最小(読み取り専用分析)

ec2:Describe*
rds:Describe*
s3:GetBucket*, s3:List*
cloudwatch:GetMetric*, cloudwatch:List*
ce:GetCost*, ce:GetReservation*
iam:GetRole, iam:ListRoles

推奨(完全分析)

# All minimum permissions, plus:
elasticloadbalancing:Describe*
autoscaling:Describe*
lambda:List*, lambda:GetFunction*
ecs:Describe*, ecs:List*
eks:Describe*, eks:List*
securityhub:Get*, securityhub:List*
guardduty:Get*, guardduty:List*
config:Describe*, config:Get*
cloudtrail:Describe*, cloudtrail:Get*
最小権限から始め、必要に応じて拡張します。接続前にAWSコンソールでCost Explorerを有効にしてください。新しいアカウントでは有効化に最大24時間かかる場合があります。

エージェントの機能

接続後、エージェントはAWSリソースの分析と最適化を実行できます。
エージェントAWSの機能
Alexコスト分析、EC2の適正サイズ調整、リザーブドインスタンスの推奨、リソース最適化
OliverSecurity Hubのファインディング、IAM監査、コンプライアンスチェック、脆弱性評価
TonyRDSパフォーマンス分析、Aurora最適化、DynamoDBチューニング
KaiEKSクラスター管理、Fargate最適化、コンテナ分析

接続を確認する

@alex run an AWS account check and list the connected account ID and active regions

プロンプト例

@alex analyze EC2 costs over the last 30 days and #recommend right-sizing opportunities
@oliver audit IAM roles and flag any with excessive permissions or missing MFA requirements
@kai check EKS cluster health across all connected regions and #report any failing pods

トラブルシューティング

IAMロールに必要な権限があることを確認します。トラストポリシーにCloudThinkerのアカウントIDが含まれていること、External IDが完全に一致していること、ロールARNが正しいことを確認してください。
AWSコンソールでCost Explorerを有効にします(有効化に最大24時間かかります)。ce:GetCost*権限が付与されていることと、請求設定でプログラムによるアクセスが許可されていることを確認してください。
CloudWatchメトリクスが収集されていることを確認します。リージョン選択にすべての関連リージョンが含まれていること、サービスが実行中でデータを生成していることを確認してください。
AWS APIへのネットワーク接続を確認します。VPCエンドポイントがアクセスをブロックしていないことを確認し、別のリージョンから接続を試みてください。

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • IAMロールを使用 — 長期アクセスキーよりAssumeRoleを優先してください。IAMロールは自動ローテーションされる短期STS認証情報を使用し、シークレットの保存が不要です。
  • CloudTrailを有効にする — CloudThinker接続経由のすべてのAPI呼び出しを監査し、完全なアクティビティログを維持します。

関連

Alexエージェント

AWS重点のクラウド最適化エージェント

Bring Your Own Key (BYOK)

AWS Bedrock認証情報を使用して無制限のLLM使用が可能