はじめに
- 2017/12にAmazon Linux 2が発表されました。本記事執筆時点の2018/3/1ではまだRC版ではありますが、来たる正式発表の前にまとめようと思い、Amazon Linux 2のFAQページを翻訳しました。
注目すべきポイント
まず、現行Amazon Linuxの運用者が注目すべきポイントをまとめます。
- Amazon Linux 2ではsystemdがサポートされます。また、Extras(amazon-linux-extras)という独自のパッケージ管理システムが導入されます。AmazonはこのExtrasパッケージ管理システムを推奨するため、運用者はsystemdおよびExtrasシステムで稼働するようにシステムを移行しなければなりません。
- 現行のAmazon Linuxは2017.09版のAMIが最終リリースとなりますが、セキュリティパッチは2年間アップデートされ続けます。逆に言うと、Amazon Linux 2への移行猶予は2年しか残されていません。
ここまででざっくり理解できた人は、以降を読む必要はありません。
それでは翻訳に進みます。
一般的な質問
Q. Amazon Linux 2とは何ですか?
- Amazon Linux 2は、次世代Amazon Linuxオペレーティングシステムで、Linuxコミュニティの最新機能を含むモダンアプリケーション環境や長期サポートを提供します。
- AMIおよびコンテナimageに加え、Amazon Linux 2は、VMイメージをオンプレ上で開発/検証できるため、ローカル開発環境からアプリケーションを簡単に開発、テスト、認証することができます。
注意:Amazon Linux 2は現在、LTSのリリース候補として利用可能です。 長期サポートは、後で発表される最終的なLTSビルドにのみ適用されます。 詳細は、長期サポートセクションを参照してください。
Q. Amazon Linux 2を使用する利点は何ですか?
- 現行Amazon Linuxと同様に、Amazon Linux 2は最新EC2インスタンス機能をサポートし、AWSとのIntegrationを容易にするパッケージを含んでいます。
- Amazon Linux 2は、最新かつチューニングされたLinuxカーネルバージョンで使用するEC2に最適化されています。その結果、Amazon Linux 2では、多くの顧客ワークロードが改善されます。
- Amazon Linux 2は、セキュリティと継続的なメンテナンスとアップデートにより、5年間の長期サポートを提供します。
- Amazon Linux 2はオンプレミスで使用でき、開発者がローカル環境からアプリケーションを簡単に作成してテストできます。
Q. Amazon Linux 2ではどういったワークロードやユースケースがサポートされていますか?
- Amazon Linux 2は、Web/デスクトップアプリケーション、オープンソース、データベース運用、データ分析、ビジネスアプリケーションなど、さまざまな仮想化およびコンテナベースのワークロードに適しています。
- しかし、Amazon Linux 2では、ベアメタルハードウェア(PC、ラップトップを含む)での直接実行はサポートされていません。
Q. Amazon Linux 2のコアコンポーネントは何ですか?
Amazon Linux 2のイメージは、次のもので構成されています。
- systemdのサポート、より新しいバージョンのglibc、toolchain(gccとbinutils)、およびパフォーマンスとセキュリティ向上のためのコアパッケージセット、を含むベースイメージ。
- EC2のパフォーマンス向上のためにチューニングされた最新のLTSカーネル(4.9)。
- ソフトウェアパッケージ(Python、Node.jsなど)追加用のAmazon Linux Extrasリポジトリ(amazon-linux-extras)
Q. Amazon Linux 2は現行バージョンとどのように異なっていますか?
Amazon Linux 2には、現行バージョンと4つの大きな違いがあります。
- Amazon Linux 2は長期的なサポートを提供します。
- オンプレミスの開発/検証のためのVMイメージとして利用できます。
- System V initシステムとは対照的に、systemdとsystems managerが含まれており、新しいバージョンのコンパイラツールとビルドツールも含まれています。
- OSのLTSの安定性に影響を与えることなく、Extrasのメカニズムを介して追加ソフトウェアパッケージをインストールする機能を提供します。(amazon-linux-extras)
Q. Amazon Linux 2をAWSで使用するにはどうしたらいいですか?
- Amazon Linux 2用のAMIを、EC2コンソール、AWS SDK、およびCLIから、インスタンス起動時に使用できます。詳細については、Amazon Linuxのマニュアルを参照してください。
Q. EC2でAmazon Linux 2を実行すると、費用はかかりますか?
- いいえ、Amazon Linux 2を実行するための追加料金はかかりません。AWSの料金は、EC2インスタンスおよびその他のサービスの実行時に適用されます。
Q. Amazon Linux 2はどのEC2インスタンスtypeをサポートしますか?
- Amazon Linux 2は、HVM AMIのすべてのEC2をサポートします。 これには、最新のバージョンのEC2インスタンスtypeがすべて含まれます。 PV AMIを必要とする古い世代のインスタンスは、Amazon Linux 2ではサポートされません。
Q. Amazon Linux 2は32ビットアプリケーションをサポートしますか?
- Amazon Linux 2は64ビットアプリケーションのみを実行できます。 32ビットのバイナリはAmazon Linux 2では動作しません。
長期サポート
Q. Amazon Linux 2の長期サポートには何が含まれていますか?
Amazon Linux 2 LTSビルドの長期サポートには、次の2つの主要コンポーネントが含まれます。
- 5年間、Amazon Linux 2のセキュリティアップデートとバグ修正を提供します。
- 5年間、ユーザー空間アプリケーションバイナリインターフェイス(ABI)と、アプリケーションプログラミングインターフェイス(API)の互換性をメンテナンスします。
Q. Amazon Linux 2(2017.12)は正式なLTSビルドですか?
- いいえ、Amazon Linux 2(2017.12)は、Amazon Linux 2の最初のLTSビルド候補です。
- 5年間サポートされる正式なLTSビルドを発表する前に、今後数週間、私たちは顧客および広範囲のコミュニティと協力して、フィードバックを得ます。
- AWS代理店またはAmazon Linux Discussion Forumを通じて直接フィードバックを提供することもできます。
Q. LTSビルド候補はAWSによってサポートされていますか?
はい、Amazon Linux 2のLTSビルド候補(2017.12)はAWSでサポートされています。 ただし、注意すべき3つの重要な点があります。
- 5年間の長期サポートは、最終的なLTSビルド(後の発表予定)にのみ適用されます。
- 現在のビルドと最終LTSビルドの間に、顧客のフィードバックに基づいて急激な変更を入れる可能性があります。
- LTSビルド候補は公式のLTSビルドが発表された後、サポートしません。
Q. Amazon Linux 2はkernel空間ABIとの互換性を維持していますか?
- いいえ、Amazon Linux 2はkernel空間ABI互換性を維持しません。upstreamのLinuxカーネルにABIの安定性を損なう変更がある場合、サードパーティ製のカーネルドライバに依存するアプリケーションには、追加の変更が必要な場合があります。
オンプレミスでの使用
Q. オンプレミスのどの仮想化ソリューションが、Amazon Linux 2と互換性がありますか?
- Amazon Linux 2のVMイメージは、現在VMware、Microsoft Hyper-V、およびOracle VM VirtualBoxで開発/テスト用途として使用できます。 AWSは、LTSビルドのために、これらのハイパーバイザーのcertificationを追求するつもりです。
Q.ローカル開発環境でAmazon Linux 2 VMイメージを使用するにはどうしたらいいですか?
- サポートされている各ハイパーバイザーのVMイメージをダウンロードできます。 イメージをダウンロードした後は、Amazon Linuxのドキュメントに従ってください。
Q. Amazon Linux 2をオンプレミスで稼働させる場合、コストはかかりますか?
- いいえ、Amazon Linux 2をオンプレミスを実行するのに追加料金は発生しません。
Q. Amazon Linux 2を実行するための最小システム要件は何ですか?
- Amazon Linux 2は64ビットのゲスト専用オペレーティングシステムであり、512 MBのメモリが、VMインスタンスを実行するための最小システム要件です。
Amazon Linux Extras Repository
Q. Amazon Linux Extrasとは何ですか?
- Extrasは、Amazon Linux 2で導入された新しいメカニズムであり、stableなAmazon Linux 2上で完全にサポートされた方法で最新バージョンのアプリケーションソフトウェアを使用できるようにします。
- Extrasは、OSの安定性と新しいバージョンのソフトウェアの間の歩み寄りを緩和するのに役立ちます。たとえば、OSが安定していることが保証された状態で、新しいバージョンのPythonをインストールすることができます。
- Extrasの例としては、Python 3.6、Ansible 2.4.2、memcached 1.5、nginx 1.12、PostgreSQL 9.6、MariaDB 10.2、Go 1.9、Redis 4.0、R 3.4、Rust 1.22.1などがあります。
Q. Amazon Linux Extrasはどのように動きますか?
- Extrasでは、ソフトウェアバンドルを選択するための、トピックの概念が導入されています。
(追記: ソフトウェア群のことをトピックを呼びます。例えば、ランタイム、パッケージ管理、ビルドなどをまとめたもので、利用可能なトピックの一覧は amazon-linux-extras list、中身の詳細はamazon-linux-extras info TOPICで確認できます) - 各トピックには、ソフトウェアがAmazon Linux 2にインストールされて動くために必要なすべての依存関係が含まれています。たとえば、RustはExtrasトピックで、Amazonによってキュレートされたリストです。そしてそれはシステムプログラミング言語であるRustのtoolchainとruntimesを提供します。
- このトピックには、Rustのcmake build system、cargo(the rust package manager)およびRustのLLVMベースのコンパイラtoolchainが含まれます。
- 各トピックに関連付けられたパッケージは、よく知られているyumインストールプロセスを介します。
Q. Amazon Linux Extrasトピックはyumリポジトリで利用できるパッケージとどのように異なるのですか?
- Yellowdog Updater Modified(YUM)は、RPMパッケージのパッケージ管理のためのユーティリティです。
- Amazon Linux 2の基本イメージには、yumリポジトリへのアクセスが含まれていて、リポジトリにはインストール可能なpopularなパッケージの安定版が入っています。これらのパッケージは、Amazon Linux 2の長期的なサポートの一部です。
- ただし、新しいソフトウェアパッケージ、または"既存ソフトウェアパッケージかつAmazon Linux 2に含まれていない新しいバージョン”が必要な場合、Extrasは、これらのパッケージをサポートされた方法でインストールする方法を提供します。
- Extrasの本質は簡単なメカニズムで、選択されたトピック(ソフトウェア群)に対して、AWSがキュレートするパッケージセットのyumを指します。
Q. Amazon Linux Extrasリポジトリからソフトウェアパッケージをインストールするにはどうすればよいですか?
- 利用可能なパッケージはamazon-linux-extrasコマンドで一覧表示できます。
- パッケージは "sudo amazon-linux-extras install "コマンドでインストールすることができます。
例:
$ sudo amazon-linux-extras install rust1
Amazon Linux Extrasを使い始める方法の詳細については、Amazon Linuxのマニュアルを参照してください。
リリース、サービス、およびサポート
Q. Amazon Linux 2は追加のポイントリリースを提供しますか?
- AWSは、Amazon Linux 2のセキュリティアップデートとバグ修正を継続的に提供します。これらのポイントリリースは、既存のAmazon Linux命名規則のYYYY.MMに従います。(YYYYは年を表し、MMはリリースの月を表します)
Q. AWSはAmazon Linux 2のすべてのminor/pointリリースのアップデートを提供しますか?
- AWSは、Amazon Linux 2の最新のポイントリリースにのみセキュリティアップデートを提供します。
- 同様に、新機能および拡張機能は最新のポイントリリースでのみサポートされます。したがって、最新バージョンのAmazon Linux 2が2018.03の場合、新しい機能は2018.03以降のリリースでのみ使用可能になります。
Q. Amazon Linux 2の最新のポイントリリースにアップグレードしていない場合は、どのようにしてセキュリティアップデートを入手できますか?
- Amazon Linux 2の最新のポイントリリース用にリリースされたセキュリティアップデートは、正規のセキュリティアップデートチャネルを通じて、Amazon Linux 2の古いポイントリリースでも使用できるようになります。
- 最新のポイントリリースではない場合でも、 セキュリティアップデートを入手することができます。ただし、これらの更新により、古いポイントリリースには存在しない追加の依存関係が引き出され、実行中のアプリケーションに影響を与える可能性があります。したがって、常に最新のポイントリリースで実行することを強くお勧めします。
Q. Amazon Linux 2のアップデートはどこで入手できますか?
- Amazon Linux 2のアップデートは、各AWS地域でホストされている(予め設定された)リポジトリを介して提供されます。
- セキュリティアップデートは、最初の起動時に自動的に適用されます。また、インスタンスの起動時の重要なセキュリティパッチの自動インストールを有効or無効にすることもできます。
Q. Amazon Linux 2ではどのようなサポートオプションが利用できますか?
- EC2およびECS上でのAmazon Linux 2(Extrasをサポートするベースイメージ)のインストールおよび使用は、AWSサポートに含まれています。詳細については、AWSサポートWebページをご覧ください。
- しかしながら、AWSサポートはAmazon Linux 2のオンプレミスでの使用についてはカバーしていません。
- Amazon Linux 2 forumsを通したコミュニティサポートは、オンプレミス使用に起因する問題解決や質問への回答のための主要なサポートソースです。
- Amazon Linux 2 forumsと技術ドキュメントを見ることで、Amazon Linux 2のVMとコンテナを稼働(起動しネットワークに接続)させ、OSを設定し、アプリケーションをインストールするためのヘルプを得ることができます。
- Amazon Linux 2のイメージや機能に関する質問を投稿したり、バグを報告したり、機能リクエストをAmazon Linux 2 forumsに投稿することもできます。
- 加えて、EC2インフラストラクチャの問題については、EC2/ECS Discussion forumを使用することもできます。
ISVのサポート
Q. Amazon Linux 2で動作するサードパーティのアプリケーションはどれですか?
- Amazon Linux 2には、独立系ソフトウェアベンダー(ISV)を含むAPNパートナーズコミュニティが急速に拡大しています。多くのパートナーが現在、Amazon Linux 2で動作するようにアプリケーションをテストしています。サポートされているISVアプリケーションの完全なリストは、今後数週間後に公開予定です。
現行Amazon Linuxの既存のAMI(2017.09)のサポート
Q. Amazon Linux 2のリリースにより、Amazon LinuxのAMI(2017.09)の既存のバージョンに変更はありますか?
- Amazon Linux 2がリリースされたことで、Amazon Linux用の2017.09 AMIリリースとコンテナイメージが、現世代のAmazon Linuxの最終リリースとなることを発表します。今後、AWSは、Amazon Linux 2の新しいバージョンのみを提供します。
Q. AWSは現行バージョンのAmazon Linuxをサポートしますか?
- はい、既存のアプリケーションを停止せず、Amazon Linux 2への移行を容易にするために、AWSは、最終LTSビルドが発表されてからAmazon Linux 2017.09 AMIおよびコンテナイメージの定期的なセキュリティアップデートを2年間提供します。
- また、AWSプレミアムサポートやAmazon Linux Discussion Forumなどの既存のサポートチャネルの全てにおいて、サポートリクエストを引き続き使用することができます。
Q. Amazon Linux 2は、Amazon Linuxの既存のバージョンと下位互換性がありますか?
- Amazon Linux 2にはsystemdのような新しいコンポーネントが含まれているため、現行バージョンのAmazon Linuxで動作するアプリケーションに対して、Amazon Linux 2で動くための追加の変更が必要になることがあります。
Q. 現行バージョンのAmazon LinuxをAmazon Linux 2にインプレースアップグレードすることはできますか?
いいえ。現行Amazon LinuxイメージからAmazon Linux 2へのインプレースアップグレードはサポートしていません。移行する前に、まずAmazon Linux 2を新規インストールし、アプリケーションをテストすることをお勧めします。
Q. AWSは、現在のAmazon Linuxインスタンスにローリングアップグレードを実行してAmazon Linux 2にアップグレードしますか?
- いいえ、Amazon Linuxを実行しているインスタンスは、ローリングアップグレードを使用してAmazon Linux 2にアップグレードはしません。したがって、既存のアプリケーションに支障はありません。詳細については、Amazon Linuxのマニュアルおよび移行ツールを参照してください。
ー翻訳ここまでー
所感
- 2年でセキュリティパッチのサポートが止まるのと、systemdへの移行は検証に相当な時間がかかると思われるので、最終LTSが発表後、移行の準備を少しずつ進める必要がありそう。
- Extrasシステムは単純な仕組みなので使い方に抵抗はなさそうだが、
amazon-linux-extras
をDockerfileとかに書き始めたら、ベンダーロックになるのでは…