Не удается скопировать файлы из экземпляра S3 в EC2 - PullRequest
1 голос
/ 03 мая 2019

У меня есть экземпляр EC2, у которого открыт весь входящий трафик.Ему назначена следующая роль:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::test-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:ListObject"
            ],
            "Resource": [
                "arn:aws:s3:::test-bucket/*"
            ]
        }
    ]
}

Я пытаюсь скопировать файл из корзины S3 в этот экземпляр.

aws s3 cp s3://test-bucket/test.csv /home/ubuntu/

Я получаю эту ошибку:

фатальная ошибка: тайм-аут соединения по URL-адресу конечной точки: "https://test -bucket.s3.eu-central-1.amazonaws.com / test.csv"

Что я делаю не так?Как я могу получить публичный IP-адрес, используемый моей корзиной S3?Я могу попытаться указать это в моих исходящих правилах для EC2.

1 Ответ

0 голосов
/ 03 мая 2019

Как я могу получить публичный IP-адрес, используемый моей корзиной S3? Я могу попытаться указать это в моих исходящих правилах для EC2

Перейдите на консоль S3 с современным, не мобильным веб-браузером. Нажмите на объект внутри ведра. Справа появится панель сведений об объекте , в которой отображаются Обзор, Свойства и Разрешения . В обзоре есть объект URL. Обычно это следующий шаблон URL:

https://s3.amazonaws.com/<bucket-name>/<object key>

ping s3.amazonaws.com, чтобы получить IP-адрес. Прямо сейчас я получаю: 52.216.185.149

Чтобы получить диапазон s3 ips , используйте команду aws powershell :

Get-AWSPublicIpAddressRange -ServiceKey s3 -Region eu-central-1

IpPrefix            IpAddressFormat Region       Service
--------            --------------- ------       -------
52.219.72.0/22      Ipv4            eu-central-1 S3
52.219.44.0/22      Ipv4            eu-central-1 S3
52.92.68.0/22       Ipv4            eu-central-1 S3
54.231.192.0/20     Ipv4            eu-central-1 S3

Более простой подход для загрузки файлов s3 в ваш экземпляр Ubuntu. Я предлагаю вам выполнить шаги в этом руководстве , в котором используется команда s3 sync. Руководство использует роль, чтобы включить ваши S3 ведро патикулиц. Обратите внимание, что советы показывают, что вы не можете изменить роли IAM для своего экземпляра ec2 после его запуска, , но это больше не так . Вы можете создать роль и прикрепить ее к уже запущенному экземпляру. Я бы использовал команду s3 cp вместо s3 sync.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...