

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

# Image Builder でのセマンティックバージョニング
<a name="ibhow-semantic-versioning"></a>

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

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

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

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

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

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

1. ビルドバージョン 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` は無効で、エラーになる

## ライフサイクルポリシーのワイルドカードバージョニング
<a name="lifecycle-wildcard-versioning"></a>

ライフサイクルポリシーレシピの選択でセマンティックバージョンにワイルドカードパターンを使用して、1 つのポリシーでレシピの複数のバージョンをターゲットにできます。これにより、レシピバージョンごとに個別のポリシーを作成する必要がなくなり、ライフサイクル管理が簡素化されます。

ライフサイクルポリシーレシピバージョンでは、次のワイルドカードパターンがサポートされています。
+ `x.x.x` – レシピのすべてのバージョンに一致します。
+ `1.x.x` – メジャーバージョン 1 内のすべてのマイナーバージョンとパッチバージョンに一致します。
+ `1.0.x` – バージョン 1.0 内のすべてのパッチバージョンに一致します。

ワイルドカードパターンを持つライフサイクルポリシーが実行されると、Image Builder は実行時にワイルドカードを一致するすべてのレシピバージョンに解決します。これにより、その実行のイミュータブルなバージョンのリストが作成されます。ポリシー実行の開始後に作成された新しいレシピバージョンは、次にスケジュールされた実行に自動的に含まれます。

ワイルドカードバージョニングを使用したライフサイクルポリシーの作成の詳細については、「」を参照してください[ライフサイクルポリシーの作成](create-lifecycle-policies.md)。

## バージョンリファレンスの使用
<a name="using-version-references"></a>

 バージョンリファレンスは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"
    }
}
```

## 使用可能なバージョンリファレンスパターン
<a name="available-reference-patterns"></a>

`latestVersionReferences` オブジェクトには 4 つの ARN パターンが含まれています。
+ latestVersionArn (x.x.x) - 常に絶対最新バージョンに解決されます。
+ atestMajorVersionArn (1.x.x) - メジャーバージョン内の最新のマイナーバージョンとパッチバージョンを解決します。
+ latestMinorVersionArn (1.2.x) - 特定のマイナーバージョン内の最新のパッチバージョンに解決します。
+ latestPatchVersionArn (1.2.3) - 特定のセマンティックバージョンを参照し、複数のビルドバージョンをサポートするリソースの最新のビルドバージョンに解決します。

## バージョン参照を返すリソース
<a name="resources-returning-references"></a>

バージョンリファレンスは、すべてのバージョニングされた Image Builder リソースの `Create`および `Get` APIs によって返されます。
+ コンポーネント - `CreateComponent`、 `GetComponent`
+ イメージレシピ - `CreateImageRecipe`、 `GetImageRecipe`
+ コンテナレシピ - `CreateContainerRecipe`、 `GetContainerRecipe`
+ イメージ - `CreateImage`、 `GetImage`
+ ワークフロー - `CreateWorkflow`、 `GetWorkflow`

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