4

使用最新的Aurora更新(1.8),引入了命令LOAD DATA FROM S3。有沒有人得到這個工作?升級到1.8後,我按照設置指南Here創建角色以允許從RDS訪問S3。Amazon Aurora 1.8從S3加載數據 - 無法實例化S3客戶端

重新啓動服務器,並試圖在SQL工作臺/ J運行命令

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

後,我得到的錯誤:

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添加到我的RDS實例正在使用的IAM角色......沒有快樂。

經過四處探查,我進入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值設置爲上面#3中角色的ARN。

5)將集羣配置極光集羣,選擇集羣,選擇管理IAM角色和設置IAM角色爲你的數據庫集羣

至少對我來說,這些步驟的工作就像一個魅力。

希望有幫助!

+0

將此標記爲答案。雖然最初這個問題是由於Aurora發佈本身的問題引起的,但是現在這個問題已經得到解決,現在大多數遇到此問題的人可以按照這些步驟來解決問題。 – aarbor

0

中沒有看到提及的任何內容您需要將AmazonS3ReadOnlyAccess或AmazonS3FullAccess策略附加到您在IAM中設置的角色。此步驟未包含在安裝指南中。

轉到IAM - > AWS控制檯中的角色,選擇您正在使用的角色,單擊「附加策略」,然後向下滾動到S3策略並選擇一個。

+0

下面的所有建議之後,我仍然遇到同樣的問題。亞馬遜已經升級了我的支持票。 – aarbor

+0

嗯......這就是爲我修復它。這是一項非常新的功能 - 我想我們的開拓者必須忍受一點點痛苦,以便那些後來者更容易。 – Ray

0

我聯繫了Amazon Aurora團隊,他們確認有一些服務器出現此問題的情況。他們正在推出一個補丁來儘快解決這個問題,但同時手動將補丁應用到我的羣集。

+0

嗨aarbor,它看起來像我有同樣的問題。你能告訴我該補丁是什麼以及你如何應用它?感謝Adam – ashimali

+0

檢查控制檯是否有最新的維護修補程序並應用它們,這可以解決問題 – aarbor

1

完成上述所有建議後,作爲最後一步,我必須將VPC端點添加到S3。之後,一切開始奏效。