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
    1. 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.

Related topics

Putting an Object into an S3 bucket

S3 cp command.

Next steps

Launch AWS instance