Назад | Перейти на главную страницу

Что такое ImageLocation AMI и как получить к нему доступ?

Вывод команды descibe-images:

aws ec2 describe-images --image-id ami-0b898040803850657 --region us-east-1 --output json

Содержит строку ImageLocation:

{
    "Images": [
        {
            "Architecture": "x86_64",
            "CreationDate": "2019-06-19T21:59:15.000Z",
            "ImageId": "ami-0b898040803850657",
            "ImageLocation": "amazon/amzn2-ami-hvm-2.0.20190618-x86_64-gp2",
            "ImageType": "machine",
            "Public": true,
            "OwnerId": "137112412989",
            "State": "available",
            "BlockDeviceMappings": [
                {
                    "DeviceName": "/dev/xvda",
                    "Ebs": {
                        "Encrypted": false,
                        "DeleteOnTermination": true,
                        "SnapshotId": "snap-08091107f3acb12b2",
                        "VolumeSize": 8,
                        "VolumeType": "gp2"
                    }
                }
            ],
            "Description": "Amazon Linux 2 AMI 2.0.20190618 x86_64 HVM gp2",
            "EnaSupport": true,
            "Hypervisor": "xen",
            "ImageOwnerAlias": "amazon",
            "Name": "amzn2-ami-hvm-2.0.20190618-x86_64-gp2",
            "RootDeviceName": "/dev/xvda",
            "RootDeviceType": "ebs",
            "SriovNetSupport": "simple",
            "VirtualizationType": "hvm"
        }
    ]
}

Что это? Как я могу получить доступ к этому месту? Какие данные я могу ожидать найти в этом месте?

Для изображения AMI ImageLocation поле означает разные вещи в зависимости от типа изображения AMI.

Образы AMI, поддерживаемые EBS:

Для образов на основе EBS (том EBS в корневом каталоге) ImageLocation Поле представляет собой объединение владельца изображения (обычно 12-значного номера учетной записи AWS) и имени изображения.

Он не относится к фактическому местоположению (если он не относится к некоторому внутреннему местоположению, известному AWS). Но для нас это недоступное место.

Образы AMI с поддержкой S3:

Для образов S3-Backed (хранилище экземпляров в корневом каталоге) ImageLocation Поле - это место на S3, где находится файл манифеста изображения (XML).

Это место действительно будет доступно, если у вас есть доступ к ведру S3.

Из Консоли управления AWS

В Консоли управления AWS ImageLocation отображается как «Источник». При наведении курсора на поле «Источник» отображается текст всплывающей подсказки:

Для AMI, поддерживаемых хранилищем экземпляров Amazon, здесь находится исходный манифест Amazon S3. Для AMI, поддерживаемых Amazon EBS, это владелец и имя AMI.

ImageLocation -> (string)

The location of the AMI.

ImageLocation - это комбинация владельца и имени изображения.

I.E: принадлежит мне: account-number/ubuntu-1804-consul-2019-08-07T0834

принадлежит Amazon: aws-marketplace/zs9-ubuntu14-pro-php7.0-552-619b1fcc-9dc9-4c4d-87d5-5de08f456bd7-ami-a5e920b3.4

Думаю, вопрос в том, зачем вам это нужно? Что ты пытаешься сделать?