連線失敗 Connection Fail

AWS ETL (Extract, transform, load) 資料擷取、傳輸和載入,AWS Glue 問題排除:連線失敗 Connection Fail

AWS Glue 無法連線

在建立 AWS Glue 連線會顯示無法連線至 S3 endpoint,訊息如下

VPC S3 endpoint validation failed for SubnetId: subnet-919746c8. VPC: vpc-71a70514. Reason: Could not find S3 endpoint or NAT gateway for subnetId: subnet-919746c8 in Vpc vpc-71a70514 .

AWS Glue VPC Endpoint

AWS Glue 是在自己的內網,無法直接存取到 S3,所以必須建立一個 S3 VPC Endpoint 給他

AWS Glue VPC Endpoint

建立 S3 VPC Endpoint

開啟 Amazon VPC 主控台 https://console.aws.amazon.com/vpc/,確認 VPC 管理區域與 AWS Glue 及 S3 是在同個區域,目前選擇的是東京

AWS Glue VPC Endpoint

選擇左側選單的 Endpoints(端點),開始建立端點,在 Service category 選擇 AWS services

並在下方的 Service Name 區域搜尋 s3 的關鍵字,並選擇 com.amazonaws.ap-northeast-1.s3 的 Service Name,而類型選擇 Gateway

AWS Glue VPC Endpoint

勾選此區域的 route table

AWS Glue VPC Endpoint

完成 S3 VPC Endpoint 端點建立

AWS Glue VPC Endpoint

重新測試連線 AWS Glue 連線

測試的訊息會變更為 Testing access to your data store is in progress 則表示端點建立完成

AWS Glue VPC Endpoint

測試成功後會顯示 connected successfully to your instance

AWS Glue VPC Endpoint

貓膩

  • 目前測試連線的主機僅限於 AWS 內網的主機,需要使用 private ip 或 AWS 提供的內部 dns name 才可以連線

參考資料