レンタルサーバーへのデプロイ自動化

安全で効率的なデプロイ環境を構築する

Webサイトの更新作業において、FTPクライアントで手動アップロードする方法は、ミスが発生しやすく時間もかかります。特に、アップロード中にファイルが破損したり、更新漏れが発生したりするリスクがあります。

そこで、SSH接続とrsyncを活用したデプロイ自動化の仕組みを構築しました。

構築のポイント

1. SSH鍵認証の設定
パスワード認証ではなく、公開鍵認証を使用します。秘密鍵はローカルマシンに保管し、サーバーには公開鍵のみを登録します。これにより、パスワード漏洩のリスクを排除できます。鍵にはパスフレーズを設定し、二重のセキュリティを確保しています。

2. rsyncによる差分転送
rsyncは、変更のあったファイルのみを転送します。サイト全体をアップロードする必要がないため、転送時間が大幅に短縮されます。また、–dry-runオプションで事前に転送内容を確認できるため、意図しないファイルの上書きを防げます。

3. ステージング環境の活用
本番環境に直接デプロイするのではなく、まずステージング環境で動作確認を行います。問題がなければ本番環境にデプロイする二段階方式により、本番障害のリスクを最小化しています。

運用効果

デプロイ作業が数十分から数分に短縮されました。また、コマンド一発で実行できるため、深夜や休日のリリース作業も負担なく行えます。ロールバック手順も整備し、万が一の際も迅速に対応できる体制を構築しています。