ボリューム内の画像の管理
ボリュームから作成されたカスタム・イメージは、元のボリュームから独立しています。 必要に応じてイメージを更新したり削除したりできます。 元のボリュームを削除してもカスタム・イメージは失われません。 非推奨のスケジュールを設定し、コンソール、CLI、または API でイメージを廃止することができます。
使用許可式:使用許可式をカスタムイメージと一緒に使用することで、イメージの機能と制限を定義し、サーバー作成時に互換性のあるイメージとプロファイルの組み合わせを見つけることができます。 ボリュームから作成されるカスタムイメージの使用許可式のデフォルト値は、元のソースボリュームの使用許可式です。 しかし、これらの使用許可表現はカスタム画像上で編集することができます。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。
UIを使用してカスタムイメージのライフサイクルステータスの変更をスケジュールする
単一のイメージ・ライフサイクル・ステータス変更をスケジュールすることも、イメージのライフサイクル全体のステータス変更をスケジュールすることもできます。
以下のステップを使用して、単一のステータス変更をスケジュールします。
イメージの単一のステータス変更をスケジュールできます。
- IBM Cloud コンソールで、 ナビゲーション メニュー アイコン
> インフラストラクチャ
> コンピューティング > イメージに移動します。
- 「カスタム・イメージ」 タブで、特定のイメージの「アクション」アイコン
をクリックし、使用可能なオプションから選択します。
- 「ライフサイクルのスケジュール」 を選択します。
- 「イメージ状況」 で、イメージの状況変更を選択します。
- 「非推奨の詳細」 で、ステータスを 「即時」 に変更するか、 「将来の日付をスケジュールする」 に変更するかを選択します。
- 今後のスケジュールを選択した場合、以下のフィールドに入力する必要があります:
- 「カレンダー日付別 (By calendar date)」 または 「日数別 (By number of days)」 を選択します。
- 「カレンダー日付別」 を選択した場合は、日時情報を入力します。 これは、ステータスの変更が行われる日時です。
- 「日数別」 を選択した場合は、状況が変更されるまでに経過する日数を入力します。
- 「カレンダー日付別 (By calendar date)」 または 「日数別 (By number of days)」 を選択します。
- 保存 をクリックします。
イメージのライフサイクル全体をスケジュールするには、以下のステップを使用します。
イメージの完全なライフサイクルをスケジュールできます。 イメージは、最初に非推奨になり、次に定義したスケジュールに従って廃止に変更されます。 ライフサイクルの変更をスケジュールするには、以下の手順を使用します。
-
IBM Cloud コンソールで、 ナビゲーション メニュー アイコン
> インフラストラクチャ
> コンピューティング > イメージに移動します。
-
「カスタム・イメージ」 タブで、特定のイメージの「アクション」アイコン
をクリックし、使用可能なオプションから選択します。
-
「ライフサイクルのスケジュール」 を選択します。
-
完全なライフサイクルをスケジュールするを選択します。
- 「カレンダー日付別」 を選択した場合は、ステータス変更を行う日時を入力します。
- 「日数別」 を選択した場合は、ステータスが変更されるまでの経過日数を入力します。
廃番の日付は非推奨の日付より後でなければなりません。
-
**「スケジュール」**をクリックします。
CLI を使用してカスタムイメージのライフサイクルステータスを変更する
コマンド・ライン・インターフェース (CLI) からボリュームから作成された IBM Cloud VPC イメージのライフサイクル状況を変更できます。 ibmcloud is image-deprecate または ibmcloud is image-obsolete コマンドを使用して、即時状況変更を行うことができます。 また、 ibmcloud is image-update コマンドを使用して、これらのステータス変更を将来の日時にスケジュールすることもできます。
IMAGE 変数を使用して、カスタム・イメージの名前または ID を指定します。
即時状況変更を行うには、以下のいずれかの例を使用します。
即時ステータス変更は、将来のステータス変更がスケジュールされていない場合にのみ実行できます。 スケジュールされた状況変更を削除するには、 CLI を使用したスケジュールされたカスタム・イメージ・ライフサイクル状況変更の削除 を参照してください。 スケジュールされたステータス変更を削除した後、即時ステータス変更を行うことができます。
-
イメージのライフサイクル状況を
deprecateに変更します。ibmcloud is image-deprecate IMAGE -
イメージのライフサイクル状況を
obsoleteに変更します。ibmcloud is image-obsolete IMAGE
ステータス変更をスケジュールするには、以下の例を使用します。
deprecate-at または obsolete-at オプションには、ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) の日時形式で日付を指定します。
YYYYは 4 桁の年です。MMは 2 桁の月です。DDは 2 桁の日です。Tは日付と時刻の情報を区切ります。hhは 2 桁の時間です。mmは 2 桁の分です。+hh:mmまたは-hh:mmは UTC タイム・ゾーンです。
したがって、北米中央標準時ゾーン (CST) で 2023 年 9 月 30 日の午後 8 時に行われる日付は、 2023-09-30T20:00:00-06:00 になります。
日時をスケジュールする際に、現在の日時を使用することはできません。 例えば、6 月 12 日の午前 8:00 の場合、スケジュールされた日時は 6 月 12 日の午前 8:00 より後でなければなりません。 deprecate-at と obsolete-at の両方の日付を定義する場合、 obsolete-at の日付は deprecate-at の日付より後でなければなりません。
ibmcloud is image-update IMAGE [--deprecate-at YYYY-MM-DDThh:mm:ss+hh:mm] [--obsolete-at YYYY-MM-DDThh:mm:ss+hh:mm]
deprecate-at および obsolete-at の日時項目を変更する場合は、これらのコマンドを再度実行できます。 前の日付と時刻は新しい日付と時刻に置き換えられます。
CLIを使用して、以前にスケジュールされたライフサイクルステータスの変更を削除する
--reset-deprecate-at オプションまたは --reset-obsolete-at オプションを使用して、スケジュールされたステータス変更を削除できます。 これらのオプションのいずれかを ibmcloud is image-update コマンドで使用すると、日時がイメージから削除されます。 イメージは、その状況変更用にスケジュールされなくなります。
ibmcloud is image-update IMAGE [--reset-deprecate-at] [--reset-obsolete-at]
--reset-deprecate-at オプションと --reset-obsolete-at オプションの両方を使用すると、イメージ状況は availableに戻ります。
APIを使用してカスタムイメージのライフサイクルステータスを変更する
アプリケーション・プログラミング・インターフェース (API) を使用して、ボリュームから作成された IBM Cloud VPC イメージのライフサイクル状況を変更できます。 即時ステータス変更を行うことも、後でステータス変更が行われるようにスケジュールすることもできます。
即時状況変更を行うには、以下のいずれかの例を使用します。 $image_id 変数には、状況変更のカスタム・イメージの ID を指定します。
即時ステータス変更は、将来のステータス変更がスケジュールされていない場合にのみ実行できます。 スケジュール済みステータス変更を削除するには、 API を使用したスケジュール済みカスタム・イメージ・ライフサイクル・ステータス変更の削除 を参照してください。 スケジュールされたステータス変更を削除した後、即時ステータス変更を行うことができます。
-
イメージのライフサイクル状況を
deprecatedに変更します。curl -X POST "$vpc_api_endpoint/v1/images/$image_id/deprecate?version=2023-02-21&generation=2" -H “Authorization: Bearer $iam_token” -
イメージのライフサイクル状況を
obsoleteに変更します。curl -X POST "$vpc_api_endpoint/v1/images/$image_id/obsolete?version=2023-12-21&generation=2" -H “Authorization: Bearer $iam_token”
ステータス変更をスケジュールするには、以下のいずれかの例を使用します。
deprecation_at プロパティーまたは obsolescence_at プロパティーには、ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) の日時形式で日付を指定します。
YYYYは 4 桁の年です。MMは 2 桁の月です。DDは 2 桁の日です。Tは日付と時刻の情報を区切ります。hhは 2 桁の時間です。mmは 2 桁の分です。+hh:mmまたは-hh:mmは UTC タイム・ゾーンです。
したがって、北米中央標準時ゾーン (CST) で 2023 年 9 月 30 日の午後 8 時に行われる日付は、 2023-09-30T20:00:00-06:00 になります。
日時をスケジュールする際に、現在の日時を使用することはできません。 例えば、6 月 12 日の午前 8:00 の場合、スケジュールされた日時は 6 月 12 日の午前 8:00 より後でなければなりません。 deprecation_at と obsolescence_at の両方の日時を定義する場合、 obsolescence_at の日付は deprecation_at の日時より後でなければなりません。
-
deprecatedへのステータス変更をスケジュールします。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": "2023-03-01T06:11:28+05:30" }' -
obsoleteへのステータス変更をスケジュールします。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ “obsolescence_at": "2023-12-31T06:11:28+05:30" }'deprecation_atおよびobsolescence_atの日時項目を変更する場合は、これらのコマンドを再度実行できます。 前の日付と時刻は新しい日付と時刻に置き換えられます。
APIを使用して、以前に予定されていたライフサイクルステータスの変更を削除する
deprecation_at または obsolescence_at を nullに更新して、スケジュールされた状況変更を削除するための PATCH /images 要求を行います。 このプロパティーを変更すると、イメージから日時が削除され、イメージはそのステータス変更にスケジュールされなくなります。
-
イメージを
deprecatedからavailableに変更するには、deprecation_atプロパティーをnullに変更します。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": null }' -
イメージを
obsoleteから前の状態に変更するには、obsolescence_atをnullに変更します。 イメージに以前にnullfordeprecation_at以外の値が含まれていた場合、このプロパティーの変更によりobsolete状態が削除され、deprecatedに戻されます。 前の状態がavailableの場合 (イメージがavailableからobsoleteに直接移動されたことを意味します)、このプロパティーの変更はobsoleteからavailableに戻ります。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ “obsolescence_at": null }' -
deprecation_atプロパティーまたはobsolescence_atプロパティーの両方がavailableに設定されているイメージを変更するには、deprecation_atプロパティーまたはobsolescence_atプロパティーの両方を更新する必要があります。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": null, “obsolescence_at": null }'
パフォーマンスに関する考慮事項
ボリュームからのイメージがキューに登録され、作成されるまでの所要時間には、イメージのサイズやキュー内のジョブ数など、いくつかの要因が影響します。 待っていられないほどイメージの作成に時間がかかっている場合には、ジョブをキャンセルすることができます。
イメージ作成時のパフォーマンス
画像を作成すると、APIの status_reasons パラメータには image_request_queued と表示され、 「画像リクエストは受理され、システムリソースが利用可能になるのを待機中です」 というメッセージが表示されます。 このメッセージが表示されてからジョブが開始するまでに、しばらく時間がかかることがあります。 以下の表に、イメージ・サイズに基づくガイドラインを示します。 in_progress のステータスを確認し、イメージが作成中かどうかを確認してください。 繰り返しになりますが、イメージが使用可能になるまでには、イメージのサイズに応じて時間がかかります。
| イメージ・サイズ | 画像が表示されるまでの推定時間 |
|---|---|
| 5 GB | 5 分 |
| 10 GB | 10 分 |
| 25 GB | 25 分 |
| 50 GB | 50 分 |
| 75 GB | 1 時間 15 分 |
| 100 GB | 1 時間 40 分 |
ジョブが開始するまでの時間は約 30 秒です。 この時間には、処理待ちのトラフィックは反映されていません。トラフィックによっては推定時間が長くなる可能性があります。 ほとんどのジョブは 5 分から 10 分以内に開始します。 それより長い時間がかかる場合は、 イメージの作成をキャンセル してください。
作成待ちのイメージのキャンセル
基礎のジョブがまだ開始していない場合は、イメージを削除することでイメージ作成をキャンセルできます。 _保留中_状態のイメージに対して GET /images API 呼び出しを実行すると、image_request_queued 理由コードが返されます。 DELETE /image{image_id} 要求を使用して、保留中のイメージを削除できます。 あるいは、 UI または CLI を使用して、保留状態のイメージを削除することもできます。
UI を使用してカスタム画像を削除する
カスタム画像の一覧から、ボリュームから作成された画像を削除することができます。 保留状態 (イメージの作成中) および使用可能状態にあるイメージを削除できます。
- カスタム・イメージのリストに移動します。 IBM Cloud コンソールで、 ナビゲーションメニュー
> VPCインフラストラクチャ
> コンピュート > イメージの順に選択します。
- 「カスタム・イメージ」 タブで、削除するイメージを見つけます。 「アクション」 メニュー
から、 「削除」 を選択します。
CLI を使用して、ボリュームから作成されたイメージを削除する
-
イメージのリストで、ボリュームから作成されたイメージを見つけます。
ibmcloud is images -
ID を指定してイメージを削除します。
ibmcloud is image-delete IMAGE_ID
API を使用して、ボリュームから作成されたイメージを削除する
DELETE /images 要求を行い、ブート・ボリュームから作成されたイメージの ID を指定します。
-
ボリュームから作成されるイメージの ID を見つけます。
curl -X GET "$vpc_api_endpoint/v1/images?version=2024-06-12&generation=2" -H "Authorization: Bearer $iam_token" -
ID を指定してイメージを削除します。
curl -X DELETE "$vpc_api_endpoint/v1/images/$image_id?version=2024-06-12&generation=2" -H "Authorization: Bearer $iam_token"
次のステップ
ボリュームからイメージを作成するエンドツーエンドのプロセスをプレビューします。その後、新しい仮想サーバーインスタンスを作成する際に、そのイメージを使用できます。 詳しくは、 ボリュームからのイメージのチュートリアル を参照してください。