ec2 делится ами с другим аккаунтом

Я создал AMI для EC2 и открыл доступ к другой учетной записи EC2, но не могу получить доступ к AMI с другой учетной записи EC2. Любая помощь будет оценена.

Вот что я сделал до сих пор:

Создан экземпляр с использованием Ubuntu 14.04

Войдите в инстанс и установите все необходимые инструменты

Создан новый AMI на основе экземпляра

Совместное использование AMI с другой учетной записью EC2

Вход в другую учетную запись EC2, но я не смог найти AMI в списке AMI

Любая помощь, где я могу найти AMI?

Большое спасибо.

3 ответа

Я предполагаю, что вы предоставили общий доступ к AMI в соответствии с этим документом: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html

После того, как вы поделились, затем, когда вы входите в другую учетную запись EC2, убедитесь, что вы выбрали Private Images как показано ниже.

введите описание изображения здесь

Только private Images Опция будет в списке. / Показать AMI, который вы поделились с другой учетной записью.

Недавно у меня была такая же проблема. Я знаю, что это старый вопрос, но он первый возникает в Google.

Документы для совместного использования зашифрованного AMI:
https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html

Я использовал группу автомасштабирования, поэтому я использовал связанную роль службы по умолчанию (arn:aws:iam::(account_id):role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling)

При совместном использовании из (ACCOUNT 1) -> (ACCOUNT 2):
в (ACCOUNT 1), где находится ключ KMS, используемый для шифрования AMI. Добавьте следующую политику:

{
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::(ACCOUNT 1 ID):root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::(ACCOUNT 2 ID):role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
                    "arn:aws:iam::(ACCOUNT 1 ID):role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
                    "arn:aws:iam::(ACCOUNT 2 ID):root"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:DescribeKey",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*"
        }

Теперь в консоли найдите свой AMI, щелкните правой кнопкой мыши и поделитесь с (ACCOUNT 2 ID). Теперь вы должны увидеть, что ваш AMI указан как "Личный" в (УЧЕТНАЯ ЗАПИСЬ 2).

Если вы попытаетесь запустить AMI в (ACCOUNT 2), он автоматически остановится и выбросит ClientErrorна тебе. Вам нужно выполнить следующий шаг (через aws cli):
aws kms create-grant --region (REGION WHERE KMS KEY LIVES) --key-id arn:aws:kms:us-west-2:(ACCOUNT 1 ID):key/(ACCOUNT 1 KMS KEY ID) --grantee-principal arn:aws:iam::(ACCOUNT 2 ID):role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"

Теперь все должно работать.

Когда вы совместно используете кросс-аккаунт AMI, зашифрованные AMI не смогут запускаться, если вы не настроите свою политику ключей, чтобы разрешить использование другого аккаунта aws.

затем вы легко можете перечислить в консоли aws, отфильтровав раздел частного изображения

Другие вопросы по тегам