mcpField
D
devops-iac-engineer

devops-iac-engineer

github.com/davila7クラウド・DevOps33.0k777 回インストール1 日前に更新
リポジトリ

devops-iac-engineer について

DevOps IaC Engineer は、Infrastructure as Code でクラウドインフラを設計、保守する DevOps チーム向けのスキルです。アーキテクチャ、Terraform、Kubernetes、CI/CD、オブザーバビリティ、セキュリティを体系的に案内します。

主な機能

  1. 01Terraform と IaC の設計ガイダンス
  2. 02Kubernetes とコンテナオーケストレーションの実践
  3. 03クラウドプラットフォームとサービス選定の指針
  4. 04CI/CD パイプラインと GitOps の計画
  5. 05オブザーバビリティと DevSecOps の実践
  6. 06インフラ実装のワークフロー

活用シーン

  1. 01新しいアプリケーション向けのクラウドインフラ設計
  2. 02コンテナのデプロイとオーケストレーションの計画
  3. 03CI/CD と GitOps のワークフロー設計
  4. 04インフラのドリフト、シークレット、クラウドコストへの対応

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davila7/claude-code-templates --skill devops-iac-engineer

インストール後、Claude Code で/devops-iac-engineerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

DIRECTORY_STRUCTURE.md
IMPLEMENTATION_GUIDE.md
README.md
examples/kubernetes/
complete-app.yaml
examples/pipelines/
github-actions.yml
examples/terraform/
main.tf
reference/
cicd.md
cloud_platforms.md
kubernetes.md
observability.md
security.md
templates.md
terraform.md
scripts/
devops_utils.py

詳細

DevOps IaCエンジニア

このスキルは、DevOpsチームがInfrastructure as Codeの原則を用いてクラウドインフラストラクチャを設計、実装、保守するのを支援します。クラウドアーキテクチャの構築、コンテナ化されたアプリケーションのデプロイ、CI/CDパイプラインの設定、オブザーバビリティおよびセキュリティの実践を行う際にご利用ください。

クイックナビゲーション

  • Terraform & IaC: Terraformのベストプラクティスとパターンについては terraform.md を参照してください
  • Kubernetes & コンテナ: コンテナオーケストレーションについては kubernetes.md を参照してください
  • クラウドプラットフォーム: AWS、Azure、GCPに関するガイダンスについては cloud_platforms.md を参照してください
  • CI/CDパイプライン: パイプライン設計とGitOpsについては cicd.md を参照してください
  • オブザーバビリティ: モニタリングとロギングについては observability.md を参照してください
  • セキュリティ: DevSecOpsの実践については security.md を参照してください
  • テンプレートとツール: すぐに使えるテンプレートについては templates.md を参照してください

基本原則

主要なDevOps用語(全体で統一)
  • Infrastructure as Code (IaC): 宣言的なコードファイルを通じてインフラストラクチャを管理すること
  • GitOps: インフラストラクチャとアプリケーションの唯一の信頼できる情報源(Single Source of Truth)としてGitを使用すること
  • Immutable Infrastructure(イミュータブルインフラストラクチャ): 変更するのではなく、置き換えられるインフラストラクチャコンポーネント
  • Service Mesh(サービスメッシュ): サービス間通信のためのインフラストラクチャレイヤー
  • Observability(オブザーバビリティ): 外部からの出力(ログ、メトリクス、トレース)を通じてシステムの状態を把握できる能力
  • SLI/SLO/SLA: 信頼性のためのService Level Indicator(サービスレベル指標)/Service Level Objective(サービスレベル目標)/Service Level Agreement(サービスレベル合意)
  • RTO/RPO: 災害復旧のためのRecovery Time Objective(目標復旧時間)/Recovery Point Objective(目標復旧時点)
ワークフロー:インフラストラクチャの実装

インフラストラクチャを実装する際は、次の構造化されたアプローチに従ってください。

  1. 要件を理解する

    • ビジネス上のニーズは何か?(新規アプリケーション、移行、スケーリング、コンプライアンス)
    • スケールの要件は何か?(トラフィック、データ、地理的分散)
    • 制約は何か?(予算、スケジュール、規制)
    • 依存関係は何か?(既存システム、データソース)
  2. アーキテクチャを設計する

    • 適切なクラウドプラットフォームおよびサービスを選定する
    • 高可用性と耐障害性を考慮して設計する
    • ネットワークトポロジーとセキュリティ境界を計画する
    • データフローとストレージ要件を特定する
    • ダイアグラムでアーキテクチャを文書化する
  3. IaCツールを選定する

    • マルチクラウドのインフラストラクチャプロビジョニングにはTerraform
    • コンテナオーケストレーションにはKubernetesマニフェスト/Helm
    • チームと要件に基づいてCI/CDツールを選定する
    • 必要に応じて構成管理ツールを選定する
  4. インフラストラクチャを実装する

    • モジュール化された再利用可能なIaCコードを作成する
    • セキュリティのベストプラクティスに従う(security.md を参照)
    • 適切な状態管理とバージョン管理を実装する
    • 一貫した命名規則とタグ付け規則を使用する
    • コードを文書化し、READMEファイルを作成する
  5. オブザーバビリティを設定する

    • 重要なサービスについてSLIとSLOを定義する
    • ロギング、メトリクス、トレーシングを実装する
    • ダッシュボードとアラートを作成する
    • ログの集約と分析を設定する
    • オンコール体制とランブックを計画する
  6. CI/CDを実装する

    • デプロイメントパイプラインのステージを設計する
    • 自動テスト(ユニット、インテグレーション、E2E)を実装する
    • GitOpsワークフローを設定する
    • デプロイメント戦略(ブルー/グリーン、カナリア)を構成する
    • ロールバック手順を実装する
  7. テストと検証を行う

    • インフラストラクチャのテスト(セキュリティ、コンプライアンス、コスト)を実行する
    • 災害復旧訓練を実施する
    • 負荷テストとパフォーマンス検証を行う
    • セキュリティスキャンと侵入テストを実施する
    • テスト結果と改善点を文書化する
  8. デプロイしてモニタリングする

    • 段階的なロールアウトを実行する
    • メトリクスとログを綿密にモニタリングする
    • SLOに対して検証する
    • ランブックとトラブルシューティングガイドを文書化する
    • デプロイ後のレビューを実施する
意思決定フレームワーク:ツールの選択

マルチクラウド要件 → Terraform または Pulumi AWS のみ → Terraform、AWS CDK、または CloudFormation コンテナオーケストレーション → Kubernetes(EKS、GKE、AKS) シンプルなコンテナデプロイ → ECS、Cloud Run、または App Service 構成管理 → Ansible またはクラウドネイティブなソリューション GitOps ワークフロー → ArgoCD または Flux CI/CD パイプライン → GitHub Actions、GitLab CI、または Jenkins

よくある課題と解決策

問題: コードと実環境のインフラストラクチャにドリフトが発生する 解決策: 自動ドリフト検出を導入し、CI/CD で terraform plan を使用し、本番環境への読み取り専用アクセスを有効にし、ステートファイルの整合性を維持します

問題: シークレット管理と認証情報の漏えい 解決策: クラウドネイティブのシークレットマネージャー(AWS Secrets Manager、HashiCorp Vault)を使用し、Git 内の暗号化されたシークレットには SOPS を導入し、IRSA/ワークロード ID を使用します

問題: クラウドコストの高騰と予期しない請求 解決策: タグ付け戦略を導入し、コスト配分タグを使用し、予算アラートを設定し、リソースを適正化し、スポットインスタンスを使用し、自動スケーリングを導入します

問題: Kubernetes 構成の複雑化 解決策: テンプレート化には Helm チャートを使用し、環境ごとの構成には Kustomize を導入し、GitOps のパターンに従い、複雑なワークロードにはオペレーターを使用します

コラボレーションのヒント

  • 開発チームとの連携: セルフサービスのプラットフォームを提供し、API をドキュメント化し、インフラストラクチャを再利用可能なモジュールとして共有します
  • セキュリティチームとの連携: ポリシーをコードとして実装し、コンプライアンスチェックを自動化し、監査証跡を提供します
  • SRE チームとの連携: SLI/SLO を共同で定義し、オンコールの責任を分担し、インシデント対応で協力します
  • 財務チームとの連携: コストの可視化を提供し、経費を予測し、チャージバックモデルを導入します

次のステップ

  1. インフラストラクチャ・アズ・コードを実装する場合は、terraform.md から始めてください
  2. コンテナオーケストレーションには kubernetes.md を使用してください
  3. すぐに使える構成については templates.md を参照してください
  4. モニタリングを設定するには observability.md を確認してください

注意: 変更を実装する前に、必ず現在のインフラストラクチャの状態、セキュリティ要件、およびコンプライアンス要件を確認してください。このスキルはフレームワークとベストプラクティスを提供するものであり、組織固有の要件に合わせて調整する必要があります。

コメント