Creating an OMI from a Snapshot
You can create OUTSCALE machine images (OMIs) from snapshots. With AWS CLI, this action corresponds to registering an OMI and specifying a snapshot ID in its block device mapping.
Creating an Image from a Snapshot Using Cockpit v2
Before you begin:
|
-
In the Images dashboard, click Create Image.
The CREATE IMAGE dialog box appears.You can also select a snapshot in the Snapshots dashboard and click Create Image.
-
In the Name field, type a name for the image.
This name must be unique and must contain between 3 and 128 characters. Allowed characters are a-z, A-Z, 0-9, spaces, and [_()/.-].
-
(optional) In the Description field, type a description for the image.
-
Select From snapshot and select a snapshot from the Snapshot selection list.
-
In the Architecture selection list, select an architecture for the image (
i386
orx86_64
). -
Set the Delete on termination option for volumes of VMs launched from the image:
-
To automatically delete the volumes of a VM you delete, switch the button to
True
.Data stored on the deleted volumes is lost and cannot be retrieved.
Before you delete it, ensure you have a backup or snapshot of it. For more information, see Creating a Snapshot of a Volume.
-
To keep the volumes of a VM you delete, switch the button to
False
.
-
-
Click Create Image.
The image is created.
Creating an OMI from a Snapshot Using OSC CLI
Before you begin:
|
The CreateImage command creates an OUTSCALE machine image (OMI).
You can use this method in different ways:
-
Creating from a VM: You create an OMI from one of your virtual machines (VMs).
-
Copying an OMI: You copy an existing OMI. The source OMI can be one of your own OMIs, or an OMI owned by another account that has granted you permission via the UpdateImage method.
-
Registering from a snapshot: You register an OMI from an existing snapshot. The source snapshot can be one of your own snapshots, or a snapshot owned by another account that has granted you permission via the UpdateSnapshot method.
-
Registering from a bucket by using a manifest file: You register an OMI from the manifest file of an OMI that was exported to an OUTSCALE Object Storage (OOS) bucket. First, the owner of the source OMI must export it to the bucket by using the CreateImageExportTask method. Then, they must grant you permission to read the manifest file via a pre-signed URL or Access Control Lists. For more information, see [Managing Access to Your Buckets and Objects].
-
Registering from a bucket without using a manifest file: This is similar to the previous case but you manually specify all the information that would be in a manifest file instead of using a manifest file.
Registering from a bucket enables you to copy an OMI across Regions. For more information, see About OMIs. |
$ osc-cli api CreateImage --profile "default" \
--ImageName "register-image-from-snapshot-example" \
--BlockDeviceMappings '[
{
"DeviceName": "/dev/sda1",
"Bsu": {"SnapshotId": "snap-12345678", "VolumeSize": 120, "VolumeType": "io1", "Iops": 150, "DeleteOnVmDeletion": True},
},
]' \
--RootDeviceName "/dev/sda1"
This command contains the following attributes that you need to specify:
-
Architecture
: (optional) (when registering from a snapshot, or from a bucket without using a manifest file) The architecture of the OMI (i386
orx86_64
). -
BlockDeviceMappings
: (optional) (when registering from a snapshot, or from a bucket without using a manifest file) One or more block device mappings. -
Description
: (optional) A description for the new OMI. -
DryRun
: (optional) If true, checks whether you have the required permissions to perform the action. -
ImageName
: (optional) A unique name for the new OMI.
Constraints: 3-128 alphanumeric characters, underscores (_
), spaces (`), parentheses (
()), slashes (
/), periods (
.), or dashes (
-`). -
ProductCodes
: (optional) The product codes associated with the OMI. -
RootDeviceName
: (optional) (when registering from a snapshot, or from a bucket without using a manifest file) The name of the root device for the new OMI.
The CreateImage command returns the following elements:
-
Image
: Information about the OMI. -
ResponseContext
: Information about the context of the response.
{
"ResponseContext": {
"RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
},
"Image": {
"StateComment": {},
"State": "available",
"RootDeviceType": "bsu",
"RootDeviceName": "/dev/sda1",
"ProductCodes": [
"0001"
],
"PermissionsToLaunch": {
"GlobalPermission": false,
"AccountIds": []
},
"AccountId": "123456789012",
"Tags": [],
"Description": "",
"ImageId": "ami-12345678",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Bsu": {
"VolumeType": "io1",
"DeleteOnVmDeletion": true,
"VolumeSize": 120,
"Iops": 150,
"SnapshotId": "snap-12345678"
}
}
],
"ImageType": "machine",
"CreationDate": "2010-10-01T12:34:56.789Z",
"FileLocation": "123456789012/register-image-from-snapshot-example",
"Architecture": "x86_64",
"ImageName": "register-image-from-snapshot-example"
}
}
Creating an OMI from a Snapshot Using AWS CLI
Before you begin:
|
To create an OMI, use the register-image command following this syntax:
$ aws ec2 register-image \
--profile YOUR_PROFILE \
--name "Test Image" \
--description "My test image" \
--architecture x86_64 \
--root-device-name /dev/sda1 \
--block-device-mappings "[{\"DeviceName\": \"/dev/sda1\", \
\"Ebs\": \
{\"SnapshotId\": \"snap-12345678\"} \
}]" \
--endpoint https://fcu.eu-west-2.outscale.com
This command contains the following attributes that you need to specify:
-
(optional)
profile
: The named profile you want to use, created when configuring AWS CLI. For more information, see Installing and Configuring AWS CLI. -
name
: The name of the OMI.This name must be unique and must contain between 3 and 128 characters. Allowed characters are a-z, A-Z, 0-9, spaces, and [_()/.-].
-
(optional)
description
: A description for the OMI.This description can contain any Unicode character, with no length limit.
-
(optional)
architecture
: The architecture of the OMI. By default, set toi386
(32-bit architecture). -
root-device-name
: The device name assigned to the root volume. -
block-device-mappings
: The block device mapping indicating the snapshot to use for the root volume. This attribute requires the following elements:-
DeviceName
: The device name assigned to the root volume.You must specify the same device name as in the
root-device-name
attribute. -
Ebs
: Information about the root volume to create. This element requires the following information:-
SnapshotId
: The ID of the snapshot from which you want to create the OMI.
-
-
-
endpoint
: The endpoint corresponding to the Region you want to send the request to.
The register-image command returns the following element:
-
ImageId
: The ID of the newly created OMI.
{
"ImageId": "ami-12345678"
}
Related Pages
Corresponding API Methods
AWS™ and Amazon Web Services™ are trademarks of Amazon Technologies, Inc or its affiliates in the United States and/or other countries.