4

С последним обновлением Aurora (1.8) была введена команда LOAD DATA FROM S3. Кто-нибудь получил это, чтобы работать? После обновления до 1,8 я выполнил руководство по настройке Here, чтобы создать Роль, чтобы разрешить доступ с RDS на S3.Amazon Aurora 1.8 Загрузка данных с S3 - не может запускать клиент S3

После перезагрузки сервера и пытается выполнить команду

LOAD DATA FROM S3 PREFIX 's3://<bucket_name>/prefix' INTO TABLE table_name 

в SQL Workbench/J, я получаю ошибки:

Warnings: 
S3 API returned error: Missing Credentials: Cannot instantiate S3 Client 
S3 API returned error: Failed to instantiate S3 Client 
Internal error: Unable to initialize S3Stream 

Есть ли какие-либо дополнительные шаги, необходимые? Могу ли я запустить это только из SDK? Я не вижу, чтобы это упоминалось где-либо в документах.

+0

У меня такая же проблема. Я обсуждал это на форуме AWS, и я, по-видимому, все правильно настроил. Помог мне парень-амазонка, обострил проблему. Если я получу разрешение, я передам его. – Ray

+0

То же самое случилось со мной, обострилось. Должна быть общей проблемой. – aarbor

+2

@ Ray Я связался с командой Aurora, они скоро выпустят патч для этого. – aarbor

ответ

11

У меня была та же проблема. Я попытался добавить AmazonS3FullAccess к роли IAM, которую использовали мои экземпляры RDS ... нет радости.

После того, как я высунулся, я вошел в консоль RDS в кластеры. Выбрал мой кластер Aurora и нажал «Управление ролями IAM». Это дало мне раскрывающееся меню, я выбрал роль IAM (тот же, что использовал отдельные экземпляры).

Как только я это сделал, все было хорошо, и загрузка данных была приятной и быстрой.

Итак, есть (для нас) 5 шагов/компонентов:

1) Ковш S3 и ведро политики, чтобы позволить пользователю, чтобы загрузить объект

{ 
    "Version": "2012-10-17", 
    "Id": "Policy1453918146601", 
    "Statement": [ 
     { 
      "Sid": "Stmt1453917898368", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::<account id>:<user/group/role>/<IAM User/Group/Role>" 
      }, 
      "Action": [ 
       "s3:DeleteObject", 
       "s3:GetObject", 
       "s3:PutObject" 
      ], 
      "Resource": "arn:aws:s3:::<bucket name>/*" 
     } 
    ] 
} 

«Принципал» будет любой пользователь, группа или роль IAM будет загружать файлы данных в ведро, чтобы экземпляр RDS мог импортировать данные.

2) IAM политика:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1486490368000", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject", 
       "s3:GetObjectVersion", 
       "s3:ListBucket" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::<bucket name>/*" 
      ] 
     } 
    ] 
} 

Это довольно просто с генератором политики.

3) Создание IAM Роль:

Эта роль должна быть назначена IAM политики выше. Возможно, вы также можете сделать встроенную политику, если вы не собираетесь использовать эту политику для других ролей в строке, но мне нравится идея иметь определенную политику, которую я могу ссылаться позже, если мне нужно.

4) Настройте группу параметров, которую ваш кластер/экземпляры будут использовать для установки значения aws_default_s3_role в ARN роли из # 3 выше.

5) Настройка Aurora кластера, перейдя к кластерам, выбрав кластер, выбрав Управление IAM ролей и настройка IAM роли для БД кластера

По крайней мере, для меня, эти шаги работал как шарм.

Надеюсь, что это поможет!

+0

Отметить это как ответ. Хотя изначально проблема возникла из-за проблемы с выпуском Aurora, эта проблема с тех пор была решена, и большинство людей, столкнувшихся с проблемой, теперь могут ее решить, выполнив следующие шаги. – aarbor

0

Вам необходимо прикрепить политику AmazonS3ReadOnlyAccess или AmazonS3FullAccess к роли, настроенной в IAM. Этот шаг не был включен в руководство по настройке.

Перейти к IAM -> Роли в консоли AWS, выберите роль, которую вы используете, нажмите «Приложить политику», затем прокрутите путь до политик S3 и выберите один из них.

+0

Я сделал это во время настройки. Амазонка увеличила мой билет поддержки. – aarbor

+0

hmmm ... Вот что исправил это для меня. Это очень новая особенность - я думаю, что мы, пионеры, должны немного пострадать, чтобы те, кто приходят после этого, имели более легкое время. – Ray

0

Я потянулся к команде Amazon Aurora, и они подтвердили, что кейсы с некоторыми из серверов имеют эту проблему. Они выкатывают патч, чтобы исправить проблему в ближайшее время, но в то же время вручную применили патч к моему кластеру.

+0

Привет аарбор. Похоже, у меня такая же проблема. Можете ли вы рассказать мне, что такое патч и как вы его применили? Спасибо Adam – ashimali

+0

Проверьте консоль на последние исправления и примените их, что должно решить проблему. – aarbor

1

После всех предложений выше, в качестве последнего шага мне пришлось добавить конечную точку VPC к S3. После этого все приступило к работе.

Смежные вопросы