メインコンテンツまでスキップ

デプロイ運用手順

適用範囲

リポジトリ内の Docker Compose ファイルは開発・デモ用のトポロジーであり、本番環境の堅牢化ガイドではない。本番デプロイには、管理されたシークレット、TLS 終端、バックアップ・リストア手順、ネットワークセグメンテーション、及び組織固有の規制対応管理が必要である。

本番環境で必須の管理策

  • MERLON_ENV=production を設定し、認証を有効化する。
  • 外部 TLS は信頼できるイングレスまたはリバースプロキシで終端する。API は本番環境において TLS 設定のない Engine 接続を拒否する。
  • データベースパスワード、ブートストラップトークン、JWT 材料、暗号鍵はシークレットマネージャに保存し、コミットしたり本番用の値を .env ファイルに配置したりしないこと。
  • ローカル開発環境以外では MERLON_SEED=false を維持する。
  • PostgreSQL、Engine の gRPC エンドポイント、API の /metrics、Engine のメトリクスポート(9090)は、プライベートネットワークまたは認証済みの監視基盤に限定する。
  • MERLON_ENCRYPTION_KEY_RING をバックアップし、復旧手順がデータベースデータと必要な鍵材料の両方をリストアできることを検証する。

設定検証

ロールアウト前に、起動ログまたは ConfigService から Engine 設定ダイジェストを記録し、承認済みのルールファイルをリリース証跡とともに保管する。ADR-0012 を参照。

監査ログのデータベースロール

アプリケーションのデータベースロールは audit_logs に対する UPDATE 権限や DELETE 権限を持つべきではない。読み取り専用の監査アクセスは別ロールを通じて付与し、対象環境で権限付与を検証する。ロールテンプレートの例は本ディレクトリ内の audit-hardening.sql.example を参照。