diff --git a/source/_figures/aws/import-clr-aws-01.png b/source/_figures/aws/import-clr-aws-01.png new file mode 100644 index 00000000..45c8ac63 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-01.png differ diff --git a/source/_figures/aws/import-clr-aws-02.png b/source/_figures/aws/import-clr-aws-02.png new file mode 100644 index 00000000..0f4d1c46 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-02.png differ diff --git a/source/_figures/aws/import-clr-aws-03.png b/source/_figures/aws/import-clr-aws-03.png new file mode 100644 index 00000000..88104eb2 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-03.png differ diff --git a/source/_figures/aws/import-clr-aws-04.png b/source/_figures/aws/import-clr-aws-04.png new file mode 100644 index 00000000..236cac4e Binary files /dev/null and b/source/_figures/aws/import-clr-aws-04.png differ diff --git a/source/_figures/aws/import-clr-aws-05.png b/source/_figures/aws/import-clr-aws-05.png new file mode 100644 index 00000000..73e3fa46 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-05.png differ diff --git a/source/_figures/aws/import-clr-aws-06.png b/source/_figures/aws/import-clr-aws-06.png new file mode 100644 index 00000000..b92cf8d6 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-06.png differ diff --git a/source/_figures/aws/import-clr-aws-07.png b/source/_figures/aws/import-clr-aws-07.png new file mode 100644 index 00000000..0460dd61 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-07.png differ diff --git a/source/_figures/aws/import-clr-aws-08.png b/source/_figures/aws/import-clr-aws-08.png new file mode 100644 index 00000000..86312beb Binary files /dev/null and b/source/_figures/aws/import-clr-aws-08.png differ diff --git a/source/_figures/aws/import-clr-aws-09.png b/source/_figures/aws/import-clr-aws-09.png new file mode 100644 index 00000000..8b918243 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-09.png differ diff --git a/source/_figures/aws/import-clr-aws-10.png b/source/_figures/aws/import-clr-aws-10.png new file mode 100644 index 00000000..7a8396e7 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-10.png differ diff --git a/source/_figures/aws/import-clr-aws-11.png b/source/_figures/aws/import-clr-aws-11.png new file mode 100644 index 00000000..e51fb39b Binary files /dev/null and b/source/_figures/aws/import-clr-aws-11.png differ diff --git a/source/_figures/aws/import-clr-aws-12.png b/source/_figures/aws/import-clr-aws-12.png new file mode 100644 index 00000000..abed9621 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-12.png differ diff --git a/source/_figures/aws/import-clr-aws-13.png b/source/_figures/aws/import-clr-aws-13.png new file mode 100644 index 00000000..e84cc103 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-13.png differ diff --git a/source/_figures/aws/import-clr-aws-14.png b/source/_figures/aws/import-clr-aws-14.png new file mode 100644 index 00000000..ea759c73 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-14.png differ diff --git a/source/_figures/aws/import-clr-aws-15.png b/source/_figures/aws/import-clr-aws-15.png new file mode 100644 index 00000000..6e91bb85 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-15.png differ diff --git a/source/_figures/aws/import-clr-aws-16.png b/source/_figures/aws/import-clr-aws-16.png new file mode 100644 index 00000000..451baa2e Binary files /dev/null and b/source/_figures/aws/import-clr-aws-16.png differ diff --git a/source/_figures/aws/import-clr-aws-17.png b/source/_figures/aws/import-clr-aws-17.png new file mode 100644 index 00000000..3eb22a5a Binary files /dev/null and b/source/_figures/aws/import-clr-aws-17.png differ diff --git a/source/_figures/aws/import-clr-aws-18.png b/source/_figures/aws/import-clr-aws-18.png new file mode 100644 index 00000000..a8ddabf1 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-18.png differ diff --git a/source/_figures/aws/import-clr-aws-19.png b/source/_figures/aws/import-clr-aws-19.png new file mode 100644 index 00000000..76c1427b Binary files /dev/null and b/source/_figures/aws/import-clr-aws-19.png differ diff --git a/source/_figures/aws/import-clr-aws-20.png b/source/_figures/aws/import-clr-aws-20.png new file mode 100644 index 00000000..9ff3e5ba Binary files /dev/null and b/source/_figures/aws/import-clr-aws-20.png differ diff --git a/source/_figures/aws/import-clr-aws-21.png b/source/_figures/aws/import-clr-aws-21.png new file mode 100644 index 00000000..6fd9f68a Binary files /dev/null and b/source/_figures/aws/import-clr-aws-21.png differ diff --git a/source/_figures/aws/import-clr-aws-22.png b/source/_figures/aws/import-clr-aws-22.png new file mode 100644 index 00000000..e9464e6f Binary files /dev/null and b/source/_figures/aws/import-clr-aws-22.png differ diff --git a/source/_figures/aws/import-clr-aws-23.png b/source/_figures/aws/import-clr-aws-23.png new file mode 100644 index 00000000..eaaac37b Binary files /dev/null and b/source/_figures/aws/import-clr-aws-23.png differ diff --git a/source/_figures/aws/import-clr-aws-24.png b/source/_figures/aws/import-clr-aws-24.png new file mode 100644 index 00000000..a9831dd5 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-24.png differ diff --git a/source/_figures/aws/import-clr-aws-25.png b/source/_figures/aws/import-clr-aws-25.png new file mode 100644 index 00000000..2ab4a5a4 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-25.png differ diff --git a/source/_figures/aws/import-clr-aws-26.png b/source/_figures/aws/import-clr-aws-26.png new file mode 100644 index 00000000..464a20bf Binary files /dev/null and b/source/_figures/aws/import-clr-aws-26.png differ diff --git a/source/_figures/aws/import-clr-aws-27.png b/source/_figures/aws/import-clr-aws-27.png new file mode 100644 index 00000000..e6230e39 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-27.png differ diff --git a/source/_figures/aws/import-clr-aws-28.png b/source/_figures/aws/import-clr-aws-28.png new file mode 100644 index 00000000..e23e9b94 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-28.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-01-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-01-original.png new file mode 100644 index 00000000..45c8ac63 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-01-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-02-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-02-original.png new file mode 100644 index 00000000..d7cee94f Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-02-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-03-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-03-original.png new file mode 100644 index 00000000..a08d6236 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-03-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-04-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-04-original.png new file mode 100644 index 00000000..236cac4e Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-04-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-05-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-05-original.png new file mode 100644 index 00000000..73e3fa46 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-05-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-06-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-06-original.png new file mode 100644 index 00000000..12782a14 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-06-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-07-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-07-original.png new file mode 100644 index 00000000..55c01c3b Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-07-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-08-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-08-original.png new file mode 100644 index 00000000..8e56dae6 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-08-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-09-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-09-original.png new file mode 100644 index 00000000..4371ca5a Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-09-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-10-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-10-original.png new file mode 100644 index 00000000..fcce2a47 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-10-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-11-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-11-original.png new file mode 100644 index 00000000..e51fb39b Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-11-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-12-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-12-original.png new file mode 100644 index 00000000..abed9621 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-12-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-13-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-13-original.png new file mode 100644 index 00000000..e84cc103 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-13-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-14-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-14-original.png new file mode 100644 index 00000000..43f97ac6 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-14-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-15-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-15-original.png new file mode 100644 index 00000000..e010662c Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-15-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-16-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-16-original.png new file mode 100644 index 00000000..18510ec4 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-16-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-17-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-17-original.png new file mode 100644 index 00000000..9e706cb6 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-17-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-18-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-18-original.png new file mode 100644 index 00000000..ec31a0b6 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-18-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-19-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-19-original.png new file mode 100644 index 00000000..6cb68d9a Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-19-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-20-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-20-original.png new file mode 100644 index 00000000..620a497e Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-20-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-21-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-21-original.png new file mode 100644 index 00000000..b72bd9b6 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-21-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-22-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-22-original.png new file mode 100644 index 00000000..a2710e41 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-22-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-23-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-23-original.png new file mode 100644 index 00000000..3311b168 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-23-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-24-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-24-original.png new file mode 100644 index 00000000..36d12cc1 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-24-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-25-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-25-original.png new file mode 100644 index 00000000..7cf90912 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-25-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-26-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-26-original.png new file mode 100644 index 00000000..a2710e41 Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-26-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-27-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-27-original.png new file mode 100644 index 00000000..c8bfdd6d Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-27-original.png differ diff --git a/source/_figures/aws/import-clr-aws-originals/import-clr-aws-28-original.png b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-28-original.png new file mode 100644 index 00000000..f57ff5dc Binary files /dev/null and b/source/_figures/aws/import-clr-aws-originals/import-clr-aws-28-original.png differ diff --git a/source/get-started/cloud-install/import-clr-aws.rst b/source/get-started/cloud-install/import-clr-aws.rst new file mode 100644 index 00000000..3a5d1895 --- /dev/null +++ b/source/get-started/cloud-install/import-clr-aws.rst @@ -0,0 +1,511 @@ +.. _import-clr-aws: + +Import Clear Linux Image and Launch Instance on AWS +################################################### + +Clear Linux is available on the AWS marketplace. However, it may not +be the latest version because we only update the marketplace on a +periodic basis, as often as weekly or but maybe monthly as well. +If you want to use the latest release from us or upload your own +custom image, follow this guide. + +.. contents:: + :local: + :depth: 1 + +Prerequisites +************* + +* You are familiar with AWS and how to use it + +Download or create a |CL| image for AWS +*************************************** + +Obtain an AWS |CL| image using one of these methods. + +Download pre-built image +======================== +#. Go to the `Downloads`_ page and download the + *Amazon\* Web Services (AWS)* image. + +#. Uncompress it. + +Create a custom image using clr-installer +========================================= +#. On a |CL| system, open a terminal. + +#. Install the `clr-installer` bundle. + + .. code-block:: bash + + sudo swupd bundle-add clr-installer + +#. Download a sample `aws.yaml`_ configuration file. + +#. Make changes to the configuration file as needed. + See `Installer YAML Syntax`_ for more information on clr-installer + configuration YAML syntax. + +#. Download the `AWS image post-install script`_ and make it executable. + +#. Produce an image with clr-installer. + + .. code-block:: bash + + clr-installer --template $PWD/aws.yaml + +Create an S3 bucket +******************* + +#. Log into AWS. + +#. Go to :guilabel:`Services`, :guilabel:`Storage`, and select :guilabel:`S3`. + See Figure 1. + + .. figure:: ../../_figures/aws/import-clr-aws-01.png + :scale: 100% + :alt: AWS Services - S3 Management Console + + Figure 1: AWS Services - S3 Management Console + +#. Click :guilabel:`+ Create bucket`. + + .. figure:: ../../_figures/aws/import-clr-aws-02.png + :scale: 100% + :alt: AWS S3 - Create bucket + + Figure 2: AWS S3 - Create bucket + +#. Set a bucket name and select a region. + See Figure 3. + + .. figure:: ../../_figures/aws/import-clr-aws-03.png + :scale: 100% + :alt: AWS S3 - Create bucket - Set bucket name and region + + Figure 3: AWS S3 - Create bucket - Set bucket name and region + +#. Leave the :guilabel:`Configure options" and :guilabel:`Set permissions` + settings as is or configure as desired. See Figure 4 and 5. + + .. figure:: ../../_figures/aws/import-clr-aws-04.png + :scale: 100% + :alt: AWS S3 - Create bucket - Configure options + + Figure 4: AWS S3 - Create bucket - Configure options + + .. figure:: ../../_figures/aws/import-clr-aws-05.png + :scale: 100% + :alt: AWS S3 - Create bucket - Set permissions + + Figure 5: AWS S3 - Create bucket - Set permissions + +#. At the :guilabel:`Review` screen, click :guilabel:`Create bucket`. + + .. figure:: ../../_figures/aws/import-clr-aws-06.png + :scale: 100% + :alt: AWS S3 - Create bucket - Review + + Figure 6: AWS S3 - Create bucket - Review + + The created bucket should appear. See Figure 7. + + .. figure:: ../../_figures/aws/import-clr-aws-07.png + :scale: 100% + :alt: AWS S3 - Created bucket + + Figure 7: AWS S3 - Created bucket + +Upload the |CL| image into the bucket +************************************* + +#. Click on the bucket. + See Figure 8. + + .. figure:: ../../_figures/aws/import-clr-aws-08.png + :scale: 100% + :alt: AWS S3 - Select bucket + + Figure 8: AWS S3 - Select bucket + +#. Click :guilabel:`Upload`. + See Figure 9. + + .. figure:: ../../_figures/aws/import-clr-aws-09.png + :scale: 100% + :alt: AWS S3 - Upload + + Figure 9: AWS S3 - Upload + +#. Click :guilabel:`Add files` and select the |CL| image file to upload. + See Figure 10. + + .. figure:: ../../_figures/aws/import-clr-aws-10.png + :scale: 100% + :alt: AWS S3 - Add files + + Figure 10: AWS S3 - Add files + +#. Click :guilabel:`Next`. Leave remaining settings as is or set as desired. + See Figure 11, Figure 12, and Figure 13. + + .. figure:: ../../_figures/aws/import-clr-aws-11.png + :scale: 100% + :alt: AWS S3 - Add files + + Figure 11: AWS S3 - Add files + + .. figure:: ../../_figures/aws/import-clr-aws-12.png + :scale: 100% + :alt: AWS S3 - Set permissions + + Figure 12: AWS S3 - Set permissions + + .. figure:: ../../_figures/aws/import-clr-aws-13.png + :scale: 100% + :alt: AWS S3 - Set properties + + Figure 13: AWS S3 - Set properties + +#. Click :guilabel:`Upload` to upload the image. + See Figure 14. + + .. figure:: ../../_figures/aws/import-clr-aws-14.png + :scale: 100% + :alt: AWS S3 - Upload + + Figure 14: AWS S3 - Upload + +Add a user to IAM with AWS_CLI privilege +**************************************** + +#. Go to :guilabel:`Services`, :guilabel:`Security, Identity, & Compliance`, + and select :guilabel:`IAM`. + See Figure 15. + + .. figure:: ../../_figures/aws/import-clr-aws-08.png + :scale: 100% + :alt: AWS Services - IAM + + Figure 15: AWS Services - IAM + +#. On the left navigation bar under :guilabel:`Access management`, + select :guilabel:`Users`. + See Figure 16. + + .. figure:: ../../_figures/aws/import-clr-aws-16.png + :scale: 100% + :alt: AWS AIM - Access management + + Figure 16: AWS AIM - Access management + +#. Click :guilabel:`Add user`. + See Figure 17. + + .. figure:: ../../_figures/aws/import-clr-aws-17.png + :scale: 100% + :alt: AWS AIM - Add user + + Figure 17: AWS AIM - Add user + +#. Under the :guilabel:`Set user details` section, enter a user name. + See Figure 18. + + .. figure:: ../../_figures/aws/import-clr-aws-18.png + :scale: 100% + :alt: AWS AIM - Enter user name and select access type + + Figure 18: AWS AIM - Enter user name and select access type + +#. Under the :guilabel:`Select AWS access type` section, + checkmark :guilabel:`Programmatic access`. + See Figure 18. + +#. Click :guilabel:`Next: Permissions`. + +#. Under :guilabel:`Set permissions`, select :guilabel:`Add user to group`. + See Figure 19. + + .. figure:: ../../_figures/aws/import-clr-aws-19.png + :scale: 100% + :alt: AWS AIM - Set user permissions + + Figure 19: AWS AIM - Set user permissions + +#. Under :guilabel:`Add user to group`, enter `AWS_CLI` into search window. + Checkmark :guilabel:`AWS_CLI`. + See Figure 19. + +#. Click :guilabel:`Next: Tags`. + +#. Click :guilabel:`Next: Review`. + +#. Click :guilabel:`Create user`. + See Figure 20. + + .. figure:: ../../_figures/aws/import-clr-aws-20.png + :scale: 100% + :alt: AWS AIM - Create user + + Figure 20: AWS AIM - Create user + +#. After the user is successfully added, save the :guilabel:`Access key ID` + and the :guilabel:`Secret access key`. These will be used when setting up + the AWS CLI tool at a later step. + See Figure 21. + + .. figure:: ../../_figures/aws/import-clr-aws-21.png + :scale: 100% + :alt: AWS AIM - Access key ID and secret access key + + Figure 21: AWS AIM - Access key ID and secret access key + +#. Click :guilabel:`Close`. + +Install and configure the AWS CLI tool on your system +***************************************************** + +#. To install the tool on |CL|, simply run: + + .. code-block:: bash + + sudo swupd bundle-add cloud-api + + .. note: + + If you are using a different OS, follow the + `Installing the AWS CLI version 2`_ guide. + +#. Configure it with your security credentials, default region, + and default output format. See `Configuring the AWS CLI`_ for more information. + + .. code-block:: bash + + aws configure + + Below is an example (using the security credentials that was created in + the previous section): + + .. code-block:: console + + AWS Access Key ID [None]: AKIA5LEGQPQ3EUB3JMS7 + AWS Secret Access Key [None]: EcvbWpWr+Gp7NhBoVEacwR3EifzN7xTTg8B1PHvO + Default region name [None]: us-west-2 + Default output format [None]: json + +#. Verify your credentials are good. + + .. code-block:: bash + + aws iam list-access-keys + + If you get something like the example below, then make sure you set your + system date and time properly. + + .. code-block:: console + + An error occurred (SignatureDoesNotMatch) when calling the ListAccessKeys operation: Signature expired: 20200305T153154Z is now earlier than 20200305T231847Z (20200305T233347Z - 15 min.) + +Import a snapshot of the |CL| image +*********************************** + +#. Create a :file:`container.json` with the description of the image to import. + Specify the name of the S3 bucket that was created earlier for the + `S3Bucket` field and the name of |CL| image that was uploaded to the S3 bucket + for the `S3Key`. + + Here's an example: + + .. code-block:: console + + { + "Description": "My Clear Linux AWS 32400 Image", + "Format": "raw", + "UserBucket": { + "S3Bucket": "my-clearlinux-bucket", + "S3Key": "clear-32400-aws.img" + } + } + +#. Import a snapshot of the image. + + .. code-block:: bash + + aws ec2 import-snapshot \ + --description "My Clear Linux AWS 32400 Snapshot" \ + --disk-container file://container.json + + You should get an output similar this example: + + .. code-block:: console + + { + "Description": "My Clear Linux AWS 32400 Snapshot", + "ImportTaskId": "import-snap-00fa9ccd98e9b8378", + "SnapshotTaskDetail": { + "Description": "My Clear Linux AWS 32400 Snapshot", + "DiskImageSize": 0.0, + "Format": "RAW", + "Progress": "3", + "Status": "active", + "StatusMessage": "pending", + "UserBucket": { + "S3Bucket": "my-clearlinux-bucket", + "S3Key": "clear-32400-aws.img" + } + } + } + +#. Using the `ImportTaskId` from the previous step, check the status + of the import. For example: + + .. code-block:: bash + + snapshot_id=$(aws ec2 describe-import-snapshot-tasks \ + --import-task-ids "import-snap-00fa9ccd98e9b8378" \ + | grep SnapshotId | awk -F '"' '{print $4}') + + Wait for the `Status` field to show `completed` before proceeding. + + The resulting `snapshot_id` will be used to create an AMI in + the next section. + +Create an AMI from the snapshot +******************************* + +There are 2 methods to create an AMI from the snapshot. + +* *AWS CLI Method*: + + .. code-block:: bash + + aws ec2 register-image \ + --name "My-Clear-Linux-32400-AMI" \ + --description "My Clear Linux 32400 AMI" \ + --architecture x86_64 \ + --virtualization-type hvm \ + --ena-support \ + --root-device-name "/dev/sda1" \ + --block-device-mappings "[ + { + \”Deviceame\": \"/dev/sda1\", + \"Ebs\": { + \"SnapshotId\": \"$snapshot_id\" + } + } + ]" + +* *GUI Method*: + + #. Go to :guilabel:`Services`, :guilabel:`Compute`, and select + :guilabel:`EC2`. + See Figure 22. + + .. figure:: ../../_figures/aws/import-clr-aws-22.png + :scale: 100% + :alt: AWS Services - EC2 + + Figure 22: AWS Services - EC2 + + #. Click :guilabel:`Snapshots`. + See Figure 23. + + .. figure:: ../../_figures/aws/import-clr-aws-23.png + :scale: 100% + :alt: AWS Services - Snapshots + + Figure 23: AWS Services - Snapshots + + #. Locate the snaphot using the `Snapshot ID`. + See Figure 24. + + .. figure:: ../../_figures/aws/import-clr-aws-24.png + :scale: 100% + :alt: AWS Services - Snapshots + + Figure 24: AWS Services - Snapshots + + #. Right-click it and select :guilabel:`Create Image`. + + #. Configure as follows: + + * Enter the name in the :guilabel:`Name` field + * Enter the description in the :guilabel:`Description` field + * Set the :guilabel:`Architecture` as `x86_64` + * Set the :guilabel:`Virtualization type` as `Hardware-assisted virtualization` + * Set the :guilabel:`Root device name` as `/dev/sda1` + + See Figure 25. + + .. figure:: ../../_figures/aws/import-clr-aws-25.png + :scale: 100% + :alt: AWS Services - Snapshots + + Figure 25: AWS Services - Snapshots + + #. Click :guilabel:`Create`. + +Launch an instance +****************** + +#. Go to :guilabel:`Services`, :guilabel:`Compute`, and select + :guilabel:`EC2`. + See Figure 26. + + .. figure:: ../../_figures/aws/import-clr-aws-26.png + :scale: 100% + :alt: AWS Services - EC2 + + Figure 26: AWS Services - EC2 + +#. Click the :guilabel:`Launch Instance` dropdown and select + :guilabel:`Launch Instance`. + See Figure 27. + + .. figure:: ../../_figures/aws/import-clr-aws-27.png + :scale: 100% + :alt: AWS Services - Launch instance + + Figure 27: AWS Services - Launch instance + +#. On the left navigation bar, select :guilabel:`My AMIs`. + See Figure 28. + + .. figure:: ../../_figures/aws/import-clr-aws-28.png + :scale: 100% + :alt: AWS Services - Select AMI + + Figure 28: AWS Services - Select AMI + +#. Find your AMI and click :guilabel:`Select`. + +#. From here onward, configure the details of your instance as desired + and launch it. + +Connect to your |CL| instance +***************************** + +#. Follow these steps to `connect to your instance`_. + +Related topics +************** + +* :ref:`azure` +* :ref:`gce` +* :ref:`clr-digitalocean` + +.. _Downloads: + https://clearlinux.org/downloads +.. _aws.yaml: + https://cdn.download.clearlinux.org/current/config/image/aws.yaml +.. _AWS image post-install script: + https://cdn.download.clearlinux.org/current/config/image/aws-disable-root.sh +.. _Installing the AWS CLI version 2: + https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html +.. _Configuring the AWS CLI: + https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html +.. _connect to your instance: + https://docs.01.org/clearlinux/latest/get-started/cloud-install/aws-web.html#connect-to-your-clear-linux-os-basic-instance +.. _Installer YAML Syntax: + https://github.com/clearlinux/clr-installer/blob/master/scripts/InstallerYAMLSyntax.md +