DevOpsエンジニア向け:CI/CDパイプラインの自動化 – DevOpsとSREのための10のAIプロンプト

10 AI Prompts for DevOps & SREs

現代のインフラストラクチャ環境は複雑であり、速度、信頼性、セキュリティを同時に要求します。人工知能は、DevOpsとサイト信頼性エンジニアリング(SRE)にとって重要な戦力増強要素へと進化し、冗長なスクリプトの自動化、コンテナオーケストレーションの最適化、インシデント対応の加速を可能にしています。

以下のプロンプトは、主要なAIモデル向けに厳密にテスト・最適化されています:ChatGPT、Gemini、Claude、DeepSeek。各モデルは、DeepSeekのコーディングロジックやClaudeのコンテキスト処理など、それぞれ異なるアーキテクチャ上の利点を持っていますが、これらの10のプロンプトは、ワークフローを効率化し、単純作業を排除したいDevOpsエンジニアにとって、普遍的で高性能な基盤を提供します。


1. マルチステージCI/CDパイプラインの生成

モデル推奨: DeepSeek または ChatGPT(構造化されたYAML生成とロジックフローに最適)

堅牢なパイプラインを一から作成するには、貴重な時間を消費するボイラープレートが必要です。このプロンプトは、ベストプラクティスが組み込まれた包括的な設定ファイルを生成します。

プロンプト:

シニアDevOpsエンジニアとして振る舞ってください。[Node.js / Python / Go]マイクロサービスのための[GitLab CI / GitHub Actions / Jenkins]向けの完全なマルチステージCI/CDパイプライン設定ファイルを作成してください。

パイプラインには以下のステージを含める必要があります:
1. リンターと静的解析。
2. カバレッジレポート付き単体テスト。
3. コンテナのビルドとレジストリへのプッシュ(Dockerを想定)。
4. ステージング環境(Kubernetes)へのデプロイ。

ビルド時間を最適化するためのキャッシュ戦略、シークレットのための環境変数処理、各ステージのロジックを説明するコメントを含めることを確実にしてください。

効果: 構文的に正しく、本番環境対応のパイプライン構造を瞬時に作成し、YAMLのインデントエラーではなく、特定のビルドロジックに集中できるようにします。

2. インフラストラクチャ・アズ・コード(IaC)の変換

モデル推奨: Claude(ニュアンスのある変換とコンテキストの説明に最適)

レガシーインフラは、現代のIaCツールへの移行が必要なことがよくあります。このプロンプトは、手動設定や古いスクリプトを現代的なTerraformモジュールに変換するのに役立ちます。

プロンプト:

AWSインフラストラクチャ設定のための一連の要件があります。これらの要件をモジュール式のTerraform設定に変換してください。

要件:
- 異なるアベイラビリティーゾーンに2つのパブリックサブネットと2つのプライベートサブネットを持つVPC。
- トラフィックをAuto Scaling Groupに転送するApplication Load Balancer(ALB)。
- アプリケーション層からのアクセスのみを許可するセキュリティグループを持つプライベートRDSインスタンス(PostgreSQL)。

`main.tf`、`variables.tf`、`outputs.tf`を含むTerraformコードを出力してください。厳密に型付けされた変数と標準的な命名規則を使用してください。

効果: 複雑なインフラストラクチャモジュールを迅速にプロトタイピングし、リソースの分離とセキュリティのベストプラクティスが最初の行から実装されることを保証します。

3. Dockerfileの最適化とセキュリティ強化

モデル推奨: DeepSeek(コード効率と技術的脆弱性の特定に最適)

コンテナイメージは、肥大化とセキュリティリスクに悩まされることがよくあります。このプロンプトは、AIに最小限のフットプリントと最大限のセキュリティのためにDockerfileをリファクタリングさせます。

プロンプト:

以下のDockerfileロジックをレビューし、[言語]アプリケーション向けに本番環境対応になるように書き直してください。

現在のロジック:[現在のDockerfileの内容を貼り付けるか、ステップを説明する]

出力は以下を優先する必要があります:
1. イメージサイズを最小化するためのマルチステージビルド。
2. 特定の、最新版ではないベースイメージ(例:AlpineやSlim)の使用。
3. セキュリティのため、非rootユーザーとしてアプリケーションを実行。
4. 命令を正しく順序付けることでレイヤーキャッシュを最適化。

セキュリティとビルド速度を改善するために行った具体的な変更点を説明してください。

効果: イメージサイズと攻撃対象領域を劇的に削減し、より高速なデプロイとより安全なランタイム環境に直接貢献します。

4. ステートレスアプリ向けKubernetesマニフェスト生成

モデル推奨: ChatGPT(標準的なボイラープレート生成に最適)

Kubernetesへのデプロイには冗長なYAMLファイルが必要です。このプロンプトは、ヘルスチェックを含むDeploymentとServiceマニフェストの作成を自動化します。

プロンプト:

"inventory-service"という名前のステートレスWebアプリケーション向けのKubernetes `Deployment`と`Service`マニフェストを生成してください。

要件:
- レプリカ数:3。
- リソース要求と制限(CPUとメモリ)を設定し、ノイジーネイバー問題を防止。
- `/health`エンドポイントに対するLivenessおよびReadinessプローブを設定。
- コンテナポート:8080。
- 戦略:RollingUpdate。

YAMLが有効であり、セレクターに標準ラベルを利用していることを確実にしてください。

効果: マニフェストテンプレートの手動コピー&ペーストを排除し、Livenessプローブやリソース制限などの重要な信頼性機能が決して見落とされないようにします。

5. システムメンテナンスのための自動化Bashスクリプト

モデル推奨: DeepSeek または Gemini(ロジックとエッジケース処理に最適)

バイナリが過剰なタスクでは、Bashが依然として最適です。このプロンプトは、エラー処理を含む堅牢なシェルスクリプトを生成します。これは、急いで書かれたスクリプトではしばしば見落とされるステップです。

プロンプト:

`/var/log/app/`にログを出力するアプリケーションのログローテーションとアーカイブを自動化するBashスクリプトを作成してください。

スクリプトは以下を行う必要があります:
1. 7日以上経過したログファイルを圧縮。
2. 圧縮されたログをS3バケットに移動(`aws s3 cp`を使用)。
3. ローカルディスクから30日以上経過したログを削除。
4. 厳密なエラー処理(`set -e`)とロギング関数を実装し、スクリプトがタイムスタンプ付きで自身の活動を標準出力に出力するようにする。
5. 実行前に必要な依存関係(gzip、aws-cli)がインストールされているか確認。

効果: 防御的で回復力のあるスクリプトを生成し、スクリプトが自身をクリーンアップし、適切に失敗するようにして、バックグラウンドジョブでのサイレント障害を防止します。

6. Prometheusアラートルール作成

モデル推奨: Claude(監視ロジックの意味的理解に最適)

アラートの適切な閾値を定義することは困難です。このプロンプトは、アラート疲労を軽減するPromQLクエリとアラート定義の生成を支援します。

プロンプト:

サイト信頼性エンジニアとして振る舞ってください。高トラフィックWebサーバー向けのPrometheusアラートルールファイルを作成してください。

以下のアラートが必要です:
1. 高エラー率:5分間ウィンドウで5xxエラーが総リクエストの5%を超えた場合。
2. 高レイテンシー:99パーセンタイルレイテンシーが10分間500msを超えた場合。
3. 飽和状態:CPU使用率が15分間85%を超え続けた場合。

正確なPromQLクエリと、重大度ラベル(Critical対Warning)を含むAlertmanager設定のYAML構造を提供してください。

効果: 観測可能性のための正確な数学的クエリを生成し、問題が統計的に有意である場合にのみページングされることを保証します。

7. インシデント事後分析と根本原因分析

モデル推奨: Gemini(大規模なコンテキストの処理とテキストの要約に最適)

障害発生後、イベントを要約することは極めて重要です。このプロンプトは、散らばったメモをプロフェッショナルなインシデントレポートに変えます。

プロンプト:

以下のタイムラインとメモに基づいて、非難のないインシデント事後分析レポートを起草してください:

[生のメモ、イベントのタイムライン、エラーメッセージをここに挿入]

レポートには以下を含める必要があります:
1. エグゼクティブサマリー(非技術的なステークホルダー向け)。
2. 根本原因分析(5Why法を使用)。
3. 影響評価(ユーザーエクスペリエンスとデータ整合性)。
4. アクション項目(再発を防ぐための予防措置)。

システム改善に焦点を当てた、プロフェッショナルで客観的な口調を維持してください。

効果: インシデント管理の文書化フェーズを加速し、チームがレポートのフォーマットではなく、根本原因の修正に集中できるようにします。

8. 構成管理のためのAnsible Playbook

モデル推奨: ChatGPT(標準的な構成構文に最適)

複数のサーバーにわたる構成管理には一貫性が必要です。このプロンプトは、冪等性のあるAnsible Playbookを生成します。

プロンプト:

新規Ubuntuサーバーを安全なWebサーバーとして構成するためのAnsible Playbookを作成してください。

Playbookは以下を行う必要があります:
1. aptキャッシュを更新し、すべてのパッケージをアップグレード。
2. Nginx、Git、UFW(Uncomplicated Firewall)をインストール。
3. UFWを設定してSSH、HTTP、HTTPSを許可し、それ以外はすべて拒否。
4. Nginxサービスが有効化され、実行されていることを確認。
5. sudo権限を持つ専用ユーザー 'web-admin' を作成。

副作用なしに複数回実行できるように、厳密な冪等性を使用してください。

効果: サーバーセットアップを標準化し、ファイアウォールルールなどのセキュリティベースラインがフリート内のすべてのノードに一貫して適用されることを保証します。

9. ログ解析のための正規表現生成

モデル推奨: DeepSeek(厳密なパターンマッチングロジックに最適)

ログ解析(例:FluentdやLogstash用)のための複雑な正規表現を書くことはエラーが発生しやすいです。このプロンプトは、正規表現の「書きっぱなし」の性質を解決します。

プロンプト:

カスタムアプリケーションログ行を解析するための正規表現(Regex)が必要です。

ログフォーマット例:
`2023-10-27 14:20:15 [INFO] thread-5 user_id=4592 action="payment_processed" duration=150ms`

以下の内容を抽出する名前付きキャプチャグループの正規表現を作成してください:
- タイムスタンプ
- ログレベル
- スレッド名
- ユーザーID
- アクション
- 期間(整数値のみ)

正規表現が特定のコンポーネントをどのように分解するか説明してください。

効果: 一致しないパターンのデバッグに費やす時間を節約し、ログ集約システムが重要なフィールドを正しくインデックスすることを保証します。

10. インフラストラクチャコードのセキュリティ監査

モデル推奨: Claude または Gemini(コンテキストとセキュリティへの影響の分析に最適)

コードをコミットする前に、第二の目による確認が不可欠です。このプロンプトは、IaCのセキュリティリンターとして機能します。

プロンプト:

セキュリティエンジニアとして振る舞ってください。以下の[Terraform / Kubernetes YAML]コードスニペットをセキュリティ脆弱性についてレビューしてください。

コードスニペット:
[ここにコードを貼り付ける]

以下の関連する特定のリスクを特定してください:
- 過度に寛容なIAMロールまたはセキュリティグループ。
- 保存時または転送時の暗号化の欠如。
- 機密ポートの露出。
- ハードコードされたシークレット。

特定された各リスクに対する修正手順の箇条書きリストを提供してください。

効果: 開発ライフサイクルの早い段階(Shift Left)で設定ミスやセキュリティホールを捕捉し、デプロイ前の潜在的な侵害を防止します。


プロのヒント:高度なコンテキスト注入

ClaudeDeepSeekからの出力品質を最大化するには、プロンプト連鎖を使用してください。一つのプロンプトでアーキテクチャ全体を取得しようとしないでください。まず、モデルに「アーキテクチャの概要を説明してください」と依頼します。概要を承認したら、その概要を次のプロンプトにフィードバックして、「概要で定義されたネットワーキング層のTerraformコードを生成してください」と依頼します。これにより、コンテキストが維持され、複雑なタスクでの虚偽の生成が減少します。


反応的なシステム管理者から戦略的なDevOpsエンジニアへの移行は、革新的な作業のための余地を作るために、日常的な作業を自動化することにかかっています。これらのAIプロンプトを日常のワークフローに統合することで、認知的負荷を軽減し、インフラストラクチャが文書化され、安全で、回復力があることを保証します。これらのツールを習得することは、単にスクリプトをより速く書くことではなく、エンジニアリングスタック全体にわたって卓越性を標準化することです。