aws-compute について
aws-compute は、AWS のコンピューティングワークロードを担当する人向けに、Amazon EC2 のインスタンス選定、プロビジョニング、スケーリング、管理を案内するスキルです。運用手順やトラブルシューティングを含み、AWS MCP server と併用することも、AWS CLI のみで使うこともできます。
主な機能
- 01インスタンスファミリーとサイズの選定案内
- 02起動テンプレートとプロビジョニングの案内
- 03Auto Scaling グループの管理
- 04Systems Manager によるインスタンス管理
- 05AMI 管理とトラブルシューティング
活用シーン
- 01ワークロードに合う EC2 インスタンスタイプの選定
- 02自動スケーリングする Web フリートの構築
- 03インスタンス更新による新しい AMI の展開
- 04接続、容量、ステータスチェック障害の調査
MCP 対応
このスキルは AWS MCP server との併用を推奨しますが、必須ではなく AWS CLI のみでも利用できます。MCP サービスを提供するとは記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill aws-computeインストール後、Claude Code で/aws-computeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/ami-management.mdauto-scaling.mdinstance-selection.mdprovisioning.mdsystems-manager.mdtroubleshooting.md詳細
Amazon EC2 コンピューティング
AWS MCP サーバーを使用すると最適なエクスペリエンスが得られます。AWS CLI のみでも利用でき、どちらにも強く依存しません。
重大な警告
起動設定は非推奨です。現在の EC2 インスタンスタイプをサポートしておらず、新しいアカウントでは作成できません。新しい Auto Scaling グループには、すべて起動テンプレートを使用してください。詳しくは auto-scaling.md を参照してください。
ASG はデフォルトで ELB ヘルスチェックを無視します:Auto Scaling グループは --health-check-type ELB を設定しない限り、EC2 ステータスチェックのみを使用します。設定しないと、ロードバランサーのヘルスチェックに失敗したインスタンスが、いつまでもサービス対象のままになります。詳しくは auto-scaling.md を参照してください。
IMDSv2 のホップリミットはコンテナを機能不全にします:デフォルトの HttpPutResponseHopLimit が 1 の場合、IMDSv2 トークンの PUT 応答がコンテナ化されたプロセスに届かず(ホップが 1 つ増えることで応答 TTL を超えるため)、トークンリクエストがタイムアウトします。ブリッジ/awsvpc コンテナワークロードでは HttpPutResponseHopLimit=2 を設定してください。(IMDSv2 が必須の場合、その後のトークンなし GET は 401 を返します。任意の場合は、IMDSv1 にサイレントにフォールバックします。)詳しくは provisioning.md を参照してください。
T3/T3a/T4g はデフォルトで無制限モードになります:T2(standard)とは異なり、これらのインスタンスはスロットリングなしでバーストしますが、CPU の 24 時間平均使用率がベースラインを超えると、超過した CPU クレジット分が課金されます。これは気づきにくいコスト増加につながります。詳しくは instance-selection.md を参照してください。
インスタンスストアは一時的なストレージです:インスタンスストアボリューム上のデータは、停止、休止、終了、インスタンスタイプの変更、ホスト障害によって失われます。再起動した場合にのみ保持されます。永続化が必要なデータは EBS/EFS/S3 に保存してください。詳しくは instance-selection.md を参照してください。
どの情報が必要ですか?
| 検討している内容... | ガイダンス |
|---|---|
| インスタンスファミリー/サイズ/Graviton/GPU/バースト可能なインスタンス | instance-selection.md — まずワークロード→ファミリーの表を確認してください |
| インスタンスを一度定義して再利用する方法(起動テンプレート) | provisioning.md |
| 多数のインスタンスを自動スケーリングして実行する方法 | auto-scaling.md |
| SSH キーを使わずにインスタンスにアクセス/パッチ適用/管理する方法 | systems-manager.md |
クイックナビゲーション
| やりたいこと... | 参照先 |
|---|---|
| インスタンスタイプ、Graviton と x86 の比較、バースト可能なインスタンスのクレジット、GPU、インスタンスストアと EBS の比較を選ぶ | instance-selection.md |
| 起動テンプレート、ユーザーデータ、キーペア、IMDSv2、プレイスメントグループ、Elastic IP を作成する | provisioning.md |
| Auto Scaling グループ、スケーリングポリシー、インスタンス更新、Spot、ライフサイクルフックを設定または修正する | auto-scaling.md |
| SSH を使わずにアクセスする、フリートにパッチを適用する、またはインスタンスがマネージドノードとして表示されない問題を修正する | systems-manager.md |
| AMI を作成、共有、または廃止(非推奨化/無効化/登録解除)する | ami-management.md |
| 接続できない、ステータスチェックに失敗する、容量エラーが発生する、インスタンスが停止状態から進まないなどの問題を修正する | troubleshooting.md |
一般的なワークフロー
「オートスケーリング対応の Web フリートを構築する」 → 起動テンプレート(AMI、タイプ、IMDSv2)を作成し、それを参照する ASG を --health-check-type ELB とターゲット追跡ポリシー付きで作成します。auto-scaling.md を参照してください。パブリックな入口には、以下のセキュリティ上の考慮事項と auto-scaling.md のロードバランサーに関する注意事項に従って、ロードバランサーをセキュリティ保護してください(TLS/ACM、WAF、セキュリティレスポンスヘッダー)。ロードバランサー自体の構築は aws-networking の担当です。
「フリートに新しい AMI を展開する」 → 新しい起動テンプレートバージョンを作成し、インスタンスリフレッシュを実行します。ロールバックできるよう、数値の起動テンプレートバージョンを指定してください。auto-scaling.md を参照してください。
「踏み台サーバーを使わずにプライベートインスタンスへ接続する」 → インスタンスに SSM の権限(AmazonSSMManagedInstanceCore を持つインスタンスプロファイル、またはアカウントレベルの DHMC)とネットワーク経路を設定してから、セッションマネージャーを使用します。systems-manager.md を参照してください。
「EC2 のコストを削減する」 → 適切なサイズを選び(バースト可能型と固定パフォーマンス型を比較)、アプリが Arm64 に対応している場合は Graviton を使用し、フォールトトレラントなフリートには price-capacity-optimized を指定してスポットインスタンスを利用し、未使用の Elastic IP を解放します。instance-selection.md を参照してください。
トラブルシューティング
| 症状 | 考えられる原因 | 簡単な修正方法 |
|---|---|---|
| SSH の「Connection timed out」 | ネットワーク経路(SG/NACL/ルート/パブリック IP がない) | 自分の IP からの TCP 22 を許可します。IGW へのルートを確認し、パブリック IP を検証してください。troubleshooting.md を参照してください |
| SSH の「Connection refused」 | ホスト側:sshd が停止中、または起動中 | 起動を待ちます。セッションマネージャーまたはシリアルコンソールから sshd とポートを確認してください |
InsufficientInstanceCapacity | AWS にその AZ で該当タイプのキャパシティがない(クォータではありません) | 別の AZ/インスタンスタイプを試すか、再試行してください。クォータ引き上げはリクエストしないでください |
InstanceLimitExceeded | vCPU クォータに到達(これはクォータです) | インスタンスファミリーの Service Quotas 引き上げをリクエストしてください |
| ASG が LB のヘルスチェックに失敗したインスタンスを置き換えない | ヘルスチェックタイプがまだ EC2 | --health-check-type ELB を設定してください |
インスタンスが Pending:Wait の状態から進まず、約 1 時間後に終了する | ライフサイクルフックが完了していない(ハートビートは 3600 秒、デフォルトは ABANDON) | complete-lifecycle-action に CONTINUE を指定して呼び出すか、DefaultResult を CONTINUE に設定してください |
| システムステータスチェックに失敗 | AWS ホスト/ハードウェア | 停止してから起動し、新しいハードウェアに移行してください(再起動では移行しません) |
| インスタンスステータスチェックに失敗 | インスタンスの OS/ネットワーク設定 | 再起動するか、OS/ネットワーク設定を修正してください |
完全な表とその他のエラーについては、troubleshooting.md を参照してください。
セキュリティに関する考慮事項
- 起動テンプレートで IMDSv2 を強制(
HttpTokens=required)し、SSRF による認証情報の窃取を防ぎます。リージョンごとにアカウントレベルのデフォルトを設定します(新規起動にのみ適用されます)。 - インバウンド SSH より Session Manager を優先します。ポート 22 を開放する必要がなく、キー管理も不要で、セッション API 呼び出しの記録が CloudTrail に残ります。Session Manager のセッションログ記録を有効にして CloudWatch Logs/S3 に保存します(デフォルトでは無効)。これにより、セッション中に実行されたコマンド自体を記録できます。詳しくは systems-manager.md を参照してください。
- インスタンスプロファイルを使用し、認証情報を埋め込まないでください。ロールの権限は最小限にします。
- EBS/AMI を暗号化します。暗号化された AMI をアカウント間で共有するには、カスタマー管理の KMS キーで再暗号化します(デフォルトの
aws/ebsキーは共有できません)。 - すべてのリージョンで CloudTrail を有効化して EC2/ASG/SSM API のアクティビティを監査し、機密性の高い操作(セキュリティグループの変更、予期しないプリンシパルによる
RunInstances/TerminateInstances)に対してアラームを設定し、不正な変更を検知できるようにします。 - インターネットに公開する Web フリートでは、ロードバランサーの HTTPS リスナーに ACM 証明書を設定して通信を暗号化し、一般的な Web 攻撃に対する多層防御として AWS WAF を追加します。ロードバランサー/WAF 自体の設定については
aws-networkingを参照してください。 - このガイダンスを超えるセキュリティ強化については、AWS EC2 security best practices と、ゲスト OS の CIS ベンチマークを参照してください。
このスキルの対象外
- ベストプラクティスのデフォルト設定で、単一のインスタンスを起動する →
launching-ec2-instance-with-best-practicesスキルを使用してください - EC2 用の IAM ロール/インスタンスプロファイルを作成する →
setting-up-ec2-instance-profilesスキルを使用してください - Image Builder パイプラインで AMI を構築する →
amazon-ec2-image-builderスキルを使用してください - Lambda / サーバーレス →
aws-serverless、ECS/Fargate →aws-containers、EKS/Kubernetes →kubernetes - VPC、サブネット、ALB/NLB、エンドポイント →
aws-networkingまたは組み込みの知識 - IAM ポリシーのロジックや CloudWatch ダッシュボード/エージェントの設定 →
aws-iam、aws-observability