

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

# 在具有私有路由的 Amazon VPC 中建立所需的 VPC 服務端點
<a name="vpc-vpe-create-access"></a>

沒有網際網路存取的現有 Amazon VPC 網路需要額外的 VPC 服務端點 (AWS PrivateLink)，才能在 Amazon Managed Workflows for Apache Airflow 上使用 Apache Airflow。此頁面說明 Amazon MWAA 所使用的 AWS 服務所需的 VPC 端點、Apache Airflow 所需的 VPC 端點，以及如何建立 VPC 端點並將其連接至具有私有路由的現有 Amazon VPC。

**Contents**
+ [定價](#vpc-vpe-create-pricing)
+ [私有網路和私有路由](#vpc-vpc-create-onconsole)
+ [（必要） VPC 端點](#vpc-vpe-create-view-endpoints-examples)
+ [連接所需的 VPC 端點](#vpc-vpe-create-view-endpoints-attach-all)
  + [AWS 服務所需的 VPC 端點](#vpc-vpe-create-view-endpoints-attach-services)
  + [Apache Airflow 所需的 VPC 端點](#vpc-vpe-create-view-endpoints-attach-aa)
+ [（選用） 為您的 Amazon S3 VPC 介面端點啟用私有 IP 地址](#vpc-vpe-create-view-endpoints-s3-exception)
  + [使用 Route 53](#vpc-vpe-create-view-endpoints-s3-exception-route53)
  + [具有自訂 DNS VPCs](#vpc-vpe-create-view-endpoints-s3-exception-customdns)

## 定價
<a name="vpc-vpe-create-pricing"></a>
+ [AWS PrivateLink 定價](https://aws.amazon.com/privatelink/pricing/)

## 私有網路和私有路由
<a name="vpc-vpc-create-onconsole"></a>

![\[此影像顯示具有私有 Web 伺服器的 Amazon MWAA 環境架構。\]](http://docs.aws.amazon.com/zh_tw/mwaa/latest/userguide/images/mwaa-private-web-server.png)


私有網路存取模式會將對 Apache Airflow UI 的存取限制在 *Amazon VPC 中*已獲授予[環境 IAM 政策](access-policies.md)存取權的使用者。

當您建立具有私有 Web 伺服器存取權的環境時，您必須在 Python wheel 封存檔 (`.whl`) 中封裝所有相依性，然後在 `.whl`中參考 `requirements.txt`。如需使用 wheel 封裝和安裝相依性的說明，請參閱[使用 Python wheel 管理相依性](best-practices-dependencies.md#best-practices-dependencies-python-wheels)。

下圖說明在 Amazon MWAA 主控台上尋找**私有網路**選項的位置。

![\[此影像描述在 Amazon MWAA 主控台上尋找私有網路選項的位置。\]](http://docs.aws.amazon.com/zh_tw/mwaa/latest/userguide/images/mwaa-console-private-network.png)

+ **私有路由**。[沒有網際網路存取的 Amazon VPC](networking-about.md) 會限制 VPC 內的網路流量。此頁面假設您的 Amazon VPC 沒有網際網路存取，並且需要您環境所使用的每個 AWS 服務的 VPC 端點，以及與 Amazon MWAA 環境相同的 AWS 區域 和 Amazon VPC 中 Apache Airflow 的 VPC 端點。

## （必要） VPC 端點
<a name="vpc-vpe-create-view-endpoints-examples"></a>

下一節顯示沒有網際網路存取的 Amazon VPC 所需的必要 VPC 端點。它列出 Amazon MWAA 使用的每個 AWS 服務的 VPC 端點，包括 Apache Airflow 所需的 VPC 端點。

```
com.amazonaws.us-east-1.s3
com.amazonaws.us-east-1.monitoring
com.amazonaws.us-east-1.logs
com.amazonaws.us-east-1.sqs
com.amazonaws.us-east-1.kms
```

**注意**  
使用 Transit Gateway 或任何其他未直接前往 AWS API 端點的路由時，建議您將 AWS PrivateLink 新增至下列服務的 Amazon MWAA 私有子網路：  
Amazon S3
Amazon SQS
CloudWatch Logs
CloudWatch 指標
AWS KMS （如適用）
這可確保您的 Amazon MWAA 環境可以安全有效地與這些服務通訊，而無需透過公有網際網路路由流量，從而提高安全性和效能。

## 連接所需的 VPC 端點
<a name="vpc-vpe-create-view-endpoints-attach-all"></a>

本節說明為具有私有路由的 Amazon VPC 連接所需 VPC 端點的步驟。

### AWS 服務所需的 VPC 端點
<a name="vpc-vpe-create-view-endpoints-attach-services"></a>

下一節顯示將 環境所用 AWS 服務的 VPC 端點連接到現有 Amazon VPC 的步驟。

**將 VPC 端點連接至私有子網路**

1. 在 Amazon VPC 主控台上開啟[端點頁面](https://console.aws.amazon.com/vpc/home#Endpoints:sort=vpcEndpointType)。

1. 選取您的 AWS 區域。

1. 建立 Amazon S3 的端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.s3**，然後按下鍵盤上的 *Enter*。

   1. 建議您選擇針對**閘道**類型列出的服務端點。

      例如 **com.amazonaws.us-west-2.s3 amazon Gateway**

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取您在不同可用區域中的兩個私有子網路，且已選取啟用 DNS **名稱來啟用該私有 DNS**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

1. 建立 CloudWatch Logs 的端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.logs**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

1. 建立 CloudWatch 監控的端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.monitoring**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

1. 建立 Amazon SQS 的端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.sqs**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

1. 建立 的端點 AWS KMS：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.kms**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

### Apache Airflow 所需的 VPC 端點
<a name="vpc-vpe-create-view-endpoints-attach-aa"></a>

下一節顯示將 Apache Airflow 的 VPC 端點連接到現有 Amazon VPC 的步驟。

**將 VPC 端點連接至私有子網路**

1. 在 Amazon VPC 主控台上開啟[端點頁面](https://console.aws.amazon.com/vpc/home#Endpoints:sort=vpcEndpointType)。

1. 選取您的 AWS 區域。

1. 建立 Apache Airflow API 的端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.airflow.api**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

1. 建立 Apache Airflow 環境的第一個端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.airflow.env**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

1. 建立 Apache Airflow 操作的第二個端點：

   1. 選擇**建立端點**。

   1. 在*依屬性篩選或依關鍵字文字搜尋*欄位中，輸入：**.airflow.ops**，然後按下鍵盤上的 *Enter*。

   1. 選取服務端點。

   1. 在 VPC 中選擇您環境的 Amazon **VPC**。

   1. 確定已選取不同可用區域中的兩個私有子網路，且已啟用**啟用 DNS 名稱**。

   1. 選擇您環境的 Amazon VPC 安全群組。

   1. 在**政策**中選擇**完整存取**。

   1. 選擇**建立端點**。

## （選用） 為您的 Amazon S3 VPC 介面端點啟用私有 IP 地址
<a name="vpc-vpe-create-view-endpoints-s3-exception"></a>

Amazon S3 **Interface** 端點不支援私有 DNS。S3 端點請求仍會解析為*公*有 IP 地址。若要將 S3 地址解析為*私有* IP 地址，您需要在 [ Route 53 中為 S3 區域端點新增私有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)。 S3 

### 使用 Route 53
<a name="vpc-vpe-create-view-endpoints-s3-exception-route53"></a>

本節說明使用 Route 533 為 S3 **介面**端點啟用私有 IP 地址的步驟。

1. 為您的 Amazon S3 VPC 介面端點 （例如 s3.eu-west-1.amazonaws.com) 建立私有託管區域，並將其與您的 Amazon VPC 建立關聯。

1. 為您的 Amazon S3 VPC 介面端點 （例如 s3.eu-west-1.amazonaws.com) 建立 ALIAS 記錄，以解析為您的 VPC 介面端點 DNS 名稱。

1. 建立 ALIAS Amazon S3 介面端點 （例如 \$1.s3.eu-west-1.amazonaws.com) 的萬用字元記錄，可解析為 VPC 介面端點 DNS 名稱。

### 具有自訂 DNS VPCs
<a name="vpc-vpe-create-view-endpoints-s3-exception-customdns"></a>

如果您的 Amazon VPC 使用自訂 DNS 路由，您需要透過建立 CNAME 記錄，在 DNS 解析程式 （而非 Route 53，通常是執行 DNS 伺服器的 EC2 執行個體） 中進行變更。例如：

```
Name: s3.us-west-2.amazonaws.com
Type: CNAME
Value:  *.vpce-0f67d23e37648915c-e2q2e2j3.s3.us-west-2.vpce.amazonaws.com
```