「Amazon Linux」と「CentOS」の違いについて。Linux系サーバーOSとは?採用するならどっち?

「サーバーOS」とは?

そもそも「サーバーOS」とは何のことでしょうか?改めて確認しておきましょう。

サーバーOSというのは、文字通りサーバー専用に開発され、サーバーを機能させるために運用させるためのOSのことです。一般的なPCとは異なり、サーバーはオンプレミスでもクラウドでも、不特定多数のユーザーからアクセスされることが前提とされています。そのような大量のアクセス=同時接続が可能なようにシステムを統制し、安定した稼働が実現できるような機能を備えているのがサーバーOSです。また、不特定多数ユーザーからの同時アクセスがあったとしてもトラブルが起きないようにセキュリティ対策を取ることができるような機能も備えており、システム全体の耐久性という観点でも一般向けPC用のOSとは異なる構成になっています。

AWSでサーバーを構築しようとする場合はサーバーOSのインストールと設定が必要になりますが、コンシューマー向けPC用OSとは異なり、OSによってはグラフィカルユーザーインターフェース=GUIを持たないサーバーOSも存在しています。コンシューマーPC用OSの場合は用途がサーバーとは異なるため、視認性や操作性が良いことが求められます。しかしサーバーOSの場合、一般的な理解としては常に担当者がサーバーを操作するわけではないため、画面上の視認性や操作性にあまり重きを置かなくても良いという前提があります。そのため、GUIのように操作性と視認性を両立させるために実装されている機能はサーバーOSには実装されていないこともあり、その代わりにサーバーOSの場合はコマンドなどでサーバー操作を直接行うようになっているものも多くあるのです。

サーバーOSのシェア

一口にサーバーOSとは言っても、世の中には様々なサーバーOSが存在しています。大きく分けるとWindows Server系とUnix・Linux系のサーバーOSという分け方ができますが、特にLinux系のサーバーOSは派生版も含めて種類が多いため、サーバーOSの世界シェアなどを調べた際に表示されるサーバーOSの一覧を見ると、少し混乱するかもしれません。

サーバーOSのシェアで最も大きな割合を占めているのはWindows Serverで、第2位がUnix。そしてLinux系のサーバーOSが続いています。Linux系が複数あるのは、Linuxがオープンソースの無料公開されているOSであるため、提供元が複数存在することが理由です。また、UnixをベースとしてLinuxが生まれたという背景を考えると、世界のサーバーOSはWindows Server系とUnix・Linux系という二系統に分けることができるという考え方も成り立ちます。

いずれにしても、Linux系のサーバーOSは世界シェアでは第2位に位置する勢力であるため、Linuxがオープンソースであることも影響して独立した開発を行い独自のサーバーOSとして採用されていることが非常に多いことが特徴的です。

AWSでサーバーを構築する場合に採用するサーバーOSとして推奨されるのがどのOSになるか、という点についても考えてみましょう。サーバーOSの世界シェア1位であるWindows Serverは「Windows Server2019」と「Windows Server2016」という2つのバージョンがあり、シェア第2位のLinux系サーバーOSでは「Debian」「Ubuntu」「CentOS」、そしてAmazonが独自に開発したディストリビューションである「Amazon Linux」、さらに有償で提供されている「Red Hat」が候補に上がることが多いと思います。

ここで例として上げた中で、AWSの環境で選択されることが比較的多いサーバーOSは自社開発扱いとなる「Amazon Linux」、そして「CentOS」「Ubuntu」の3つです。では、これら3つのサーバーOS中で、どれを選ぶのが良いのでしょうか?

AWSで採用されることが多いサーバーOSそれぞれの特徴

それではAmazon LinuxとCentOS、Ubuntuそれぞれの特徴についてご紹介していきます。

Amazon Linux

Amazon Linuxはその名の通りAmazonが開発・提供しているLinuxベースのサーバーOSで、Red Hat Enterprise LinuxをベースにAmazonが独自開発したLinuxの配布パッケージ=ディストリビューションです。Red Hat Enterprise版をベースにAmazonが自社で開発しているため、AWSとの親和性がバランスよく取られています。そのためAmazonからのサポートを受けやすく、なおかつRed Hatベースで開発されているので、Red Hat系ディストリビューションを扱った経験が豊富なエンジニアであれば扱いが簡単だと言われています。Amazonによる開発が行われているためAWS系の各サービスとも親和性が良いということもAWSユーザーに対して推奨される理由となっています。

RDS や S3 といった、 AWS のサービス群に連なる別のサービスへ接続するためのモジュールも元から組み込まれているため、AWS でサービス全体を運用しようとした場合は、必要な環境が整っているという点が大きな特徴だと言えるでしょう。現在は「Amazon Linux2」というバージョンがリリースされていて、AWS側もAmazon Linux2への以降を推奨・促進しています。バージョンごとのサポート期間も明記されるようになっており、Amazon Linux2のサポート期間は現時点では2023年6月30日までとされていますので、それ以降に新しいバージョンがリリースされると予想している人も多いようです。

CentOS

CentOSは日本国内においては最大シェアを持つLinux系OSです。「CentOS Project」によって開発が進めれているOSで、Amazon Linuxと同様にLinuxベースのサーバーOSです。プロジェクトのスタート時点からRed Hat Enterprise Linuxとの互換性が確保されたLinuxディストリビューションとしての開発であることが公言されており、Red Hat Enterprise LinuxからRed Hat社が所有する商標データなどを取り除いたバージョンとして、ソースコードをオープンソースにした状態で無償公開されています。

このように書かれていると、ベースになっているのはRed Hat Enterprise Linuxではあるものの、中身は別物であるという理解になるかもしれませんが、実際の内部構造などはほぼ同じであると考えても差し支えないものなので、理解する上ではCentOS≒Red Hat Enterprise Linuxだという考え方で問題ないとも言えるでしょう。「ロングタームサポート(LTS)版」と呼ばれる長期サポートが保証されたバージョンの場合だと、メンテナンスの更新期限も10年に設定されています。またセキュリティパッチの更新や配布も年数回行われるため、保安性にも優れているという評価をされています。

特に事業としてレンタルサーバーを運営している企業の場合だと、顧客向けに一定期間以上のサポートを提供する必要があるため、日本国内においてはレンタルサーバー会社の多くがCentOSを採用しているとも言われているため、耐久性と安定性には定評があります。

なお、CentOSの開発当初はRed Hat社は公式にはCentOSの開発に関わってはいませんでしたが、2014年には会社としてCentOSプロジェクトを支援すると公式に表明し、なおかつCentOSプロジェクトのメンバーをRed Hat社に社員として迎えることを発表しました。

Ubuntu

Ubuntuは「誰にでも使いやすいOS」とコンセプトにして開発されているサーバーOSで、Linux系のサーバーOSとしては世界最大のシェアだと言われています。大きな特徴の1つとして、デスクトップ環境として運用できるサーバーOSだということがあげられます。つまり、WindowsやMacOSのような一般的なOSのようにGUIを搭載しており、マウスを使った画面内での操作だけで完結できるような構造になっているためこの点で非常に人気があります。Amazon Linuxにも共通していますが、Linux系サーバーOSは基本的にはキーボードのみでの操作を行うことが多いなかで、インストールも通常の操作も含めて、そのほとんどをGUIを通じたマウス操作のみで行えるという点が高く評価されています。

また、Ubuntu Japanese Teamという有志団体が日本語環境へのローカライズを行っているため、日本語環境で使用することができます。Linux系サーバーOSは通常だと日本語化はされていないため、日本で使用する際には一定のハードルになることが多いのですが、Ubuntuの場合は日本語へのローカライズと並行してWebサイトやフォーラム、メーリングリストなどを通じたUbuntuの日本語コミュニティが形成されているため、使用上で困ったときには気軽に情報収集を行うことが可能です。

Ubuntuもオープンソースになっているので、使用環境に合わせてカスタマイズすることも可能で、様々なカスタマイズ方法がインターネットやUbuntuコミュニティでも公開されています。セキュリティ性も高く、定期的にセキュリティパッチのアップデートが行われるため安定性が保たれていて、外部からの干渉も最大限押さえられるようになっています。またもう一つの特徴として、UbuntuはLiveDVDという形式を使うことでインストールすることなく使用することも可能です。DVDやUSBドライブなどの外部メディアから直接OSを起動することができるという機能を持っているため、緊急時なども含めてフレキシブルな運用が可能になっています。

まとめ:Amazon Linux、CentOS、Ubuntuのどれを選ぶべきか?

ここまで、Amazon LinuxとCentOSという2つのサーバーOSを中心にご紹介してきました。結論としてはAmazon Linux、CentOS、UbuntuというLinux系サーバーOSのうち、どれを選ぶのが良いのでしょうか?端的に言ってしまうと「運用しやすいものを選ぶのが最適」ということになります。AWSを中心とした業務フローを組み上げるのであればAmazon Linuxを選択するのが良いと言えますし、その一方でCentOSもUbuntuもサポート力やカスタマイズ性には高い評価が与えられています。そしてコマンドや設定方法に多少の違いはあるものの、できることはほぼ同じレベルです。また、職場に在籍するエンジニアの得意分野に合わせたほうが業務フローが組みやすく、トラブルが起きる可能性も少ないという考え方もできるでしょう。Amazon Linuxに慣れてきているエンジニアが多い場合はAmazon Linux中心で良いですし、CentOSの方が慣れていて扱いやすいというエンジニアが多い場合はCentOSを選択するのが良いでしょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です