数百台のUbuntuサーバーを集中管理:Canonical Landscape(セルフホスト版)のインストールガイド

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

サーバー台数の急増に伴う管理の悩み

2〜3台のVPSを管理するだけなら、各マシンにSSHでログインしてsudo apt updateを実行するのもまだ「余裕」かもしれません。しかし、その数が20台、50台、あるいは100台に達すると、すべてが制御不能になり始めます。どのマシンにカーネル(kernel)パッチが適用されていないか、どのマシンのディスク容量がいっぱいか、あるいはどのサービスのプロセスが止まっているかを確認するだけで、業務時間のすべてが奪われてしまいます。

私は以前、Ubuntu 22.04で稼働しているステージング環境で苦い経験をしました。たった1つのノードでセキュリティパッチの更新を忘れたために、古い脆弱性を突かれてしまったのです。このような「うっかりミス」を根本的に解決するために、Canonical Landscapeは最適な選択肢です。これはUbuntuの開発元が提供する公式ツールで、大規模な集中管理のために設計されています。

ツールの選択:Landscapeは何が違うのか?

システム管理者は、よく複数の手法の間で迷います。実際にいくつかの方法を試した私の視点を紹介します:

  • SSH + 手動スクリプト: 無料ですが、リスクが非常に高いです。一括コマンド実行時のタイポ(入力ミス)一つで、全サーバーのデータを一瞬で失う可能性があります。
  • Ansible / Terraform: プロビジョニング(構築)には非常に優れています。しかし、コマンドラインを好まない人にとっては、システムの健全性を監視したり、リアルタイムでパッケージを管理したりするための直感的なダッシュボードが不足しています。
  • Canonical Landscape: プロフェッショナルなWebインターフェース(GUI)を提供します。数回のクリックだけで100台のサーバーにアップグレードを指示でき、リソースグラフの監視や、障害発生時の即時アラート通知も可能です。

セルフホスト版のメリットとデメリット

メリット

  • 完璧な互換性: 「純正品」であるため、Ubuntu LTSバージョンを強力にサポートしています。
  • 階層型管理: サーバーをグループ(Web、データベース、メールなど)ごとにまとめ、個別のポリシーを簡単に適用できます。
  • スマートな自動化: アクセスが最も少ない午前2時にセキュリティパッチを自動インストールするようにスケジュール設定が可能です。
  • 詳細なインベントリ: CPUモデルからインストールされている各パッケージのバージョンまで、あらゆるパラメータを把握できます。

デメリット

  • ハードウェア要件: Landscapeは多くの付随サービスを実行するため、安定した動作には最低4GBのRAMが必要です。
  • 無料枠の制限: セルフホスト版では最大10台まで無料で管理できます。それ以上を管理する場合は、Ubuntu Proへの登録が必要です(個人利用は最大5台まで無料、企業利用は有料)。

なぜCloud版ではなくセルフホスト版なのか?

CanonicalのCloud版は非常に便利ですが、ログデータや設定ファイルは彼らのサーバー上に保存されます。絶対的なセキュリティを必要とする企業にとって、社内ネットワーク内にLandscapeサーバーを自前で構築することは、最も安全な選択肢です。この方法なら、インターネット接続のないローカルIP(LAN)環境にあるサーバーも管理できます。

実際のインストール手順

1. リソースの準備

クリーンなUbuntu Server(22.04 LTSを推奨)を用意してください。推奨構成は以下の通りです:

  • CPU: 2コア以上。
  • RAM: 4GB – 8GB(LandscapeはPostgreSQL、RabbitMQ、Apacheのスタック全体を動かすため、メモリを多く消費します)。
  • Disk: 40GB SSD。
  • Domain: サーバーIPを指すサブドメイン(例:landscape.lab.com)。

2. Landscape Serverのインストール(クイックスタート)

各サービスを手動で設定する手間を省くため、landscape-server-quickstartパッケージを使用します。

# リポジトリの更新
sudo apt update && sudo apt upgrade -y

# Landscapeの公式PPAを追加
sudo add-apt-repository ppa:landscape/19.10 -y
sudo apt update

# クイックスタートパッケージのインストール
sudo apt install landscape-server-quickstart -y

インストール中に、メール設定(Postfix)を求められます。**”Internet Site”**を選択し、自身のドメインを入力してください。このステップは、サーバーに異常が発生した際にメールで緊急通知を受け取るために重要です。

3. 管理アカウントの作成

インストール完了後、ダッシュボードにログインするためのユーザーを作成する必要があります:

sudo lsctl make-user --admin --email="[email protected]" --password="StrongPassword123" --name="SuperAdmin"

ブラウザを開き、https://your-domain.comにアクセスします。自己署名証明書(Self-signed certificate)を使用しているため、**「詳細設定」->「…にアクセスする」**をクリックして管理画面に進んでください。

4. クライアントサーバーの接続(Landscape Client)

管理したい各Ubuntuサーバーに、Landscape Clientをインストールして「中央報告」を行うように設定します:

sudo apt update
sudo apt install landscape-client -y

次に、中央サーバーにマシンを登録するコマンドを実行します:

sudo landscape-config --computer-title "App-Server-01" --account-name standalone --url https://landscape.yourdomain.com/message-system --ping-url http://landscape.yourdomain.com/ping

データの送信権限を求められます。デフォルト設定に同意するため、**Enter**キーを押してください。

5. ダッシュボードでのサーバー承認

セキュリティ確保のため、新しいサーバーはすぐには表示されません。以下の操作を行ってください:

  1. LandscapeのWeb管理画面にログインします。
  2. 左メニューの**”Pending Computers”**をクリックします。
  3. サーバー名を確認し、チェックを入れて**”Accept”**を押します。

これで、RAM、CPU、ディスク容量、および不足しているセキュリティパッチの一覧など、すべてのパラメータが完全に表示されます。

実践的なアドバイス:よくあるエラー

クライアントが接続できない典型的な問題は、**時刻のズレ(Time Drift)**です。Landscapeは厳格なSSL認証を使用しているため、クライアントの時刻がサーバーから5分以上ズレていると、登録が拒否されます。すべてのマシンにchronyをインストールし、時刻を正確に同期させておくことをお勧めします。

また、よりプロフェッショナルに運用したい場合は、Let’s Encryptを使用してダッシュボードに正規のSSL証明書を導入しましょう。これにより、ブラウザの不快なセキュリティ警告がなくなり、管理データの転送の安全性も向上します。

最後に

Canonical Landscapeを自前で構築したことで、大量のサーバー管理を一つの画面で完結できるようになりました。月曜日の午前中を丸々使って各マシンをチェックする代わりに、ダッシュボードを5分眺めるだけでシステムが正常かどうかを判断できます。Linuxシステムの運用プロセスをアップグレードしたいなら、欠かせないツールと言えるでしょう。

Share: