低スペッククラウドサーバーの実用的な設定記録
サーバー構成の概要
最近、Alibaba Cloud ECSクラウドサーバーを購入しました。非常に安価で、構成は以下の通りです:
- CPU: 2コア(vCPU)
- メモリ: 2 GiB
- ストレージ: クラウドディスク 40 GiB(2120 IOPS)
- ネットワーク: 固定帯域幅 3M
スペックが非常に低いため、この記事では使用中に遭遇した様々な問題とその解決策を記録します。
設定の最適化
pnpmの設定最適化
メモリとCPUの制限により、pnpmで依存関係をインストールする際にフリーズしやすいため、並列数やリトライ回数を制限する必要があります:
# 並列数を制限し、メモリ不足を回避
pnpm config set concurrency 2
# pnpmの自動ロックファイル更新を無効化し、インストール時のディスクIO負荷を軽減
pnpm config set auto-install-peers=false
# リトライ回数を設定し、ネットワークが不安定な場合の成功率を向上
pnpm config set fetch-retries 3
# リトライファクターを設定し、リトライ間隔を延長
pnpm config set fetch-retry-factor 2
# ネットワークタイムアウトを設定
pnpm config set network-timeout 60000
SSHキー管理
keychain
ツールを使用してSSHおよびGPGキーのエージェントを一元管理し、一度のアンロックで複数セッション間で共有できます。
# keychainのインストール
# Debian/Ubuntu
sudo apt install keychain
# CentOS/RHEL
sudo dnf install keychain
自動読み込みを有効にするには、シェルの初期化ファイル(例:.bash_profile
や.profile
)を編集し、以下を追加します(鍵のパスは適宜調整してください):
# keychainでSSHとGPGキーを管理
if command -v keychain > /dev/null; then
eval $(keychain --quiet --eval ~/.ssh/id_rsa)
fi
# 署名や暗号化にGPGを使う場合も一括管理可能:
eval $(keychain --quiet --eval ~/.ssh/id_rsa GPG_KEY_EMAIL@DOMAIN.COM)
--quiet
オプションでログイン時のメッセージ(例:* Found existing ssh-agent: 1996
)を抑制でき、運用環境での静かな動作に適しています。GPG_KEY_EMAIL@DOMAIN.COM
はご自身のGPG鍵に紐付いたメールアドレスに置き換えてください。
初回ログイン時に秘密鍵のパスワード入力が求められますが、以降は新しいターミナルやSSHセッションでも既にアンロックされたエージェントが自動的に再利用されます。複数のシェル間で同じ鍵を共有でき、パスワードの再入力は不要です。
この記事を楽しみましたか?
次におすすめの記事はこちら: