10.3. RHEL Edge AMI イメージの AWS へのアップロード

CLI を使用して、edge-ami イメージを Amazon AWS クラウドサービスプロバイダーにアップロードします。

前提条件

  • AWS IAM アカウントマネージャーに Access Key ID を設定している。書き込み可能な S3 バケットを準備している。AWS バケットに 必要なロール を作成している。aws-cli ツールをインストールしている。

手順

  1. aws-cli ツールを設定します。

    $ aws configure
    1. プロフィールを設定します。コマンドを実行し、アクセスキー ID クレデンシャル、シークレットアクセスキー、デフォルトのリージョン名、およびデフォルトの出力名を入力します。

      $ aws configure --profile
  2. 既存のバケットをリスト表示します。

    $ aws s3 ls
  3. イメージを S3 にアップロードします。

    $ aws s3 cp <path_to_image/image> s3://<your_bucket_name>
  4. S3 バケット内のイメージをリスト表示します。

    $ aws s3 ls s3://<your_bucket_name>
  5. container-simple.json ファイルを作成します。"URL" の内容を S3 バケットに置き換えます。たとえば、s3://rhel-edge-ami-us-west-2/2ba3c125-cc58-4cc0-861a-4cc78e892df6-image.raw などです。

    {
      "Description": "RHEL for Edge image",
      "Format": "edge-ami",
      "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw"
    }
  6. edge.ami イメージを EC2 スナップショットとして S3 バケットにインポートします。

    注記

    EC2 イメージは、S3 バケットを作成したリージョンと同じリージョンに存在する必要があります。

    $ aws ec2 import-snapshot --description "RHEL edge" \
    --disk-container file://container-simple.json --region us-west-2

    次の .json はコマンド出力の例です。

    {
      "Description": "RHEL for Edge image",
      "Format": "edge-ami",
      "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw"
    }
  7. json の "ImportTaskId" 値をメモします。これはインポートステータスの確認に使用します。この例では、"ImportTaskId" は import-snap-0f3055c4b7a454c85 です。
  8. 前の手順の出力 json ファイルの "ImportTaskId" 値を使用して、スナップショットのインポートステータスを確認します。

    $ aws ec2 describe-import-snapshot-tasks \
    --import-task-ids import-snap-0f3055c4b7a454c85
    {
        "ImportSnapshotTasks": [
            {
                "Description": "RHEL edge",
                "ImportTaskId": "import-snap-0f3055c4b7a454c85",
                "SnapshotTaskDetail": {
                    "Description": "RHEL edge",
                    "DiskImageSize": 10737418240.0,
                    "Format": "RAW",
                    "SnapshotId": "snap-001b267e752039eab",
                    "Status": "completed",
                    "Url": "s3://rhel-edge-ami-us-west-2/2ba3c125-cc58-4cc0-861a-4cc78e892df6-image.raw",
                    "UserBucket": {
                        "S3Bucket": "rhel-edge-ami-us-west-2",
                        "S3Key": "2ba3c125-cc58-4cc0-861a-4cc78e892df6-image.raw"
                    }
                },
                "Tags": []
            }
        ]
    }

    "Status" が "completed" とマークされるまで、このコマンドを実行します。その後、EC2 にアクセスしてスナップショットから AMI イメージを作成し、起動します。

検証

イメージのアップロードが成功したことを確認するには、以下を行います。

  1. メニューで EC2 にアクセスし、AWS コンソールで正しいリージョンを選択します。イメージが正常にアップロードされたことを示すには、イメージが available ステータスになっている必要があります。
  2. ダッシュボードでイメージを選択し、Launch をクリックします。

    新しいインスタンスを起動するときは、ブートモードとして UEFI を選択し、EC2 イメージ用に少なくとも 4 GB の RAM を選択する必要があります。

  3. Ignition 設定で作成したユーザー名とパスワードを使用して、AWS の edge-ami にログインできます。