Amazon EMR にデフォルトの Amazon Linux AMI を使用する - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EMR にデフォルトの Amazon Linux AMI を使用する

カスタム AMI を指定しない限り、各 Amazon EMR リリースバージョンでは Amazon EMR 用のデフォルトの Amazon Linux AMI が使用されます。デフォルトの AMI は、最も多くの AMI に基づいています。 up-to-date Amazon Linux AMI は、Amazon EMR のリリース時に提供されています。AMI とビッグデータアプリケーション、およびリリースバージョンに含まれている Amazon EMR の機能の互換性はテストされています。

各 Amazon EMR リリースバージョンは、互換性を保つために Amazon Linux AMI バージョンに「ロック」されています。つまり、より新しい Amazon Linux AMI が使用できるようになっても Amazon EMR リリースバージョンで同じ Amazon Linux AMI バージョンが使用されます。そのため、互換性を確保するために以前のバージョンが必要で移行できない場合を除いて、最新の Amazon EMR リリースバージョンを使用することをお勧めします。

互換性を確保するために以前の Amazon EMR リリースバージョンを使用する必要がある場合は、そのシリーズの最新のリリースを使用することをお勧めします。たとえば、5.12 シリーズを使用する必要がある場合は、5.12.0 や 5.12.1 ではなく 5.12.2 を使用します。シリーズで新しいリリースが使用可能になった場合は、新しいリリースへのアプリケーションの移行を検討してください。

ソフトウェア更新の管理方法

注意すべきデフォルトのソフトウェア更新動作を以下に示します。

  • デフォルトのブート動作はカーネルの更新を除外します。Amazon EMR 用のデフォルトの Amazon Linux AMI に基づくクラスターの Amazon EC2 インスタンスを初めて起動すると、Amazon Linux と Amazon EMR で使用できる、その AMI バージョンに適用されるソフトウェア更新用のパッケージリポジトリがチェックされます。他の Amazon EC2 インスタンスと同じように、これらのリポジトリから緊急および重要なセキュリティ更新プログラムが自動的にインストールされます。ただし、Amazon Linux AMI の古いバージョンを使用している場合は、最新のセキュリティ更新プログラムが自動的にインストールされない場合があります。これは、EMR によって参照されるリポジトリが Amazon Linux AMI の各バージョンで修正されているためです。また、ネットワーク設定では、Simple Storage Service (Amazon S3) の Amazon Linux リポジトリへの HTTP および HTTPS の出力が許可されている必要があります。そうしないと、セキュリティ更新は成功しません。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「パッケージリポジトリ」を参照してください。デフォルトでは、NVIDIA や CUDA など、再起動が必要な他のソフトウェアパッケージおよびカーネルの更新は、初回起動時に自動ダウンロードから除外されます。

    重要

    Amazon Linux AMI または Amazon Linux 2 AMI (Amazon Linux マシンイメージ) を実行している Amazon EMR クラスターは、デフォルトの Amazon Linux 動作を使用します。再起動が必要な重要なカーネル更新が自動的にダウンロードされてインストールされることはありません。これは、デフォルトの Amazon Linux AMI を実行している他の Amazon EC2 インスタンスと同じ動作です。Amazon EMR バージョンのリリース後に、再起動が必要な新しい Amazon Linux ソフトウェア更新 (カーネル、NVIDIA、CUDA の更新など) が使用可能になった場合、デフォルトの AMI を実行する Amazon EMR クラスターインスタンスで、それらの更新が自動的にダウンロードされてインストールされることはありません。カーネルの更新を取得するために、Amazon EMR AMI をカスタマイズして、最新の Amazon Linux AMI を使用できます。

  • 更新の有無にかかわらず、クラスターは起動します。最初のクラスター起動時にパッケージリポジトリに到達できないためにソフトウェアの更新をインストールできない場合でも、クラスターインスタンスの起動は完了することに注意してください。例えば、S3 が一時的に利用できないためにリポジトリに到達できない場合や、アクセスをブロックするように VPC またはファイアウォールルールが設定されている可能性があります。

  • sudo yum update を実行しないでください。SSH を使用してクラスターインスタンスに接続すると、画面出力の最初の数行にインスタンスが使用する Amazon Linux AMI のリリースノートのリンク、最新の Amazon Linux AMI バージョンに関する通知、更新に使用可能なリポジトリのパッケージ数に関する通知、および sudo yum update の実行指示が示されます。

重要

SSH またはブートストラップアクションを使用して接続しているときは、クラスターインスタンスで sudo yum update を実行しないことを強くお勧めします。実行するとすべてのパッケージが無差別にインストールされ、互換性がなくなる可能性があります。

ソフトウェア更新の管理に関するベストプラクティス

  • 以前の Amazon EMR リリースバージョンを使用している場合は、ソフトウェアパッケージを更新する前に最新のリリースへの移行を検討してテストします。

  • 新しいリリースバージョンに移行するかソフトウェアパッケージをアップグレードする場合は、最初に本番稼働環境以外で実装をテストします。そのときには、Amazon EMR コンソールを使用してクラスターのクローンを作成するオプションが役に立ちます。

  • アプリケーションと使用する Amazon Linux AMI バージョンのソフトウェア更新を個別に評価します。本番稼働環境では、セキュリティ体制、アプリケーション機能、またはパフォーマンスの向上のために絶対に必要であると判断したパッケージだけをテストしてインストールします。

  • Amazon Linux Security Center で更新を確認します。

  • SSH を使用して各クラスターインスタンスに接続することでパッケージのインストールを回避します。その代わりにブートストラップアクションを使用し、必要に応じてすべてのクラスターインスタンスでパッケージのインストールと更新を行います。そのためには、クラスターを終了して再起動する必要があります。詳細については、「追加のソフトウェアをインストールするためのブートストラップアクションの作成」を参照してください。