Import an OVA to AWS

Import the OVA using previously created roles.

AWS requires the vmimport identity to import a virtual machine (VM).

There's no AWS Console equivalent to the command-line import-image command.

Use the vmimport identity to convert the OVA image to an AMI image:

  1. Create a json file that represents the locations for the containers used during the import. When you create your file using the following example, replace:

    • BUCKET_NAME with the name of the bucket (for example, access-gateway-bucket).
    • DESCRIPTION with a description for the import (for example, Okta Access Gateway).
    • FILE_NAME with the name of the OVA file (for example, Okta-AccessGateway.ova).
    Copy

    containers.json

    [
    {
    "Description": "DESCRIPTION",
    "Format": "ova",
    "UserBucket": {
    "S3Bucket": "BUCKET_NAME",
    "S3Key": "FILE_NAME"
    }
    }
    ]
  2. Begin the import process:

    Copy
    aws ec2 import-image --description "Okta Access Gateway" --license-type "BYOL" --disk-containers "file://~/Downloads/containers.json" 
  3. Examine the output of the import command and note the task id that's associated with the import process:

    Copy
    {
    "Status": "active",
    "LicenseType": "BYOL",
    "Description": "AG2019.ova.",
    "SnapshotDetails": [...],
    "Progress": "2",
    "StatusMessage": "pending",
    "ImportTaskId": "import-ami-08800a79da64acae7"
    }

    Check the progress of the import using the task id. The Progress json element reports the progress as a percentage from 0 to 100. In the following command, replace TASK_ID with the task id output by the preceding import command:

    Copy
    aws ec2 describe-import-image-tasks --import-task-ids TASK_ID

    Monitor the import until its Status changes to completed. Note the value of ImageId in your output, which should be similar to the following example:

    Copy
    {
    "ImportImageTasks": [
    {
    "Status": "completed",
    "LicenseType": "BYOL",
    "Description": "AG2019.ova.",
    ImageId": "ami-0c20c537e7f8dd6a5"
    }
  4. Confirm that the import is complete:

    1. Return to the AWS console.

    2. Go to ServicesEC2.

    3. Select ImagesAMIs.

    4. Search for the image whose AMI ID matches the ImageId from the import operation.