aws-infrastructure について
AWS インフラの計画と設定を支援するガイダンススキルです。デプロイや運用を担う開発者向けに、ネットワーク、コンピュート、セキュリティ、監視などを扱います。
主な機能
- 01EC2 インスタンスとストレージの設定
- 02VPC とサブネットの計画
- 03セキュリティグループの設定
- 04ALB、Route53、ACM の設定
- 05CloudWatch のメトリクスとアラーム
- 06AWS 運用のベストプラクティス
活用シーン
- 01AWS アプリケーション環境の計画
- 02アプリ層とデータベース層のアクセス設定
- 03ALB 配下の HTTPS 設定
- 04AWS リソースの監視アラーム選定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ shipshitdev/ skills --skill aws-infrastructureインストール後、Claude Code で/aws-infrastructureを入力して読み込まれたか確認します。
同梱ファイルplugin.json
詳細
AWS インフラストラクチャのエキスパート
使用する場面
- EC2 インスタンスのセットアップと設定
- VPC とネットワークのセットアップ
- セキュリティグループの設定
- Application Load Balancer のセットアップ
- Route53 DNS の設定
- SSL/TLS 証明書の管理(ACM)
- Auto Scaling グループ
- CloudWatch による監視
EC2 のセットアップ
インスタンスタイプ
- 開発環境: t3.medium(2 vCPU、4GB RAM)
- 本番環境(小規模): t3.large(2 vCPU、8GB RAM)
- 本番環境(中規模): m5.large(2 vCPU、8GB RAM)
ストレージ
- gp3 SSD ボリュームを使用します
- 開発環境:最低 20GB
- 本番環境:必要に応じて 100GB 以上
- バックアップ用に EBS スナップショットを有効にします
キーペア
- SSH キーペアを生成またはインポートします
- 秘密鍵を安全に保管します
- 可能な場合はアクセスキーではなく IAM ロールを使用します
VPC の設定
基本設定
- CIDR ブロックを指定して VPC を作成します(例:10.0.0.0/16)
- パブリックサブネットとプライベートサブネットを作成します
- インターネットゲートウェイをセットアップします
- ルートテーブルを設定します
- 必要に応じて、プライベートサブネット用の NAT ゲートウェイをセットアップします
サブネット
- パブリックサブネット:ロードバランサー、踏み台ホスト用
- プライベートサブネット:アプリケーションサーバー、データベース用
- 高可用性のためにマルチ AZ にします
セキュリティグループ
アプリケーションのセキュリティグループ
Inbound:
- HTTP (80) from ALB security group
- HTTPS (443) from ALB security group
- SSH (22) from bastion/your IP only
Outbound:
- All traffic (0.0.0.0/0)
データベースのセキュリティグループ
Inbound:
- Postgres (5432) from application security group only
- Redis (6379) from application security group only
- SSH (22) from bastion/your IP only
Outbound:
- All traffic (0.0.0.0/0)
ロードバランサーのセキュリティグループ
Inbound:
- HTTP (80) from 0.0.0.0/0
- HTTPS (443) from 0.0.0.0/0
Outbound:
- HTTP (80) to application security group
- HTTPS (443) to application security group
Application Load Balancer
セットアップ
- パブリックサブネットに ALB を作成します
- ターゲットグループ(EC2 インスタンス)を設定します
- ヘルスチェックをセットアップします
- リスナーを設定します(HTTP → HTTPS リダイレクト)
- ACM の SSL 証明書を関連付けます
ヘルスチェック
- パス:
/healthまたは/api/health - プロトコル:HTTP
- ポート:3001(バックエンド)または 3000(フロントエンド)
- 正常しきい値:2
- 異常しきい値:2
- タイムアウト:5 秒
- 間隔:30 秒
Route53 DNS
ドメインのセットアップ
- ドメインのホストゾーンを作成します
- ALB を参照する A レコード(エイリアス)を作成します
- www サブドメインの CNAME を作成します
- ドメインレジストラーでネームサーバーを更新します
SSL/TLS(ACM)
- ACM で証明書をリクエストします(CloudFront/ALB の場合は us-east-1)
- DNS で検証します(CNAME レコードを追加)
- 証明書を ALB リスナーに関連付けます
- 証明書は自動更新されます
CloudWatch による監視
メトリクス
- EC2:CPU、メモリ、ディスク、ネットワーク
- ALB:リクエスト数、ターゲットの応答時間、HTTP エラー
- アプリケーション固有のデータにはカスタムメトリクスを使用します
アラーム
- CPU 使用率の上昇
- ディスク容量の不足
- アプリケーションエラー(CloudWatch Logs 経由)
- 正常でないターゲットインスタンス
ベストプラクティス
- アクセスキーではなく IAM ロールを使用します
- 監査ログ記録のために CloudTrail を有効にします
- AWS サービスへのアクセスには VPC エンドポイントを使用します
- 最小権限のセキュリティグループを実装します
- データベースにはプライベートサブネットを使用します
- EBS ボリュームの保存時の暗号化を有効にします
- 自動バックアップ(EBS スナップショット)をセットアップします
- AWS Cost Explorer でコストを監視します
統合
このスキルは、Postgres のセットアップ(RDS または EC2)用の postgres-ops と、デプロイワークフロー用の /deploy と連携します。
コメント
Markdown 対応