メニュー
Amazon EC2 Systems Manager
ユーザーガイド

Automation コンソールのチュートリアル: Linux AMI にパッチを適用する

この Systems Manager Automation のチュートリアルでは、Amazon EC2 コンソールと Systems Manager AWS-UpdateLinuxAmi ドキュメントを使用して Linux AMI に自動的にパッチを適用する方法を示します。このチュートリアルを使用して、Ubuntu、CentOS、RHEL、Amazon Linux AMI の以下の Linux バージョンを更新できます。AWS-UpdateLinuxAmi ドキュメントは、その他のサイト固有のパッケージと設定のインストールも自動化します。

このチュートリアルでは、AWS-UpdateLinuxAmi ドキュメントのパラメータをランタイムに指定する方法を説明します。Automation にステップを追加するか、デフォルト値を指定する場合は、AWS-UpdateLinuxAmi ドキュメントをテンプレートとして使用できます。

Systems Manager ドキュメントの使用の詳細については、「Systems Manager ドキュメント」を参照してください。ドキュメントに追加できるアクションについては、「Systems Manager Automation アクション」を参照してください。

AWS-UpdateLinuxAmi ドキュメントを実行すると、Automation は以下のタスクを実行します。

  1. Linux AMI から一時 Amazon EC2 インスタンスを起動します。このインスタンスに設定されているユーザデータスクリプトで SSM エージェントがインストールされます。SSM エージェントは、Systems Manager の Run Command からリモート送信されたスクリプトを実行します。

  2. 以下のアクションを実行してインスタンスを更新します。

    1. インスタンスでユーザー提供の更新前のスクリプトを起動します。

    2. インスタンスの AWS ツールを更新します (ツールがある場合)。

    3. ネイティブパッケージマネージャを使用してインスタンスのディストリビューションパッケージを更新します。

    4. インスタンスでユーザー提供の更新後のスクリプトを起動します。

  3. 一時インスタンスを停止します。

  4. 停止したインスタンスから新しい AMI を作成します。

  5. インスタンスを終了します。

このワークフローが Automation で正常に完了すると、Amazon EC2 コンソールの AMI ページで新しい AMI が利用可能になります。

重要

Automation を使用してインスタンスから AMI を作成すると、インスタンスの認証情報、パスワード、データ、その他の機密情報が新しいイメージに記録されることに注意してください。インスタンスから AMI を作成する場合は注意が必要です。

Automation を開始する際に、以下の制限に注意してください。

  • Automation は、リソースのクリーンアップを実行しません。サンプルワークフローの最後のインスタンス終了ステップに達する前にワークフローが停止した場合、インスタンスを手動で停止するか、Automation ワークフロー中に開始されたサービスを無効にする必要があります。

  • Automation でユーザーデータを使用する場合、ユーザーデータが base-64 エンコードである必要があります。

  • Automation は、実行レコードを 30 日間保持します。

  • Systems Manager および Automation には、次のサービス制限があります。

開始する前に

AWS Identity and Access Management (IAM) インスタンスプロファイルのロールおよび自動化サービスロール (またはロールの継承) を作成します。これらのロールについて、および AWS CloudFormation テンプレートから簡単にこのロールを作成する方法についての詳細は、「方法 1: AWS CloudFormation を使用して、Automation のロールを設定」を参照してください。

開始する前に以下の情報を用意しておくことも推奨されます。

  • 更新する AMI のソース ID。

  • (オプション) 更新の適用前に実行するスクリプトの URL。

  • (オプション) 更新の適用後に実行するスクリプトの URL。

  • (オプション) 更新する特定のパッケージの名前。デフォルトでは、Automation はすべてのパッケージを更新します。

  • (オプション) 更新から除外する特定のパッケージの名前。

注記

デフォルトでは、Automation が AWS-UpdateLinuxAmi ドキュメントを実行すると、システムはデフォルト VPC (172.30.0.0/16) に一時インスタンスを作成します。デフォルト VPC を削除した場合、次のエラーが発生します。

VPC not defined 400

この問題を解決するには、AWS-UpdateLinuxAmi ドキュメントのコピーを作成し、サブネット ID を指定する必要があります。詳細については、「VPC not defined 400」を参照してください。

Automation を使用して パッチを適用した AMI を作成するには

  1. Amazon EC2 コンソールを開き、ナビゲーションペインの [Systems Manager Services] を展開し、[Automations] を選択します。

  2. [Run automation] を選択します。

  3. [Document name] リストで、[AWS-UpdateLinuxAmi] を選択します。

  4. [Version] リストで、[1] を選択します。

  5. [パラメータ入力] セクションでは、開始する前にセクションで用意した情報を入力します。

  6. [Run automation] を選択します。Automation 実行 ID が表示されます。[OK] を選択します。

  7. 実行リストで、先ほど開始した実行を選択し、[Steps] タブを選択します。このタブには、ワークフローアクションのステータスが表示されます。更新プロセスは完了までに 30 分以上かかる場合があります。

ワークフローが終了したら、更新した AMI からテストインスタンスを起動して、変更を確認します。

注記

ワークフローのいずれかのステップが失敗した場合は、失敗に関する情報が [Automation Executions] ページに表示されます。ワークフローは、すべてのタスクを正常に完了すると、一時インスタンスを削除するように設計されています。失敗したステップがあると、システムはインスタンスを終了できない場合があります。失敗したステップがある場合は、一時インスタンスを手動で終了します。