本番サーバーでswapを設けるか判断する――メモリ超過時の落とし方と運用性の設計
本番サーバーのswap設計は、メモリ枯渇時にどのプロセスをどう落とすかという判断の問題。swap有効・無効・zswapの使い分け、swappinessの設定根拠、OOMKillerの制御方針、コンテナ環境での考慮点、検知設計、ドキュメント化の粒度まで整理。
本番サーバーのswap設計は、メモリ枯渇時にどのプロセスをどう落とすかという判断の問題。swap有効・無効・zswapの使い分け、swappinessの設定根拠、OOMKillerの制御方針、コンテナ環境での考慮点、検知設計、ドキュメント化の粒度まで整理。
Kubernetes環境の名前空間分割とクラスタ分割は、分離したい境界の種類と強度要件で選択が決まる設計判断。権限・リソース・ネットワークの3軸を整理し、運用コストとのトレードオフを踏まえた粒度設計の考え方を解説。
コンテナイメージ・Helmチャート・バイナリ配布物を対象に、署名方式(Cosign/Notary/GPG)の選定基準、パイプライン内の検証配置、公開鍵の配布設計、デプロイ前の検証ゲート実装、鍵ローテーション設計まで、実装層が判断すべきポイントを体系的に解説。
VPNプロトコルの選定は接続要件・運用規模・認証基盤の有無を先に確定し、条件にプロトコルを合わせるのが正しい順序。WireGuard・IPsec・OpenVPNの鍵管理・NAT越え・障害復旧の設計判断を解説。
サービスアカウントの払い出し設計は「長期キーの管理」と「動的発行への移行」の二段構えで判断する。workload identityが使える条件・使えない条件の整理から、ローテーション設計、申請・廃止ワークフロー、インシデント時の無効化設計まで、構築判断の軸を解説。
cert-managerの導入判断は証明書の種類・更新頻度・発行CA・配布先の組み合わせで決まる設計問題。自動化の適用範囲・除外条件・手動混在期の整合性管理を判断軸ごとに整理する。
Terraform workspaceによる環境切り替えとAWSアカウント分離は、用途が異なる設計判断。判断軸をブラストラジウム(影響爆発半径)に置き、state管理・SCP設計・リポジトリ構成との整合性まで含めた境界線の引き方を解説。
IPv6対応を段階的に進めるための設計判断を整理。デュアルスタックとシングルスタックの選択基準、外部公開層・内部L3・アプリの移行順序、DNS・LBの対応確認ポイント、NAT64/DNS64の配置設計、アドレス管理の統制方法を解説。
ビルドツールの選定は規模だけで決めると設計負債を招く。Makefile・Bazel・Gradle・タスクランナーを依存グラフの複雑さ・再現性・メンテナンス性の三軸で比較し、専用ビルドシステムへ切り替えるべきタイミングと移行設計の判断基準を整理する。
eBPFによるカーネル空間の観測をいつ・どのツールで導入するかの判断基準を整理。Cilium・Pixie・bpftraceの用途別比較、アプリ非改変トレーシングの設計範囲、セキュリティ監査への活用、カーネルバージョンの環境制約確認、本番展開のリスクと安全なロールアウト設計まで、構築担当者の意思決定を支える観点を実装視点で解説。