Image Builder でのセマンティックバージョニング - EC2 イメージビルダー

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

Image Builder でのセマンティックバージョニング

Image Builder はセマンティックバージョニングを使用してリソースを整理し、それらに固有の ID が割り当てられるようにします。セマンティックバージョンには次の 4 つのノードがあります。

<major>.<minor>.<patch>/<build>

最初の 3 つの値を割り当てて、それらのすべてをフィルタリングできます。

セマンティックバージョニングは、各オブジェクトの Amazon リソースネーム (ARN) に、そのオブジェクトに適用されるレベルで次のように含まれています。

  1. バージョンレス ARN と名前 ARN には、どのノードにも特定の値が含まれていません。ノードは完全に省略されるか、x.x.x のようにワイルドカードとして指定されます。

  2. バージョン ARN には、<major>、<minor>、<patch> の最初の 3 つのノードしかありません。

  3. ビルドバージョン ARN には 4 つのノードすべてがあり、オブジェクトの特定のバージョンの特定のビルドを指します。

割り当て: 最初の 3 つのノードでは、ノードごとに 2^30-1 または 1073741823 の上限を持つ任意の正の整数値またはゼロを割り当てることができます。Image Builder は、4 番目のノードにビルド番号を自動的に割り当てます。

パターン: 割り当て可能なノードの割り当て要件に準拠する任意の数値パターンを使用できます。たとえば、1.0.0 などのソフトウェアバージョンパターン、または 2021.01.01 などの日付を選択できます。

選択: セマンティックバージョニングでは、レシピのベースイメージやコンポーネントを選択する際に、ワイルドカード(x)を使って最新のバージョンやノードを指定する柔軟性があります。任意のノードでワイルドカードを使用する場合、最初のワイルドカードの右側にあるすべてのノードもワイルドカードである必要があります。

例えば、最近のバージョンが 2.2.4、1.7.8、1.6.8 の場合、ワイルドカードを使用してバージョンを選択すると次のような結果になります。

  • x.x.x = 2.2.4

  • 1.x.x = 1.7.8

  • 1.6.x = 1.6.8

  • x.2.x は無効で、エラーになる

  • 1.x.8 は無効で、エラーになる

バージョンリファレンスの使用

バージョンリファレンスはready-to-use ARN 文字列です。Image Builder は、ARNs解析してワイルドカードを挿入するためのカスタムコードを記述する代わりに、この作業を行います。

Image Builder リソースを作成または取得すると、Image Builder はlatestVersionReferencesオブジェクト内のワイルドカードバージョンパターンを持つ構築済みの ARNs を自動的に提供します。これにより、ワイルドカードバージョニングパターンを使用してリソースを参照する場合にARNs を手動で解析して再構築する必要がなくなります。

たとえば、バージョン でコンポーネントを作成すると1.2.3、Image Builder は以下を返します。

{ "componentBuildVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.2.3/1", "latestVersionReferences": { "latestVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/x.x.x", "latestMajorVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.x.x", "latestMinorVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.2.x", "latestPatchVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.2.3" } }

使用可能なバージョンリファレンスパターン

latestVersionReferences オブジェクトには 4 つの ARN パターンが含まれています。

  • latestVersionArn (x.x.x) - 常に絶対最新バージョンに解決されます。

  • atestMajorVersionArn (1.x.x) - メジャーバージョン内の最新のマイナーバージョンとパッチバージョンを解決します。

  • latestMinorVersionArn (1.2.x) - 特定のマイナーバージョン内の最新のパッチバージョンに解決します。

  • latestPatchVersionArn (1.2.3) - 特定のセマンティックバージョンを参照し、複数のビルドバージョンをサポートするリソースの最新のビルドバージョンに解決します。

バージョン参照を返すリソース

バージョンリファレンスは、すべてのバージョニングされた Image Builder リソースの Createおよび Get APIs によって返されます。

  • コンポーネント - CreateComponentGetComponent

  • イメージレシピ - CreateImageRecipeGetImageRecipe

  • コンテナレシピ - CreateContainerRecipeGetContainerRecipe

  • イメージ - CreateImageGetImage

  • ワークフロー - CreateWorkflowGetWorkflow

注: Image Builder が管理するワークフローlatestVersionArn (x.x.x)では、常に最新バージョンの Image Builder が管理するワークフローを使用する必要があるため、 のみが返されます。