

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 VPC 端點網路爬取 Amazon S3 資料存放區
<a name="connection-S3-VPC"></a>

出於安全性、稽核或控制目的，您可能希望 Amazon S3 資料存放區或 Amazon S3 支援的 Data Catalog 資料表只能透過 Amazon Virtual Private Cloud 環境 (Amazon VPC) 存取。本主題說明如何使用 `Network` 連線類型，在 VPC 端點中建立和測試 Amazon S3 資料存放區或 Amazon S3 支援的資料目錄資料表的連線。

執行下列工作，以在資料存放區上執行爬蟲程式：
+ [先決條件](#connection-S3-VPC-prerequisites)
+ [建立與 Amazon S3 的連線](#connection-S3-VPC-create-connection)
+ [測試與 Amazon S3 的連線](#connection-S3-VPC-test-connection)
+ [為 Amazon S3 資料存放區建立爬蟲程式](#connection-S3-VPC-create-crawler)
+ [執行爬蟲程式](#connection-S3-VPC-run-crawler)

## 先決條件
<a name="connection-S3-VPC-prerequisites"></a>

檢查您是否符合這些先決條件，以便將 Amazon S3 資料存放區或 Amazon S3 支援的資料目錄資料表設定為透過 Amazon Virtual Private Cloud 環境 (Amazon VPC) 存取。
+ 已設定的 VPC。例如：vpc-01685961063b0d84b。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [Amazon VPC 入門](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html)。
+ 連接到 VPC 的 Amazon S3 端點。例如：vpc-01685961063b0d84b。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的[適用於 Amazon S3 的端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。  
![連接到 VPC 的 Amazon S3 端點範例。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_s3_endpoint_attached.png)
+ 指向 VPC 端點的路由項目。例如，VPC 端點 (vpce-0ec5da4d265227786) 所使用的路由表中的 vpce-0ec5da4d265227786。  
![指向 VPC 端點的路由項目範例。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_route_entry.png)
+ 連接到 VPC 的網路 ACL 允許流量。
+ 連接至 VPC 的安全群組允許流量。

## 建立與 Amazon S3 的連線
<a name="connection-S3-VPC-create-connection"></a>

通常，您是在 Amazon Virtual Private Cloud (Amazon VPC) 內部建立資源，因此無法經由公有網際網路進行存取。根據預設， AWS Glue 無法存取 VPC 內的資源。若要讓 AWS Glue 存取 VPC 內的資源，您必須提供額外的 VPC 特定組態資訊，其中包含 VPC 子網路 IDs和安全群組 IDs。建立 `Network` 連線時需要指定以下資訊：
+ VPC ID
+ VPC 內的子網路
+ 安全群組

設定 `Network` 連線：

1. 選擇 AWS Glue 主控台導覽窗格中的 **Add connection** (新增連線)。

1. 輸入連線名稱，選擇 **Network** (網路) 做為連線類型。選擇 **Next** (下一步)。  
![選取連線類型。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_add_network_1.png)

1. 設定 VPC、子網路和安全群組資訊。
   + VPC：選擇包含資料存放區的 VPC 名稱。
   + 子網路：選擇 VPC 中的子網路。
   + 安全群組：選擇一個或多個允許存取 VPC 中資料存放區的安全群組。  
![選取連線類型。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_add_network_2.png)

1. 選擇 **Next** (下一步)。

1. 驗證連線資訊，然後選擇 **Finish** (完成)。  
![選取連線類型。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_add_network_3.png)

## 測試與 Amazon S3 的連線
<a name="connection-S3-VPC-test-connection"></a>

建立您的 `Network` 連線後，您可以在 VPC 端點中測試與 Amazon S3 資料存放區的連線。

測試連線時，可能會發生下列錯誤：
+ INTERNET CONNECTION ERROR：表示網際網路連線問題
+ INVALID BUCKET ERROR：表示 Amazon S3 儲存貯體發生問題
+ S3 CONNECTION ERROR：表示無法連線至 Amazon S3
+ INVALID CONNECTION TYPE：表示連線類型沒有預期的值，`NETWORK`
+ INVALID CONNECTION TEST TYPE：表示網路連線測試類型有問題
+ INVALID TARGET：表示尚未正確指定 Amazon S3 儲存貯體

測試 `Network` 連線：

1. 在 AWS Glue 主控台中選取 **Network** (網路) 連線。

1. 選擇 **Test connection** (測試連線)。

1. 選擇您在上一步驟中建立的 IAM 角色，並指定 Amazon S3 儲存貯體。

1. 選擇 **Test connection** (測試連線) 開始測試。可能需要幾分鐘才能顯示結果。

![測試連線。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_test_network.png)


 如果您收到錯誤，請檢查下列項目：
+ 系統會為所選角色提供正確的權限。
+ 已提供正確的 Amazon S3 儲存貯體。
+ 安全群組和網路 ACL 允許所需的輸入和輸出流量。
+ 您指定的 VPC 已連線到 Amazon S3 VPC 端點。

成功測試連線後，您就可以建立爬蟲程式。

## 為 Amazon S3 資料存放區建立爬蟲程式
<a name="connection-S3-VPC-create-crawler"></a>

您現在可以建立爬蟲程式來指定您已建立的 `Network` 連線。如需建立爬蟲程式的詳細資訊，請參閱[設定編目程式](define-crawler.md)。

1. 首先在 AWS Glue 主控台的導覽窗格中選擇**爬蟲程式**。

1. 選擇 **Add crawler** (新增爬蟲程式)。

1. 指定爬蟲程式名稱，然後選擇 **Next** (下一步)。

1. 系統詢問資料來源時，請選擇 **S3**，然後指定 Amazon S3 儲存貯體字首和您先前建立的連線。  
![測試連線。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_add_crawler_1.png)

1. 如果需要，請在相同的網路連線上新增其他資料存放區。

1. 選擇 IAM 角色。IAM 角色必須允許存取 AWS Glue 服務和 Amazon S3 儲存貯體。如需詳細資訊，請參閱[設定編目程式](define-crawler.md)。  
![測試連線。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_add_crawler_2.png)

1. 定義爬蟲程式的排程。

1. 在 Data Catalog 中選擇既有的資料庫，或建立新的資料庫項目。  
![測試連線。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_add_crawler_3.png)

1. 完成剩餘的設定。

## 為 Amazon S3 支援的 Data Catalog 資料表建立爬蟲程式
<a name="connection-S3-VPC-create-crawler-catalog-vpc"></a>

您現在可以建立爬蟲程式來指定您已建立的 `Network` 連線和目錄來源類型。如需建立爬蟲程式的詳細資訊，請參閱 [設定編目程式](define-crawler.md)。

1. 首先在 AWS Glue 主控台的導覽窗格中選擇**爬蟲程式**。

1. 選擇 **Add crawler** (新增爬蟲程式)。

1. 指定爬蟲程式名稱，然後選擇 **Next** (下一步)。

1. 當系統要求提供爬蟲程式來源類型時，選擇 **Existing catalog tables** (現有目錄資料表)，並指定要從可用資料表清單中搜尋的現有目錄資料表。  
![選擇爬蟲程式來源類型。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/catalog-vpc-1.png)

1. 選擇 IAM 角色。IAM 角色必須允許存取 AWS Glue 服務和 Amazon S3 儲存貯體。如需詳細資訊，請參閱[設定編目程式](define-crawler.md)。

1. 定義爬蟲程式的排程。

1. 在 Data Catalog 中選擇既有的資料庫，或建立新的資料庫項目。

1. 完成剩餘的設定並審查您的步驟。  
![選擇爬蟲程式來源類型。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/catalog-vpc-2.png)

## 執行爬蟲程式
<a name="connection-S3-VPC-run-crawler"></a>

執行您的爬蟲程式。

![隨需執行您的爬蟲程式。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/network_s3_vpc_s3_endpoint_run_crawler.png)


## 疑難排解
<a name="connection-S3-VPC-troubleshooting"></a>

如需使用 VPC 閘道與 Amazon S3 儲存貯體相關的疑難排解，請參閱[為什麼我無法使用閘道 VPC 端點連接到 S3 儲存貯體？](https://aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/)