cloud-infrastructure について
cloud-infrastructure は、クラウド基盤の設計や運用に取り組むためのスキルです。マルチクラウド設計、IaC、コスト、セキュリティ、高可用性、監視を扱います。
主な機能
- 01AWS、Azure、GCP の構成を網羅
- 02Terraform などの IaC パターンを紹介
- 03コスト最適化策を説明
- 04高可用性とマルチリージョン展開を解説
- 05セキュリティと可観測性の実践を網羅
活用シーン
- 01新しいアプリケーションのクラウド構成を設計
- 02IaC によるデプロイを計画
- 03リソースのコストと規模を最適化
- 04可用性、セキュリティ、監視の計画を策定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 89jobrien/ steve --skill cloud-infrastructureインストール後、Claude Code で/cloud-infrastructureを入力して読み込まれたか確認します。
詳細
クラウドインフラストラクチャ
マルチクラウドアーキテクチャ、Infrastructure as Code、コスト最適化、本番環境へのデプロイパターンを網羅した、クラウドインフラストラクチャの包括的なスキルです。
このスキルを使用する場面
- 新しいアプリケーションのクラウドアーキテクチャを設計する
- Infrastructure as Code(Terraform、CloudFormation、Pulumi)を実装する
- コストを最適化し、リソースのサイズを適正化する
- マルチリージョンおよび高可用性のデプロイを行う
- クラウド移行を計画する
- セキュリティとコンプライアンスを実装する
- オートスケーリングとパフォーマンスを最適化する
クラウドアーキテクチャのパターン
コンピューティングのパターン
| パターン | AWS | Azure | GCP | ユースケース |
|---|---|---|---|---|
| サーバーレス | Lambda | Functions | Cloud Functions | イベント駆動、負荷変動への対応 |
| コンテナ | ECS/EKS | AKS | GKE | マイクロサービス、一貫した環境 |
| VM | EC2 | Virtual Machines | Compute Engine | レガシーアプリ、完全な制御 |
| バッチ | Batch | Batch | Batch | 大規模処理 |
ストレージのパターン
| 種類 | AWS | Azure | GCP | ユースケース |
|---|---|---|---|---|
| オブジェクト | S3 | Blob Storage | Cloud Storage | 静的ファイル、バックアップ |
| ブロック | EBS | Managed Disks | Persistent Disk | データベースストレージ |
| ファイル | EFS | Azure Files | Filestore | 共有ファイルシステム |
| アーカイブ | Glacier | Archive | Coldline | 長期保存 |
データベースのパターン
| 種類 | AWS | Azure | GCP | ユースケース |
|---|---|---|---|---|
| リレーショナル | RDS、Aurora | SQL Database | Cloud SQL | ACID トランザクション |
| NoSQL | DynamoDB | Cosmos DB | Firestore | 柔軟なスキーマ |
| キャッシュ | ElastiCache | Cache for Redis | Memorystore | セッション、キャッシュ |
| データウェアハウス | Redshift | Synapse | BigQuery | 分析 |
Infrastructure as Code
Terraform のベストプラクティス
プロジェクト構成:
infrastructure/
├── modules/
│ ├── networking/
│ ├── compute/
│ └── database/
├── environments/
│ ├── dev/
│ ├── staging/
│ └── prod/
├── main.tf
├── variables.tf
├── outputs.tf
└── versions.tf
状態管理:
- リモート状態(S3、Azure Blob、GCS)を使用する
- 状態ロック(DynamoDB、Blob lease)を有効にする
- 環境ごとに状態を分ける
- 状態ファイルをコミットしない
モジュール設計:
- 各モジュールの責務を単一にする
- 必要最小限の変数を公開する
- 入力と出力を文書化する
- git タグでモジュールのバージョンを管理する
コスト最適化
コンピューティングコストの削減:
- リザーブドインスタンス(1~3年の契約):30~60%の節約
- スポット/プリエンプティブルインスタンス:中断可能なワークロードで60~90%の節約
- サイズの適正化:インスタンスのサイズを実際の使用状況に合わせる
- オートスケーリング:使用量が少ない時間帯はスケールダウンする
ストレージコストの削減:
- ライフサイクルポリシー:より安価なストレージ階層へ自動移行する
- 圧縮:ストレージの使用量を削減する
- 重複排除:冗長なデータを取り除く
- 未使用のリソースを削除する:孤立したボリューム、スナップショット
ネットワークコストの削減:
- 静的コンテンツには CDN を使用する
- データ転送経路を最適化する
- プライベートエンドポイントを使用する
- API レスポンスを圧縮する
高可用性のパターン
マルチ AZ デプロイ
- 2~3個のアベイラビリティゾーンにデプロイする
- 負荷分散にはロードバランサーを使用する
- AZ 間でデータベースをレプリケーションする
- 自動フェイルオーバーを設定する
マルチリージョンデプロイ
- アクティブ/アクティブまたはアクティブ/パッシブ
- DNS ベースのルーティング(Route53、Traffic Manager)
- データレプリケーション戦略
- 災害復旧手順
レジリエンスのパターン
- 外部依存関係にサーキットブレーカーを適用する
- 指数バックオフで再試行する
- バルクヘッド分離
- グレースフルデグラデーション
セキュリティのベストプラクティス
ID とアクセス管理
- 最小権限の原則
- 長期的な認証情報ではなく IAM ロールを使用する
- 特権アカウントで MFA を有効にする
- アクセス権を定期的にレビューする
ネットワークセキュリティ
- VPC/VNet による分離
- ファイアウォールとしてセキュリティグループを使用する
- バックエンドサービスにはプライベートサブネットを使用する
- ハイブリッド環境には VPN/Direct Connect を使用する
データ保護
- 保存データを暗号化する(KMS)
- 転送中のデータを暗号化する(TLS)
- 鍵のローテーションポリシー
- バックアップと復旧のテスト
モニタリングと可観測性
主要なメトリクス
- CPU、メモリ、ディスクの使用率
- ネットワークのスループットとレイテンシ
- エラー率とエラーの種類
- サービス/チームごとのコスト
アラート戦略
- ベースラインに基づいてしきい値を設定します
- 原因ではなく症状に対してアラートを発します
- 各アラートのランブックを用意します
- エスカレーション経路を定義します
参考ファイル
references/terraform_patterns.md- IaC のパターンと例references/cost_optimization.md- 詳細なコスト削減戦略
他のスキルとの連携
- security-engineering - セキュリティアーキテクチャ向け
- network-engineering - ネットワーク設計向け
- performance - 最適化戦略向け
- devops-runbooks - 運用手順向け
コメント
Markdown 対応