メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

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

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

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 を使用して パッチを適用した AMI を作成するには

  1. 以下の情報を収集します。この情報は、この手順で後ほど指定します。

    • 更新する AMI のソース ID。ソース ID を見つける方法については、「Amazon EC2 コンソールを使用した Linux AMI の検索」を参照してください。

    • インスタンスでアクションを実行するためのアクセス許可を Systems Manager に与える AWS Identity and Access Management (IAM) インスタンスロール。詳細については、「Automation へのアクセスの設定」を参照してください。

    • Systems Manager がアクションを代行するために使用する Automation 用の IAM ロール。これは、 と呼ばれます。詳細については、「Automation へのアクセスの設定」を参照してください。

  2. AWS CLI をローカルマシンにダウンロードします。

  3. 以下のコマンドを実行することで、AWS-UpdateLinuxAmi ドキュメントと Automation ワークフローを実行します。パラメータセクションで、Automation ロール、AMI ソース ID、Amazon EC2 インスタンスロールを指定します。

    Copy
    aws ssm start-automation-execution \ --document-name "AWS-UpdateLinuxAmi" \ --parameters \ "AutomationAssumeRole=arn:aws:iam::1234561213:role/MyAutomationRole, SourceAmiId=ami-e6d5d2f1, InstanceIamRole=MyEc2InstanceRole"

    コマンドによって実行 ID が返されます。この ID をクリップボードにコピーします。この ID を使用して、ワークフローのステータスを表示します。

    Copy
    { "AutomationExecutionId": "ID" }
  4. CLI を使用してワークフローの実行を表示するには、以下のコマンドを実行します。

    Copy
    aws ssm describe-automation-executions
  5. 実行の進捗の詳細を表示するには、以下のコマンドを実行します。

    Copy
    aws ssm get-automation-execution --automation-execution-id ID

    更新プロセスは完了までに 30 分以上かかる場合があります。

    注記

    Amazon EC2 コンソールで、ワークフローのステータスをモニタリングすることもできます。実行リストで、先ほど開始した実行を選択し、[Steps] タブを選択します。このタブには、ワークフローアクションのステータスが表示されます。

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

注記

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