AWSアカウントを接続して、CloudThinkerエージェントがコスト分析、セキュリティ監査、リソース最適化、大規模なインフラ管理を実行できるようにします。
AWSの認証はIAMロール(AssumeRole)または IAMユーザーアクセスキー で行います。ロールベースの認証は、AWS STSを通じた短期認証情報を使用し、長期シークレットの保存を避けられるため、強く推奨されています。
前提条件
ロールベースの認証(AssumeRole)を強く推奨します。環境でAssumeRoleが使用できない場合にのみアクセスキーを使用してください。
セットアップ
AssumeRoleを使用したIAMロール この方法は、CloudThinkerがリソースにアクセスするためのIAMロールを作成します。メリット:
長期認証情報の共有や保存が不要
自動ローテーションされる一時的な認証情報にAWS STSを使用
External IDがconfused deputy攻撃を防御
アクセスの監査と失効が容易
CloudShellによるクイックセットアップ
セットアップスクリプトを実行
CloudThinkerの接続ダイアログでCopy Script をクリックし、CloudShellに貼り付けます。スクリプトは以下を実行します:
CloudThinkerAccessRole が存在しないことを確認
読み取り専用権限でIAMロールを作成
External IDを含むトラストポリシーを添付
ロールARNをコピー
出力からロールARNをコピーします: arn:aws:iam::123456789012:role/CloudThinkerAccessRole
接続を完了
ロール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" : "*"
}
]
}
アクセスキーを使用したIAMユーザー AssumeRoleが環境で使用できない場合にのみこの方法を使用してください。 AWSは長期アクセスキーよりIAMロールを推奨しています。この方法を使用する場合は定期的にキーをローテーションしてください。
IAMユーザーを作成
IAMコンソール → Users → Create user に移動し、名前を cloudthinker-readonly に設定します。
ポリシーをアタッチ
Attach policies directly を選択して追加します:
ReadOnlyAccess(包括的)、または
AmazonEC2ReadOnlyAccess、AmazonS3ReadOnlyAccess などの特定ポリシー
アクセスキーを作成
ユーザーを選択 → Security credentials → Create access key 。ユースケースとしてThird-party service を選択します。
認証情報を保存
Access Key IDとSecret Access Keyをコピーして安全に保管します。Connections → AWS に入力し、Connect をクリックします。CloudThinkerはConnected ステータスに変わります。
マルチアカウントのセットアップ
複数のAWSアカウントを持つ組織向け:
各アカウントにロールを作成
CloudFormation StackSetsを使用して、すべてのターゲットアカウントにIAMロールをデプロイします。
AWS Organizationsを使用
組織全体の可視性のため管理アカウントを接続します。
各アカウントを追加
CloudThinkerで各アカウントの接続を個別に追加します。
接続詳細
フィールド 説明 例 ロールARN CloudThinkerが引き受けるIAMロールのARN(ロールベースの方法) arn:aws:iam::123456789012:role/CloudThinkerAccessRoleExternal ID トラストポリシー内のシークレットID(CloudThinkerから提供) — リージョン この接続の主要AWSリージョン us-east-1アクセスキーID IAMユーザーキー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の適正サイズ調整、リザーブドインスタンスの推奨、リソース最適化 Oliver Security Hubのファインディング、IAM監査、コンプライアンスチェック、脆弱性評価 Tony RDSパフォーマンス分析、Aurora最適化、DynamoDBチューニング Kai EKSクラスター管理、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使用が可能