Red Hat Training

A Red Hat training course is available for RHEL 8

6.5. Preparación y carga de imágenes en la nube con Image Builder

Image Builder puede crear imágenes de sistema personalizadas listas para ser utilizadas en nubes de varios proveedores. Para utilizar su imagen personalizada del sistema RHEL en una nube, cree la imagen del sistema con Image Builder utilizando el tipo de salida respectivo, configure su sistema para subir la imagen y suba la imagen a su cuenta de nube. A partir de Red Hat Enterprise Linux 8.3, la capacidad de empujar imágenes personalizadas a las nubes a través de la aplicación Image Builder en la consola web de RHEL está disponible para un subconjunto de los proveedores de servicios que soportamos, como las nubes AWS y Azure. Ver Pushing images to AWS Cloud AMI y Pushing VHD imaged to Azure cloud.

6.5.1. Preparación para la carga de imágenes AWS AMI

Esto describe los pasos para configurar un sistema para cargar imágenes de AWS AMI.

Requisitos previos

Procedimiento

  1. Instale Python 3 y la herramienta pip:

    # yum install python3
    # yum install python3-pip
  2. Instale las herramientas de línea de comandos de AWS con pip:

    # pip3 install awscli
  3. Ejecute el siguiente comando para configurar su perfil. El terminal le pide que proporcione sus credenciales, la región y el formato de salida:

    $ aws configure
    AWS Access Key ID [None]:
    AWS Secret Access Key [None]:
    Default region name [None]:
    Default output format [None]:
  4. Defina un nombre para su cubo y utilice el siguiente comando para crear un cubo:

    $ BUCKET=bucketname
    $ aws s3 mb s3://$BUCKET

    Sustituya bucketname por el nombre real del cubo. Debe ser un nombre único a nivel mundial. Como resultado, su cubo se ha creado.

  5. A continuación, para conceder el permiso de acceso al cubo de S3, cree una función de S3 vmimport en IAM, si no lo ha hecho ya en el pasado:

    $ printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }' > trust-policy.json
    $ printf '{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::%s", "arn:aws:s3:::%s/*" ] }, { "Effect":"Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource":"*" } ] }' $BUCKET $BUCKET > role-policy.json
    $ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
    $ aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json