【要約】【SSL証明書短命化対策】取得した証明書をEC2のApache/Nginxに自動適用する仕組みを作る [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
インフラ運用者は、SSL証明書の有効期限短縮に伴う更新作業の自動化という課題に直面している。手動運用はミスを招き、サービス停止のリスクを高める。
- ・証明書の更新頻度が増加している。
- ・手動更新はヒューマンエラーを誘発する。
- ・更新時のサービス断が運用上の懸念となる。
// Approach
開発者は、S3を中央リポジトリとして活用する自動配布モデルを採用した。Lambdaで更新した証明書をS3へ格納し、EC2側で定期的に同期を行う。
- ・S3に証明書を中央管理する。
- ・aws s3 syncで差分のみを同期する。
- ・Cronで配布スクリプトを定期実行する。
- ・systemctl reloadで無停止更新を行う。
// Result
本手法の導入により、ApacheおよびNginx環境での証明書更新が自動化された。運用コストの削減と、更新に伴うサービス断の回避を両立している。
- ・証明書の自動適用が実現した。
- ・reloadにより既存接続を維持した。
- ・IAM Roleにより安全な権限管理を行った。
Senior Engineer Insight
> S3をハブにする構成は、シンプルかつ堅牢だ。s3 syncの戻り値を利用した条件分岐は、無駄なリロードを防ぐ賢明な実装である。ただし、大規模環境では各EC2のCron管理が課題となる。SSM等を用いた一括制御への拡張を検討すべきだ。また、IAM権限は最小権限の原則に従い、S3の特定バケットへの読み取り権限に絞るべきである。