Distributor パッケージにバージョンを追加する - AWS Systems Manager

Distributor パッケージにバージョンを追加する

パッケージバージョンを追加するには、パッケージを作成し、Distributor を使用して、以前のバージョン用にすでに存在する AWS Systems Manager (SSM) ドキュメントにエントリを追加してパッケージバージョンを追加します。Distributor は AWS Systems Manager の一機能です。時間を節約するために、パッケージの古いバージョンのマニフェストを更新し、マニフェストの version エントリの値を変更し (例: Test_1.0 から Test_2.0)、新しいバージョン用のマニフェストとして保存します。Distributor コンソールの simple ワークフロー [Add version (バージョンの追加)] では、マニフェストファイルを更新します。

新しいパッケージバージョンは以下のことができます。

  • 現在のバージョンにアタッチされているインストール可能なファイルのうち、1 つ以上を置き換えます。

  • 追加のプラットフォームをサポートする、新しいインストール可能ファイルを追加します。

  • 特定のプラットフォームのサポートを中止するためにファイルを削除します。

新しいバージョンでは、同じ Amazon Simple Storage Service (Amazon S3) バケットを使用できますが、最後に異なるファイル名の URL を指定する必要があります。Systems Manager コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、新しいバージョンを追加できます。Amazon S3 バケット内の既存のインストール可能ファイルと同じ名前のインストール可能ファイルをアップロードすると、既存のファイルが上書きされます。古いバージョンから新しいバージョンにインストール可能なファイルはコピーされません。 古いバージョンからインストール可能なファイルをアップロードして、新しいバージョンの一部にする必要があります。Distributor で新しいパッケージバージョンの作成が完了したら、Distributor はバージョン管理プロセスの一環としてソフトウェアを内部 Systems Manager バケットにコピーするため、Amazon S3 バケットを削除または再利用できます。

注記

各パッケージの最大バージョン数は 25 個に制限されています。不要になったバージョンは削除できます。

コンソールを使用してパッケージバージョンを追加する

これらのステップを実行する前に「Distributor でパッケージを作成する」の手順どおりに操作を行ってそのバージョンの新しいパッケージを作成します。次に、Systems Manager コンソールを使用して、新しいパッケージバージョンを Distributor に追加します。

シンプルワークフローを使用したパッケージバージョンの追加

[Simple] ワークフローを使用してパッケージバージョンを追加するには、多くのプラットフォームとアーキテクチャをサポートできるように、更新されたインストール可能ファイルを準備するか、インストール可能ファイルを追加します。次に、Distributor を使用して、更新後の新しいインストール可能ファイルをアップロードし、パッケージバージョンを追加します。Distributor コンソールの簡略化された [Add version] ワークフローにより、マニフェストファイルと、関連する SSM ドキュメントが更新されます。

シンプルワークフローを使用してパッケージバージョンを追加するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Distributor] を選択します。

  3. Distributor のホームページで、他のバージョンを追加するパッケージを選択します。

  4. [Add version] ページで、[Simple] を選択します。

  5. [バージョン名] に、バージョン名を入力します。新しいバージョンのバージョン名は、古いバージョン名と異なる必要があります。バージョン名は最大 512 文字で、特殊文字を含めることはできません。

  6. [S3 バケット名] で、リストから既存の S3 バケットを選択します。これは、古いバージョンのインストール可能ファイルを保存するために使用したものと同じバケットである場合がありますが、バケット内の既存のインストール可能ファイルが上書きされないように、インストール可能ファイル名は別の名前になっている必要があります。

  7. [S3 キープレフィックス] で、インストール可能なアセットが保存されているバケットのサブフォルダを入力します。

  8. [Upload software (ソフトウェアのアップロード)] で、新しいバージョンにアタッチするインストール可能なソフトウェアファイルにナビゲートします。既存のバージョンからインストール可能なファイルは、新しいバージョンに自動的にコピーされません。インストール可能な同じファイルのいずれかを新しいバージョンの一部にする場合は、パッケージの古いバージョンのインストール可能ファイルをアップロードする必要があります。1 回のアクションで複数のソフトウェアファイルをアップロードできます。

  9. [Target platform (ターゲットプラットフォーム)] で、インストール可能な各ファイルに表示されるターゲットオペレーティングシステムプラットフォームが正しいことを確認します。表示されているオペレーティングシステムが正しくない場合は、ドロップダウンリストから正しいオペレーティングシステムを選択します。

    [Simple] バージョニングワークフローでは、各インストール可能ファイルを 1 回だけアップロードするため、複数のオペレーティングシステムで 1 つのファイルをターゲットにするためのステップが別途必要です。たとえば、Logtool_v1.1.1.rpm という名前のインストール可能なソフトウェアファイルをアップロードする場合は、Amazon Linux と Ubuntu オペレーティングシステムの両方で同じソフトウェアをターゲットにするように Distributor に指示するために、[Simple] ワークフローのデフォルトを変更する必要があります。この制限を回避するには、次のいずれかの操作を行います。

    • 代わりに [Advanced (アドバンスト)] バージョニングワークフローを使用して、開始前に、インストール可能な各ファイルを .zip ファイルに圧縮後、マニフェストを手動で作成して、1 つのインストール可能なファイルが複数のオペレーティングシステムプラットフォーム、またはバージョンでターゲットになるようにします。詳細については、「高度なワークフローを使用したパッケージバージョンの追加」を参照してください。

    • .zip ファイルが複数のオペレーティングシステムプラットフォーム、またはバージョンでターゲットになるように、[Simple] ワークフローでマニフェストファイルを手動で編集します。これを行う方法については、ステップ 2: JSON パッケージマニフェストを作成する のステップ 4 の最後を参照してください。

  10. [プラットフォームのバージョン] で、表示されているオペレーティングシステムのプラットフォームのバージョンが _any、後にワイルドカード (7.*) が続くメジャーリリースバージョン、またはソフトウェアを適用する特定のオペレーティングシステムのリリースバージョンに一致していることを確認します。プラットフォームのバージョンの指定の詳細については、ステップ 2: JSON パッケージマニフェストを作成する のステップ 4 を参照してください。

  11. [Architecture] のドロップダウンリストから、インストール可能なファイルごとに正しいプロセッサアーキテクチャを選択します。サポートされるアーキテクチャの詳細については、「サポートされているパッケージのプラットフォームとアーキテクチャ」を参照してください。

  12. (オプション) [スクリプト] を展開し、Distributor がインストール可能なソフトウェアに対し生成するインストールおよびアンインストールスクリプトを確認します。

  13. インストール可能なソフトウェアファイルを新しいバージョンにさらに追加するには、[Add software (ソフトウェアの追加)] を選択します。それ以外の場合は、次のステップに進みます。

  14. (オプション) [Manifest (マニフェスト)] を展開し、インストール可能なソフトウェアに対して Distributor が生成する JSON パッケージのマニフェストを確認します。プラットフォームのバージョンやターゲットのプラットフォームなど、この手順を開始してから、インストール可能なソフトウェアに関する情報を変更した場合は、[Generate manifest (マニフェストの生成)] を選択して、更新されたパッケージマニフェストを表示します。

    ステップ 9 で説明されているように、複数のオペレーティングシステムでインストール可能なソフトウェアをターゲットにする場合は、マニフェストを手動で編集できます。マニフェストの編集の詳細については、「ステップ 2: JSON パッケージマニフェストを作成する」を参照してください。

  15. ソフトウェアの追加とターゲットプラットフォーム、バージョン、およびアーキテクチャデータの確認が終了したら、[Add version (バージョンの追加)] を選択します。

  16. Distributor でソフトウェアがアップロードされ、新しいパッケージバージョンが作成されるまで待ちます。 Distributor は、インストール可能なファイルごとにアップロードステータスを示します。追加するパッケージの数とサイズによっては、数分かかる場合があります。Distributor では、パッケージの [Package details] ページに自動的にリダイレクトされますが、ソフトウェアのアップロード後にこのページを自分で開くことを選択することもできます。Distributor で新しいパッケージバージョンの作成が完了するまで、[Package details] ページに、パッケージに関する情報は表示されません。アップロードとパッケージバージョンの作成を停止するには、[Stop upload (アップロードの停止)] を選択します。

  17. Distributor でソフトウェアのインストール可能なファイルをアップロードできない場合は、[Upload failed (アップロードに失敗しました)] メッセージが表示されます。アップロードを再試行するには、[Retry upload (アップロードの再試行)] を選択します。パッケージバージョン作成エラーをトラブルシューティングする方法の詳細については、「AWS Systems ManagerDistributor のトラブルシューティング」を参照してください。

  18. Distributor で、新しいパッケージバージョンの作成が完了したら、パッケージの [Details (詳細)] ページの [Versions (バージョン)] タブの使用可能なパッケージバージョンのリストに新しいバージョンが表示されます。バージョンを選択し、[Set default version (デフォルトのバージョンを設定する)] を選択して、パッケージのデフォルトバージョンを設定します。

    デフォルトのバージョンを設定しない場合は、最新のパッケージのバージョンがデフォルトバージョンになります。

高度なワークフローを使用したパッケージバージョンの追加

パッケージバージョンを追加するには、パッケージを作成し、Distributor を使用して、以前のバージョン用に存在するドキュメントにエントリを追加してパッケージバージョンを追加します。時間を節約するために、パッケージの古いバージョンのマニフェストを更新し、マニフェストの version エントリの値を変更し (例: Test_1.0 から Test_2.0)、新しいバージョン用のマニフェストとして保存します。[Advanced] ワークフローを使用して、新しいパッケージバージョンを追加するには、更新されたマニフェストが必要です。

高度なワークフローを使用してパッケージバージョンを追加するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Distributor] を選択します。

  3. Distributor のホームページで、他のバージョンを追加するパッケージを選択し、[Add version (バージョンの追加)] を選択します。

  4. [Version name (バージョン名)] で、マニフェストファイルの version エントリ内の正確な値を入力します。

  5. [S3 バケット名] で、リストから既存の S3 バケットを選択します。これは、古いバージョンのインストール可能ファイルを保存するために使用したものと同じバケットである場合がありますが、バケット内の既存のインストール可能ファイルが上書きされないように、インストール可能ファイル名は別の名前になっている必要があります。

  6. [S3 キープレフィックス] で、インストール可能なアセットが保存されているバケットのサブフォルダを入力します。

  7. [マニフェスト] で、[パッケージから抽出] を選択して、.zip ファイルとともに S3 バケットにアップロードしたマニフェストを使用します。

    (オプション) .zip ファイルを保存した Amazon S3 バケットに、改訂された JSON マニフェストをアップロードしなかった場合は、[新しいマニフェスト] を選択します。JSON エディタフィールドで、マニフェスト全体を作成または貼り付けることができます。JSON マニフェストの作成方法の詳細については、「ステップ 2: JSON パッケージマニフェストを作成する」を参照してください。

  8. マニフェストの作成または貼り付けが完了したら、[Add package version (パッケージバージョンの追加)] を選択します。

  9. パッケージの [Details (詳細)] ページの [Versions (バージョン)] タブで使用可能なパッケージバージョンのリストに新しいバージョンが表示されます。バージョンを選択し、[Set default version (デフォルトのバージョンを設定する)] を選択して、パッケージのデフォルトバージョンを設定します。

    デフォルトのバージョンを設定しない場合は、最新のパッケージのバージョンがデフォルトバージョンになります。

AWS CLI を使用したパッケージバージョンの追加

AWS CLI を使用して、新しいパッケージバージョンを Distributor に追加できます。これらのコマンドを実行する前に、このトピックの冒頭で説明したように、新しいパッケージバージョンを作成して S3 にアップロードする必要があります。

AWS CLI を使用してパッケージバージョンを追加するには
  1. 次のコマンドを実行して、新しいパッケージバージョンのエントリを含む AWS Systems Manager ドキュメントを編集します。document-name をドキュメントの名前に置き換えます。amzn-s3-demo-bucket は、「ステップ 3: Amazon S3 バケットにパッケージとマニフェストをアップロードする」でコピーした JSON マニフェストの URL に置き換えます。S3-bucket-URL-of-package は、パッケージ全体が格納される Amazon S3 バケットの URL です。version-name-from-updated-manifest をマニフェストの version の値に置き換えます。--document-version パラメータを $LATEST に設定すると、このパッケージバージョンに関連付けられたドキュメントがドキュメントの最新バージョンになります。

    aws ssm update-document \ --name "document-name" \ --content "S3-bucket-URL-to-manifest-file" \ --attachments Key="SourceUrl",Values="amzn-s3-demo-bucket" \ --version-name version-name-from-updated-manifest \ --document-version $LATEST

    以下はその例です。

    aws ssm update-document \ --name ExamplePackage \ --content "https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage/manifest.json" \ --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage" \ --version-name 1.1.1 \ --document-version $LATEST
  2. 次のコマンドを実行して、パッケージが更新されたことを確認し、パッケージマニフェストを表示します。package-name をパッケージの名前に置き換えます。必要であれば、document-version を更新したドキュメントのバージョン数 (パッケージのバージョンと同じではない) と置き換えます。このパッケージバージョンがドキュメントの最新バージョンに関連付けられている場合は、オプションの $LATEST パラメータの値に対して --document-version を指定できます。

    aws ssm get-document \ --name "package-name" \ --document-version "document-version"

update-document コマンドで使用できるその他のオプションについては、AWS CLI コマンドリファレンス で AWS Systems Manager のセクションの「update-document」を参照してください。