Provisioning Fedora CoreOS on Amazon Web Services

This guide shows how to provision new Fedora CoreOS (FCOS) instances on the Amazon Web Services (AWS) cloud platform.

Prerequisites

Before provisioning a FCOS instance, you must have an Ignition configuration file containing your customizations. If you do not have one, see Producing an Ignition File.

You also need to have access to an AWS account. The examples below use the aws command-line tool, which must be separately installed and configured beforehand.

Launching a VM instance

New AWS instances can be directly created and booted from public FCOS images. You can find the latest AMI for each region from the Update Streams, which is also visualized in the download page.

If you are only interested in exploring FCOS without further customization, you can directly use a registered SSH key-pair for the default core user.

In order to test out FCOS this way, simply select the relevant SSH key-pair via --key-name when launching the new instance:

Launching a new instance
SSH_KEY_NAME="my-key"
aws ec2 run-instances <other options> --image-id <ami> --key-name "${SSH_KEY_NAME}"

In order to launch a customized FCOS instance, a valid Ignition configuration must be passed as its user data at creation time:

Launching and customizing a new instance
aws ec2 run-instances <other options> --image-id <ami> --user-data file://example.ign
By design, cloud-init configuration and startup scripts are not supported on FCOS. Instead, it is recommended to encode any startup logic as systemd service units in the Ignition configuration.