

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

# Amazon Managed Workflows for Apache Airflow 教學課程
<a name="tutorials"></a>

本指南包含使用和設定 Amazon Managed Workflows for Apache Airflow 環境的step-by-step教學課程。

**Topics**
+ [教學課程：使用 設定私有網路存取 AWS Client VPN](tutorials-private-network-vpn-client.md)
+ [教學課程：使用 Linux 堡壘主機設定私有網路存取](tutorials-private-network-bastion.md)
+ [教學課程：限制 Amazon MWAA 使用者存取 DAGs的子集](limit-access-to-dags.md)
+ [教學課程：在 Amazon MWAA 上自動管理您自己的環境端點](tutorials-customer-managed-endpoints.md)

# 教學課程：使用 設定私有網路存取 AWS Client VPN
<a name="tutorials-private-network-vpn-client"></a>

本教學課程會逐步解說從電腦建立 VPN 通道到 Amazon Managed Workflows for Apache Airflow 環境的 Apache Airflow Web 伺服器的步驟。若要透過 VPN 通道連線至網際網路，您必須先建立 AWS Client VPN 端點。設定完成後，Client VPN 端點會充當 VPN 伺服器，允許從您的電腦安全連線至 VPC 中的資源。然後，您將使用 [AWS Client VPN 桌面版](https://aws.amazon.com/vpn/client-vpn-download/)從電腦連線至 Client VPN。

**Topics**
+ [私有網路](#private-network-vpn-onconsole)
+ [使用案例](#private-network-vpn-usecases)
+ [開始之前](#private-network-vpn-prereqs)
+ [目標](#private-network-vpn-objectives)
+ [（選用） 步驟一：識別您的 VPC、CIDR 規則和 VPC 安全性](#private-network-vpn-optional)
+ [步驟二：建立伺服器和用戶端憑證](#private-network-vpn-certs)
+ [步驟三：在本機儲存 CloudFormation 範本](#private-network-vpn-template)
+ [步驟四：建立 Client VPN CloudFormation 堆疊](#private-network-vpn-create)
+ [步驟五：將子網路與 Client VPN 建立關聯](#private-network-vpn-associate)
+ [步驟六：將授權輸入規則新增至 Client VPN](#private-network-vpn-autho)
+ [步驟七：下載 Client VPN 端點組態檔案](#private-network-vpn-download)
+ [步驟八：連線至 AWS Client VPN](#private-network-vpn-connect)
+ [後續步驟？](#create-vpc-vpn-next-up)

## 私有網路
<a name="private-network-vpn-onconsole"></a>

本教學假設您已為 Apache Airflow Web 伺服器選擇**私有網路**存取模式。

![\[此影像顯示具有私有 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)


## 使用案例
<a name="private-network-vpn-usecases"></a>

您可以在建立 Amazon MWAA 環境之前或之後使用此教學課程。您必須使用與環境相同的 Amazon VPC、VPC 安全群組和私有子網路。如果您在建立 Amazon MWAA 環境後使用此教學課程，一旦完成這些步驟，您就可以返回 Amazon MWAA 主控台，並將 Apache Airflow Web 伺服器存取模式變更為**私有網路**。

## 開始之前
<a name="private-network-vpn-prereqs"></a>

1. 檢查使用者許可。請確定您在 AWS Identity and Access Management (IAM) 中的帳戶有足夠的許可來建立和管理 VPC 資源。

1. 使用您的 Amazon MWAA VPC。本教學假設您正在將 Client VPN 與現有 VPC 建立關聯。Amazon VPC 必須位於與 Amazon MWAA 環境 AWS 區域 相同的 中，並有兩個私有子網路。如果您尚未建立 Amazon VPC，請在 中使用 CloudFormation 範本[選項三：在沒有網際網路存取*的情況下*建立 Amazon VPC 網路](vpc-create.md#vpc-create-template-private-only)。

## 目標
<a name="private-network-vpn-objectives"></a>

在本教學中，您將執行下列作業：

1. 使用現有 Amazon VPC 的 CloudFormation 範本建立 AWS Client VPN 端點。

1. 產生伺服器和用戶端憑證和金鑰，然後在 AWS 區域 與 Amazon MWAA 環境相同的 AWS Certificate Manager 中將伺服器憑證和金鑰上傳至 。

1. 下載和修改 Client VPN 的 Client VPN 端點組態檔案，並使用 檔案建立 VPN 設定檔，以使用 Client VPN for Desktop 進行連線。

## （選用） 步驟一：識別您的 VPC、CIDR 規則和 VPC 安全性
<a name="private-network-vpn-optional"></a>

下一節說明如何尋找 Amazon VPC、VPC 安全群組IDs，以及如何識別在後續步驟中建立 Client VPN 所需的 CIDR 規則。

### 識別您的 CIDR 規則
<a name="private-network-vpn-cidr"></a>

下一節說明如何識別您需要建立 Client VPN 的 CIDR 規則。

**識別 Client VPN 的 CIDR**

1. 在 [Amazon VPCs 主控台上開啟您的 Amazon VPC 頁面](https://console.aws.amazon.com/vpc/home#/vpcs:)。

1. 使用導覽列中的區域選擇器，選擇 AWS 區域 與 Amazon MWAA 環境相同的 。

1. 選擇您的 Amazon VPC。

1. 假設私有子網路CIDRs 為：
   + 私有子網路 1：10.192.10.0`/24`
   + 私有子網路 2：10.192.11.0`/24`

   如果 Amazon VPC 的 CIDR 為 10.192.0.0`/16`，則您為 Client VPN 指定的用戶端 ** IPv4 CIDR** 將為 10.192.0`/22`.0。

1. 儲存此 CIDR 值，以及 VPC ID 的值以供後續步驟使用。

### 識別您的 VPC 和安全群組
<a name="private-network-vpn-sec"></a>

下一節說明如何尋找 Amazon VPC 和安全群組的 ID，您需要這些 ID 才能建立 Client VPN。

**注意**  
您可能正在使用多個安全群組。您需要在後續步驟中指定 VPC 的所有安全群組。

**識別安全群組**

1. 在 Amazon VPC 主控台上開啟[安全群組頁面](https://console.aws.amazon.com/vpc/home#/securityGroups:)。

1. 使用導覽列中的區域選擇器來選擇 AWS 區域。

1. 在 VPC **ID 中搜尋 Amazon VPC**，並識別與 VPC 相關聯的安全群組。

1. 儲存安全群組和 VPC 的 ID 以進行後續步驟。

## 步驟二：建立伺服器和用戶端憑證
<a name="private-network-vpn-certs"></a>

Client VPN 端點僅支援 1024 位元和 2048 位元 RSA 金鑰大小。下一節說明如何使用 OpenVPN easy-rsa 產生伺服器和用戶端憑證和金鑰，然後使用 AWS Command Line Interface () 將憑證上傳至 ACM AWS CLI。

**建立用戶端憑證**

1. 請依照這些快速步驟，透過[用戶端身分驗證和授權：相互身分驗證](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#mutual) AWS CLI 中的 ，建立憑證並將其上傳至 ACM。

1. 在這些步驟中，上傳伺服器和用戶端憑證時，**您必須在** AWS CLI 命令中指定 AWS 區域 與 Amazon MWAA 環境相同的 。以下是如何在這些命令中指定區域的一些範例：

   1.   
**Example 伺服器憑證的區域**  

      ```
      aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt --region us-west-2
      ```

   1.   
**Example 用戶端憑證的區域**  

      ```
      aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt --region us-west-2
      ```

   1. 完成這些步驟後，請儲存伺服器憑證和用戶端憑證 ARNs AWS CLI 回應中傳回的值。您將在 CloudFormation 範本中指定這些 ARNs以建立 Client VPN。

1. 在這些步驟中，用戶端憑證和私有金鑰會儲存至您的電腦。以下是在何處尋找這些登入資料的範例：

   1.   
**Example 在 macOS 上**  

      在 macOS 上，內容會儲存在 。 `/Users/your-user/custom_folder`如果您列出此目錄的所有 (`ls -a`) 內容，您會得到類似以下內容的內容：

      ```
      .
      ..
      ca.crt
      client1.domain.tld.crt
      client1.domain.tld.key
      server.crt
      server.key
      ```

   1. 完成這些步驟後，請儲存內容或記下 中用戶端憑證的位置`client1.domain.tld.crt`，以及 中的私有金鑰`client1.domain.tld.key`。您將將這些值新增至 Client VPN 的組態檔案。

## 步驟三：在本機儲存 CloudFormation 範本
<a name="private-network-vpn-template"></a>

下一節包含建立 Client VPN 的 CloudFormation 範本。您必須指定與 Amazon MWAA 環境相同的 Amazon VPC、VPC 安全群組和私有子網路。
+ 複製下列範本的內容，並在本機儲存為 `mwaa_vpn_client.yaml`。您也可以[下載 範本](./samples/mwaa_vpn_client.zip)。

  取代下列值：
  + **YOUR\$1CLIENT\$1ROOT\$1CERTIFICATE\$1ARN** – 中 **client1.domain.tld** 憑證的 ARN`ClientRootCertificateChainArn`。
  + **YOUR\$1SERVER\$1CERTIFICATE\$1ARN** – 中**伺服器**憑證的 ARN`ServerCertificateArn`。
  + 中的用戶端 IPv4 CIDR 規則`ClientCidrBlock`。`10.192.0.0/22` 提供 的 CIDR 規則。
  + 您的 Amazon VPC ID`VpcId`。`vpc-010101010101` 提供 的 VPC。
  + 您在 中的 VPC 安全群組 IDs`SecurityGroupIds`。`sg-0101010101` 提供 的安全群組。

  ```
  AWSTemplateFormatVersion: 2010-09-09
  Description: This template deploys a VPN Client Endpoint.
  Resources:
    ClientVpnEndpoint:
      Type: 'AWS::EC2::ClientVpnEndpoint'
      Properties:
        AuthenticationOptions:
          - Type: "certificate-authentication"
            MutualAuthentication:
              ClientRootCertificateChainArn: "YOUR_CLIENT_ROOT_CERTIFICATE_ARN"
        ClientCidrBlock: 10.192.0.0/22
        ClientConnectOptions:
          Enabled: false
        ConnectionLogOptions:
          Enabled: false
        Description: "MWAA Client VPN"
        DnsServers: []
        SecurityGroupIds:
          - sg-0101010101
        SelfServicePortal: ''
        ServerCertificateArn: "YOUR_SERVER_CERTIFICATE_ARN"
        SplitTunnel: true
        TagSpecifications:
          - ResourceType: "client-vpn-endpoint"
            Tags:
            - Key: Name
              Value: MWAA-Client-VPN
        TransportProtocol: udp
        VpcId: vpc-010101010101
        VpnPort: 443
  ```

**注意**  
如果您為環境使用多個安全群組，您可以使用下列格式指定多個安全群組：  

```
SecurityGroupIds:
 - sg-0112233445566778b
 - sg-0223344556677889f
```

## 步驟四：建立 Client VPN CloudFormation 堆疊
<a name="private-network-vpn-create"></a>

**建立 AWS Client VPN**

1. 開啟 [AWS CloudFormation 主控台](https://console.aws.amazon.com/cloudformation/home#)。

1. 選擇**範本已就緒**，**上傳範本檔案**。

1. 選擇**選擇檔案**，然後選取您的`mwaa_vpn_client.yaml`檔案。

1. 選擇**下一步**、**下一步**。

1. 選取確認，然後選擇**建立堆疊**。

## 步驟五：將子網路與 Client VPN 建立關聯
<a name="private-network-vpn-associate"></a>

**將私有子網路與 建立關聯 AWS Client VPN**

1. 開啟 [Amazon VPC 主控台](https://console.aws.amazon.com/vpc/home#)。

1. 選擇 **Client VPN 端點**頁面。

1. 選取您的 Client VPN，然後選擇**關聯**索引標籤**：關聯**。

1. 在下拉式清單中選擇下列項目：
   + VPC 中的 Amazon **VPC**。
   + 中其中一個私有子網路 **選擇要關聯的子網路**。

1. 選擇**關聯**。

**注意**  
VPC 和子網路需要幾分鐘的時間才能與 Client VPN 建立關聯。

## 步驟六：將授權輸入規則新增至 Client VPN
<a name="private-network-vpn-autho"></a>

您需要使用 VPC 的 CIDR 規則將授權輸入規則新增至 Client VPN。如果您想要從 Active Directory 群組或 SAML 型身分提供者 (IdP) 授權特定使用者或群組，請參閱 *Client VPN 指南*中的[授權規則](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-rules.html)。

**將 CIDR 新增至 AWS Client VPN**

1. 開啟 [Amazon VPC 主控台](https://console.aws.amazon.com/vpc/home#)。

1. 選擇 **Client VPN 端點**頁面。

1. 選取您的 Client VPN，然後選擇**授權****輸入**索引標籤。

1. 指定下列內容：
   + **要啟用之目的地網路**中的 Amazon VPC CIDR 規則。例如：

     ```
     10.192.0.0/16
     ```
   + 選擇**允許授予存取權的所有使用者****存取**。
   + 在**描述**中輸入描述名稱。

1. 選擇**新增授權規則**。

**注意**  
視 Amazon VPC 的網路元件而定，您可能還需要此授權傳入規則到您的網路存取控制清單 (NACL)。

## 步驟七：下載 Client VPN 端點組態檔案
<a name="private-network-vpn-download"></a>

**下載組態檔**

1. 請依照這些快速步驟，在下載 Client VPN [端點組態檔案下載 Client VPN 組態檔案](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html#cvpn-getting-started-config)。

1. 在這些步驟中，系統會要求您在 Client VPN 端點 DNS 名稱前面加上字串。範例如下：

   1.   
**Example 端點 DNS 名稱**  

     如果您的 Client VPN 端點 DNS 名稱為：

     ```
     remote cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
     ```

     您可以新增字串來識別 Client VPN 端點，如下所示：

     ```
     remote mwaavpn.cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
     ```

1. 在這些步驟中，系統會要求您在一組新的`<cert></cert>`標籤之間新增用戶端憑證的內容，以及在一組新的`<key></key>`標籤之間新增私有金鑰的內容。範例如下：

   1. 開啟命令提示字元，並將目錄變更為用戶端憑證和私有金鑰的位置。

   1.   
**Example macOS client1.domain.tld.crt**  

      若要在 macOS 上顯示`client1.domain.tld.crt`檔案的內容，您可以使用 `cat client1.domain.tld.crt`。

      從終端機複製值並貼上，`downloaded-client-config.ovpn`如下所示：

      ```
      ZZZ1111dddaBBB
      -----END CERTIFICATE-----
      </ca>
      <cert>
      -----BEGIN CERTIFICATE-----
      YOUR client1.domain.tld.crt
      -----END CERTIFICATE-----                
      </cert>
      ```

   1.   
**Example macOS client1.domain.tld.key**  

      若要顯示 的內容`client1.domain.tld.key`，您可以使用 `cat client1.domain.tld.key`。

      從終端機複製值並貼上，`downloaded-client-config.ovpn`如下所示：

      ```
      ZZZ1111dddaBBB
      -----END CERTIFICATE-----
      </ca>
      <cert>
      -----BEGIN CERTIFICATE-----
      YOUR client1.domain.tld.crt
      -----END CERTIFICATE-----                
      </cert>
      <key>
      -----BEGIN CERTIFICATE-----
      YOUR client1.domain.tld.key
      -----END CERTIFICATE-----                
      </key>
      ```

## 步驟八：連線至 AWS Client VPN
<a name="private-network-vpn-connect"></a>

的用戶端 AWS Client VPN 是免費的。您可以直接將電腦連接到 ， AWS Client VPN end-to-end體驗。

**連線至 Client VPN**

1. 下載並安裝 [AWS Client VPN 桌面版](https://aws.amazon.com/vpn/client-vpn-download/) 。

1. 開啟 AWS Client VPN。

1. 在 VPN 用戶端功能表中選擇**檔案**、**受管設定檔**。

1. 選擇**新增設定檔**，然後選擇 `downloaded-client-config.ovpn`。

1. 在**顯示名稱中輸入描述性名稱**。

1. 選擇**新增設定檔**、**完成**。

1. 選擇**連線**。

連線至 Client VPN 後，您需要中斷與其他 VPNs連線，才能存取 Amazon VPC 中的任何資源。

**注意**  
您可能需要結束用戶端，並在能夠連線之前重新開始。

## 後續步驟？
<a name="create-vpc-vpn-next-up"></a>
+ 了解如何在 中建立 Amazon MWAA 環境[開始使用 Amazon Managed Workflows for Apache Airflow](get-started.md)。您必須在與 Client VPN AWS 區域 相同的 中建立環境，並使用與 Client VPN 相同的 VPC、私有子網路和安全群組。

# 教學課程：使用 Linux 堡壘主機設定私有網路存取
<a name="tutorials-private-network-bastion"></a>

本教學課程將逐步引導您建立 SSH 通道，從您的電腦到 Amazon Managed Workflows for Apache Airflow 環境的 Apache Airflow Web 伺服器。其假設您已建立 Amazon MWAA 環境。設定完成後，Linux 堡壘主機會充當跳轉伺服器，允許從您的電腦安全連線至 VPC 中的資源。然後，您將使用 SOCKS 代理管理附加元件來控制瀏覽器中的代理設定，以存取您的 Apache Airflow UI。

**Topics**
+ [私有網路](#private-network-lb-onconsole)
+ [使用案例](#private-network-lb-usecases)
+ [開始之前](#private-network-lb-prereqs)
+ [目標](#private-network-lb-objectives)
+ [步驟一：建立堡壘執行個體](#private-network-lb-create-bastion)
+ [步驟二：建立 SSH 通道](#private-network-lb-create-test)
+ [步驟三：將堡壘安全群組設定為傳入規則](#private-network-lb-create-sgsource)
+ [步驟四：複製 Apache Airflow URL](#private-network-lb-view-env)
+ [步驟五：設定代理設定](#private-network-lb-browser-extension)
+ [步驟六：開啟 Apache Airflow UI](#private-network-lb-open)
+ [後續步驟？](#bastion-next-up)

## 私有網路
<a name="private-network-lb-onconsole"></a>

本教學假設您已為 Apache Airflow Web 伺服器選擇**私有網路**存取模式。

![\[此影像顯示具有私有 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)


## 使用案例
<a name="private-network-lb-usecases"></a>

您可以在建立 Amazon MWAA 環境後使用此教學課程。您必須使用與環境相同的 Amazon VPC、VPC 安全群組和公有子網路。

## 開始之前
<a name="private-network-lb-prereqs"></a>

1. 檢查使用者許可。請確定您在 AWS Identity and Access Management (IAM) 中的帳戶有足夠的許可來建立和管理 VPC 資源。

1. 使用您的 Amazon MWAA VPC。本教學假設您正在將堡壘主機與現有 VPC 建立關聯。Amazon VPC 必須與 Amazon MWAA 環境位於相同的區域，並具有兩個私有子網路，如 中所定義[建立 VPC 網路](vpc-create.md)。

1. 建立 SSH 金鑰。您需要在與 Amazon MWAA 環境相同的區域中建立 Amazon EC2 SSH 金鑰 (.**pem**)，才能連線至虛擬伺服器。如果您沒有 SSH 金鑰，請參閱《*Amazon EC2 使用者指南*》中的[建立或匯入金鑰對](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#prepare-key-pair)。

## 目標
<a name="private-network-lb-objectives"></a>

在本教學中，您將執行下列作業：

1. 使用[CloudFormation 現有 VPC 的範本](https://fwd.aws/vWMxm)建立 Linux 堡壘主機執行個體。

1. 使用連接埠 上的輸入規則，將傳入流量授權至堡壘執行個體的安全群組`22`。

1. 授權從 Amazon MWAA 環境安全群組到堡壘執行個體安全群組的傳入流量。

1. 建立堡壘執行個體的 SSH 通道。

1. 安裝並設定 Firefox 瀏覽器的 FoxyProxy 附加元件，以存取 Apache Airflow UI。

## 步驟一：建立堡壘執行個體
<a name="private-network-lb-create-bastion"></a>

下一節說明使用 CloudFormation 主控台上[CloudFormation 現有 VPC 的範本](https://fwd.aws/vWMxm)建立 linux 堡壘執行個體的步驟。

**建立 Linux 堡壘主機**

1. 在 CloudFormation 主控台上開啟[部署 Quick Start](https://fwd.aws/Jwzqv) 頁面。

1. 使用導覽列中的區域選擇器，選擇與您的 Amazon MWAA 環境 AWS 區域 相同的 。

1. 選擇**下一步**。

1. 在**堆疊名稱**文字欄位中輸入名稱，例如 `mwaa-linux-bastion`。

1. 在**參數**、**網路組態**窗格中，選擇下列選項：

   1. 選擇 Amazon MWAA 環境的 **VPC ID**。

   1. 選擇 Amazon MWAA 環境的**公有子網路 1 ID**。

   1. 選擇 Amazon MWAA 環境的**公有子網路 2 ID**。

   1. 在**允許堡壘外部存取 CIDR 中輸入最窄的可能地址範圍 （例如，內部 CIDR **範圍）。
**注意**  
識別範圍的最簡單方法是使用與公有子網路相同的 CIDR 範圍。例如， [建立 VPC 網路](vpc-create.md)頁面上 CloudFormation 範本中的公有子網路為 `10.192.10.0/24`和 `10.192.11.0/24`。

1. 在 **Amazon EC2 組態**窗格中，選擇下列項目：

   1. 在金鑰**對名稱的下拉式清單中選擇您的 SSH 金鑰**。

   1. 在**堡壘主機名稱中輸入名稱**。

   1. 針對 **TCP 轉送**選擇 **true**。
**警告**  
在此步驟中，TCP 轉送必須設為 **true**。否則，您將無法在下一個步驟中建立 SSH 通道。

1. 選擇**下一步**、**下一步**。

1. 選取確認，然後選擇**建立堆疊**。

若要進一步了解 Linux 堡壘主機的架構，請參閱 [AWS 雲端上的 Linux 堡壘主機： 架構](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html)。

## 步驟二：建立 SSH 通道
<a name="private-network-lb-create-test"></a>

下列步驟說明如何為 linux 堡壘建立 ssh 通道。SSH 通道會將請求從本機 IP 地址接收到 linux 堡壘，這就是為什麼在先前的步驟`true`中將 linux 堡壘的 TCP 轉送設定為 的原因。

------
#### [ macOS/Linux ]

**使用命令列建立通道**

1. 在 Amazon EC2 主控台上開啟[執行個體](https://console.aws.amazon.com/ec2/v2/home#/Instances:)頁面。

1. 選擇執行個體。

1. 在**公有 IPv4 DNS** 中複製地址。例如 `ec2-4-82-142-1.compute-1.amazonaws.com`。

1. 在命令提示中，導覽至存放 SSH 金鑰的目錄。

1. 執行下列命令，使用 ssh 連線至堡壘執行個體。在 中使用 SSH 金鑰名稱取代範例值`mykeypair.pem`。

   ```
   ssh -i mykeypair.pem -N -D 8157 ec2-user@YOUR_PUBLIC_IPV4_DNS
   ```

------
#### [ Windows (PuTTY) ]

**使用 PuTTY 建立通道**

1. 在 Amazon EC2 主控台上開啟[執行個體](https://console.aws.amazon.com/ec2/v2/home#/Instances:)頁面。

1. 選擇執行個體。

1. 在**公有 IPv4 DNS** 中複製地址。例如 `ec2-4-82-142-1.compute-1.amazonaws.com`。

1. 開啟 [PuTTY](https://www.putty.org/)，選取**工作階段**。

1. 在主機名稱中以 ec2-user@*YOUR\$1PUBLIC\$1IPV4\$1DNS* 輸入**主機名稱**，並以 輸入**連接埠**`22`。

1. 展開 **SSH** 索引標籤，選取**驗證**。在用於**身分驗證的私有金鑰檔案中**，選擇您的本機「ppk」檔案。

1. 在 SSH 下，選擇**通道**索引標籤，然後選取*動態*和*自動*選項。

1. 在**來源連接埠**中，新增`8157`連接埠 （或任何其他未使用的連接埠），然後將**目的地**連接埠保留空白。選擇**新增**。

1. 選擇**工作階段**索引標籤，然後輸入工作階段名稱。例如 `SSH Tunnel`。

1. 選擇**儲存**、**開啟**。
**注意**  
您可能需要為公有金鑰輸入密碼短語。

------

**注意**  
如果您收到`Permission denied (publickey)`錯誤，建議您使用 [AWSSupport-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-awssupport-troubleshootssh.html) 工具，然後選擇**執行此自動化 （主控台）** 來疑難排解 SSH 設定。

## 步驟三：將堡壘安全群組設定為傳入規則
<a name="private-network-lb-create-sgsource"></a>

允許從伺服器存取伺服器和定期網際網路，並將特殊維護安全群組連接到這些伺服器。下列步驟說明如何將堡壘安全群組設定為環境 VPC 安全群組的傳入流量來源。

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1. 選擇環境。

1. 在**聯網**窗格中，選擇 **VPC 安全群組**。

1. 選擇 **Edit inbound Rules** (編輯傳入規則)。

1. 選擇**新增規則**。

1. 在**來源**下拉式清單中選擇您的 VPC 安全群組 ID。

1. 將其餘選項保留空白，或設定為其預設值。

1. 選擇**儲存規則**。

## 步驟四：複製 Apache Airflow URL
<a name="private-network-lb-view-env"></a>

下列步驟說明如何開啟 Amazon MWAA 主控台，並將 URL 複製到 Apache Airflow UI。

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1. 選擇環境。

1. 在 **Airflow UI **中複製 URL 以進行後續步驟。

## 步驟五：設定代理設定
<a name="private-network-lb-browser-extension"></a>

如果您使用 SSH 通道搭配動態連接埠轉送，您必須使用 SOCKS 代理管理附加元件，以控制在瀏覽器中的代理設定。例如，您可以使用 Chromium `--proxy-server`的功能來啟動瀏覽器工作階段，或在 Mozilla FireFox 瀏覽器中使用 FoxyProxy 延伸模組。

### 選項一：使用本機連接埠轉送設定 SSH 通道
<a name="private-network-lb-browser-extension-portforwarding"></a>

如果您不想使用 SOCKS 代理，您可以使用本機連接埠轉送來設定 SSH 通道。下列範例命令透過轉送本機連接埠 8157 上的流量來存取 Amazon EC2 *ResourceManager* Web 介面。

1. 開啟新的命令提示視窗。

1. 輸入下列命令以開啟 SSH 通道。

   ```
   ssh -i mykeypair.pem -N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ubuntu@YOUR_PUBLIC_IPV4_DNS.us-east-1.compute.amazonaws.com
   ```

   `-L` 表示使用本機連接埠轉送，您可以使用它來指定本機連接埠，用來將資料轉送到節點本機 Web 伺服器上已識別的遠端連接埠。

1. 在瀏覽器`http://localhost:8157/`中輸入 。
**注意**  
您可能需要使用 `https://localhost:8157/`。

### 選項二：使用命令列的代理
<a name="private-network-lb-browser-extension-foxyp"></a>

您可以使用大多數 Web 瀏覽器，使用命令列或組態參數來設定代理。例如，使用 Chromium，您可以使用下列命令啟動瀏覽器：

```
chromium --proxy-server="socks5://localhost:8157"
```

這會啟動瀏覽器工作階段，使用您在先前步驟中建立的 ssh 通道來代理其請求。您可以開啟私有 Amazon MWAA 環境 URL （使用 *https：//*)，如下所示：

```
https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.
```

### 選項三：使用 FoxyProxy for Mozilla Firefox 的代理
<a name="private-network-lb-browser-extension-foxyp"></a>

下面的範例演示了 Mozilla Firefox 的 FoxyProxy Standard (7.5.1 版) 組態。FoxyProxy 提供一組代理管理工具。它可讓您將代理伺服器用於符合對應於 Apache Airflow UI 所用網域之模式的 URLs。

1. 在 Firefox 中，開啟 [FoxyProxy 標準](https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/)擴充功能頁面。

1. 選擇**新增至 Firefox**。

1. 選擇**新增**。

1. 選擇瀏覽器工具列中的 FoxyProxy 圖示，然後選擇**選項**。

1. 複製下列程式碼，並在本機儲存為 `mwaa-proxy.json`。使用 **Apache Airflow URL** 取代 *YOUR\$1HOST\$1NAME* 中的範例值。

   ```
   {
     "e0b7kh1606694837384": {
       "type": 3,
       "color": "#66cc66",
       "title": "airflow",
       "active": true,
       "address": "localhost",
       "port": 8157,
       "proxyDNS": false,
       "username": "",
       "password": "",
       "whitePatterns": [
         {
           "title": "airflow-ui",
           "pattern": "YOUR_HOST_NAME",
           "type": 1,
           "protocols": 1,
           "active": true
         }
       ],
       "blackPatterns": [],
       "pacURL": "",
       "index": -1
     },
     "k20d21508277536715": {
       "active": true,
       "title": "Default",
       "notes": "These are the settings that are used when no patterns match a URL.",
       "color": "#0055E5",
       "type": 5,
       "whitePatterns": [
         {
           "title": "all URLs",
           "active": true,
           "pattern": "*",
           "type": 1,
           "protocols": 1
         }
       ],
       "blackPatterns": [],
         "index": 9007199254740991
     },
     "logging": {
       "active": true,
       "maxSize": 500
     },
     "mode": "patterns",
     "browserVersion": "82.0.3",
     "foxyProxyVersion": "7.5.1",
     "foxyProxyEdition": "standard"
   }
   ```

1. 在**從 FoxyProxy 6.0\$1 匯入設定**窗格中，選擇**匯入設定**並選取`mwaa-proxy.json`檔案。

1. 選擇**確定**。

## 步驟六：開啟 Apache Airflow UI
<a name="private-network-lb-open"></a>

下列步驟說明如何開啟 Apache Airflow UI。

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1. 選擇**開啟氣流使用者介面**。

## 後續步驟？
<a name="bastion-next-up"></a>
+ 了解如何在 中對堡壘主機的 SSH 通道上執行 Airflow CLI 命令[Apache Airflow CLI 命令參考](airflow-cli-command-reference.md)。
+ 了解如何將 DAG 程式碼上傳至 中的 Amazon S3 儲存貯體[新增或更新 DAGs](configuring-dag-folder.md)。

# 教學課程：限制 Amazon MWAA 使用者存取 DAGs的子集
<a name="limit-access-to-dags"></a>

Amazon MWAA 會將您的 IAM 主體映射至一或多個 Apache Airflow [的預設角色](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#default-roles)，以管理對您環境的存取。使用下列教學課程，限制個別 Amazon MWAA 使用者只能存取特定 DAG 或一組 DAGs 並與之互動。

**注意**  
只要可以擔任 IAM 角色，即可使用聯合存取完成本教學中的步驟。

**Topics**
+ [先決條件](#limit-access-to-dags-prerequisites)
+ [步驟一：使用預設 `Public` Apache Airflow 角色將 Amazon MWAA Webserver 存取權提供給 IAM 主體。](#limit-access-to-dags-apply-public-access)
+ [步驟二：建立新的 Apache Airflow 自訂角色](#limit-access-to-dags-create-new-airflow-role)
+ [步驟三：將您建立的角色指派給 Amazon MWAA 使用者](#limit-access-to-dags-assign-role)
+ [後續步驟](#limit-access-to-dags-next-up)
+ [相關資源](#limit-access-to-dags-related-resources)

## 先決條件
<a name="limit-access-to-dags-prerequisites"></a>

若要完成本教學課程中的步驟，您需要下列項目：
+ [具有多個 DAGs Amazon MWAA 環境](get-started.md)
+ `Admin` 具有 [AdministratorAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AdministratorAccess$jsonEditor) 許可的 IAM 主體，以及 IAM 使用者 `MWAAUser`，作為您可以限制 DAG 存取的主體。如需管理員角色的詳細資訊，請參閱《*IAM 使用者指南*》中的[管理員任務函數](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) 
**注意**  
請勿將許可政策直接連接至您的 IAM 使用者。我們建議您設定使用者可以擔任的 IAM 角色，以取得 Amazon MWAA 資源的暫時存取權。
+ 第 [AWS Command Line Interface 2 版](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install)已安裝。

## 步驟一：使用預設 `Public` Apache Airflow 角色將 Amazon MWAA Webserver 存取權提供給 IAM 主體。
<a name="limit-access-to-dags-apply-public-access"></a>

**使用 授予許可 AWS 管理主控台**

1.  AWS 帳戶 使用 `Admin`角色登入您的 ，並開啟 [IAM 主控台](https://console.aws.amazon.com/iam/)。

1. 在左側導覽窗格中，選擇**使用者**，然後從使用者資料表中選擇您的 Amazon MWAA IAM 使用者。

1. 在使用者詳細資訊頁面的**摘要**下，選擇**許可**索引標籤，然後選擇**許可政策**以展開卡片，然後選擇**新增許可**。

1. 在**授予許可**區段中，選擇**直接連接現有政策**，然後選擇**建立政策**以建立和連接您自己的自訂許可政策。

1. 在**建立政策**頁面上，選擇 **JSON**，然後在政策編輯器中複製並貼上下列 JSON 許可政策。Tha 政策會使用預設 `Public` Apache Airflow 角色將 Web 伺服器存取權授予使用者。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "airflow:CreateWebLoginToken",
               "Resource": [
               "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public"
               ]
           }
       ]
   }
   ```

------

## 步驟二：建立新的 Apache Airflow 自訂角色
<a name="limit-access-to-dags-create-new-airflow-role"></a>

**使用 Apache Airflow UI 建立新角色**

1. 使用您的管理員 IAM 角色，開啟 [Amazon MWAA 主控台](https://console.aws.amazon.com/mwaa/home)並啟動您環境的 Apache Airflow UI。

1. 從頂端的導覽窗格中，將滑鼠游標暫留在**安全性**上以開啟下拉式清單，然後選擇**列出角色**以存取預設 Apache Airflow 角色。

1. 從角色清單中，選取**使用者**，然後在頁面開頭選擇**動作**以開啟下拉式清單。選擇**複製角色**，並確認**確定**
**注意**  
複製 **Ops** 或 **Viewer** 角色，分別授予更多或更少的存取權。

1. 找到您在資料表中建立的新角色，然後選擇**編輯記錄**。

1. 在**編輯角色**頁面上，執行下列動作：
   + 針對**名稱**，在文字欄位中輸入角色的新名稱。例如 **Restricted**。
   + 如需**許可**清單，請移除 `can read on DAGs`和 `can edit on DAGs`，然後為您要提供存取權的一組 DAGs 新增讀取和寫入許可。例如，對於 DAG、`example_dag.py`、新增 **`can read on DAG:example_dag`**和 **`can edit on DAG:example_dag`**。

   選擇**儲存**。現在，您有一個新角色，限制對 Amazon MWAA 環境中可用 DAGs 子集的存取。您可以將此角色指派給任何現有的 Apache Airflow 使用者。

## 步驟三：將您建立的角色指派給 Amazon MWAA 使用者
<a name="limit-access-to-dags-assign-role"></a>

**指派新角色**

1. 使用 的存取憑證`MWAAUser`，執行下列 CLI 命令來擷取您環境的 Web 伺服器 URL。

   ```
   aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'
   ```

   如果成功，您將參考下列輸出：

   ```
   "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
   ```

1. `MWAAUser` 登入 後 AWS 管理主控台，開啟新的瀏覽器視窗並存取下列 URl。將 取代`Webserver-URL`為您的資訊。

   ```
   https://<Webserver-URL>/home
   ```

   如果成功，您會收到`Forbidden`錯誤頁面，因為 `MWAAUser` 尚未獲得存取 Apache Airflow UI 的許可。

1. `Admin` 登入 後 AWS 管理主控台，再次開啟 Amazon MWAA 主控台，並啟動您環境的 Apache Airflow UI。

1. 從 UI 儀表板中，展開**安全性**下拉式清單，這次選擇**列出使用者**。

1. 在使用者表格中，尋找新的 Apache Airflow 使用者，然後選擇**編輯記錄**。使用者的名字將符合以下模式的 IAM 使用者名稱：`user/mwaa-user`。

1. 在**編輯使用者**頁面上的角色****區段中，新增您建立的新自訂角色，然後選擇**儲存**。
**注意**  
**姓氏**欄位為必要欄位，但空格符合需求。

   IAM `Public`主體授予存取 Apache Airflow UI 的`MWAAUser`許可，而新角色則提供取得其 DAGs所需的額外許可。

**重要**  
IAM 未授權且使用 Apache Airflow UI 新增的 5 個預設角色 （例如 `Admin`)，都會在下次使用者登入時移除。

## 後續步驟
<a name="limit-access-to-dags-next-up"></a>
+ 若要進一步了解如何管理 Amazon MWAA 環境的存取權，以及取得可供環境使用者使用的 JSON IAM 政策範例，請參閱 [存取 Amazon MWAA 環境](access-policies.md)

## 相關資源
<a name="limit-access-to-dags-related-resources"></a>
+ [存取控制 ](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html)(Apache Airflow 文件） – 進一步了解 Apache Airflow 文件網站上的預設 Apache Airflow 角色。

# 教學課程：在 Amazon MWAA 上自動管理您自己的環境端點
<a name="tutorials-customer-managed-endpoints"></a>

如果您使用 [AWS Organizations](https://docs.aws.amazon.com/)管理多個 AWS 帳戶 共用資源，Amazon MWAA 可讓您建立和管理自己的 Amazon VPC 端點。這表示您可以使用更嚴格的安全政策，僅允許存取您環境所需的資源。

當您在共用的 Amazon VPC 中建立環境時，擁有主要 Amazon VPC (*擁有者*) 的帳戶會與屬於相同組織的其他帳戶 (*參與者*) 共用 Amazon MWAA 所需的兩個私有子網路。然後，共用這些子網路的參與者帳戶可以檢視、建立、修改和刪除共用 VPC 中的環境。

當您在共用或其他政策限制的 Amazon VPC 中建立環境時，Amazon MWAA 會先建立服務 VPC 資源，然後輸入[https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status](https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status)狀態長達 72 小時。

當環境狀態從 變更為 `CREATING` 時`PENDING`，Amazon MWAA 會傳送狀態變更的 Amazon EventBridge 通知。這可讓擁有者帳戶根據來自 Amazon MWAA 主控台或 API 的端點服務資訊，或以程式設計方式，代表參與者建立必要的端點。在下文中，我們使用 Lambda 函數和 EventBridge 規則來建立新的 Amazon VPC 端點，以接聽 Amazon MWAA 狀態變更通知。

在這裡，我們會在與環境相同的 Amazon VPC 中建立新的端點。若要設定共用的 Amazon VPC，請在擁有者帳戶中建立 EventBridge 規則和 Lambda 函數，並在參與者帳戶中建立 Amazon MWAA 環境。

**Topics**
+ [先決條件](#tutorials-customer-managed-endpoints-prerequisites)
+ [建立 Amazon VPC](#tutorials-customer-managed-endpoints-create-vpc)
+ [建立 Lambda 函式](#tutorials-customer-managed-endpoints-create-lambda-function)
+ [建立 EventBridge 規則](#tutorials-customer-managed-endpoints-create-eb-rule)
+ [建立 Amazon MWAA 環境](#tutorials-customer-managed-endpoints-create-mwaa)

## 先決條件
<a name="tutorials-customer-managed-endpoints-prerequisites"></a>

若要完成本教學課程中的步驟，您將需要下列項目：
+ ...

## 建立 Amazon VPC
<a name="tutorials-customer-managed-endpoints-create-vpc"></a>

使用下列 CloudFormation 範本和 AWS CLI 命令建立新的 Amazon VPC。範本會設定 Amazon VPC 資源，並修改端點政策以限制對特定佇列的存取。

1. 下載 CloudFormation [範本](samples/cfn-vpc-private-network.zip)，然後解壓縮`.yml`檔案。

1. 在新的命令提示字元視窗中，導覽至您儲存範本的資料夾，然後使用 [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html)建立堆疊。`--template-body` 旗標會指定範本的路徑。

   ```
   aws cloudformation create-stack --stack-name stack-name --template-body file://cfn-vpc-private-network.yml
   ```

在下一節中，您將建立 Lambda 函數。

## 建立 Lambda 函式
<a name="tutorials-customer-managed-endpoints-create-lambda-function"></a>

使用下列 Python 程式碼和 IAM JSON 政策建立新的 Lambda 函數和執行角色。此函數會為私有 Apache Airflow Web 伺服器和 Amazon SQS 佇列建立 Amazon VPC 端點。在擴展您的環境時，Amazon MWAA 使用 Amazon SQS 在多個工作者之間使用 Celery 將任務排入佇列。

1. 下載 Python [函數程式碼](./samples/mwaa-lambda-shared-vpc.zip)。

1. 下載 IAM [許可政策](./samples/lambda-mwaa-shared-vpce-policy.zip)，然後解壓縮 檔案。

1. 開啟命令提示，然後導覽至您儲存 JSON 許可政策的資料夾。使用 IAM [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)命令來建立新的角色。

   ```
   aws iam create-role --role-name function-role \
   						--assume-role-policy-document file://lambda-mwaa-vpce-policy.json
   ```

   請注意 AWS CLI 回應中的角色 ARN。在下一個步驟中，我們使用函數的 ARN 將此新角色指定為函數的執行角色。

1. 導覽至您儲存函數程式碼的資料夾，然後使用 [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)命令建立新的函數。

   ```
   aws lambda create-function --function-name mwaa-vpce-lambda \
   --zip-file file://mwaa-lambda-shared-vpc.zip --runtime python3.8 --role arn:aws:iam::123456789012:role/function-role --handler lambda_handler
   ```

   請注意 AWS CLI 回應中的函數 ARN。在下一個步驟中，我們會指定 ARN，將函數設定為新 EventBridge 規則的目標。

在下一節中，您會建立 EventBridge 規則，在環境進入 `PENDING` 狀態時叫用此函數。

## 建立 EventBridge 規則
<a name="tutorials-customer-managed-endpoints-create-eb-rule"></a>

執行下列動作來建立新的規則，以接聽 Amazon MWAA 通知並鎖定新的 Lambda 函數。

1. 使用 EventBridge `put-rule`命令建立新的 EventBridge 規則。

   ```
   aws events put-rule --name "mwaa-lambda-rule" \
   --event-pattern "{\"source\":[\"aws.airflow\"],\"detail-type\":[\"MWAA Environment Status Change\"]}"
   ```

   事件模式會接聽 Amazon MWAA 每當環境狀態變更時傳送的通知。

   ```
   {
   					"source": ["aws.airflow"],
   					"detail-type": ["MWAA Environment Status Change"]
   					}
   ```

1. 使用 `put-targets`命令將 Lambda 函數新增為新規則的目標。

   ```
   aws events put-targets --rule "mwaa-lambda-rule" \
   --targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:mwaa-vpce-lambda"
   ```

您已準備好使用客戶管理的 Amazon VPC 端點建立新的 Amazon MWAA 環境。

## 建立 Amazon MWAA 環境
<a name="tutorials-customer-managed-endpoints-create-mwaa"></a>

使用 Amazon MWAA 主控台建立具有客戶受管 Amazon VPC 端點的新環境。

1. 開啟 [Amazon MWAA](https://console.aws.amazon.com/mwaa/home/) 主控台，然後選擇**建立環境**。

1. 針對**名稱**輸入唯一的名稱。

1. 針對 **Airflow 版本**，選擇最新版本。

1. 選擇 **Amazon S3 儲存貯**體和 **DAGs**，例如`dags/`用於環境，然後選擇**下一步**。

1. 在**設定進階設定**頁面上，執行下列動作：

   1. 針對**虛擬私有雲端**，選擇您在[上一個步驟](#tutorials-customer-managed-endpoints-create-vpc)中建立的 Amazon VPC。

   1. 針對 **Web 伺服器存取**，選擇**公有網路 （網際網路可存取）**。

   1. 針對**安全群組**，選擇您建立的安全群組 CloudFormation。由於先前步驟中 AWS PrivateLink 端點的安全群組是自我參考的，因此您必須為您的環境選擇相同的安全群組。

   1. 針對**端點管理**，選擇**客戶受管端點**。

1. 保留剩餘的預設設定，然後選擇**下一步**。

1. 檢閱您的選擇，然後選擇**建立環境**。

**提示**  
如需設定新環境的詳細資訊，請參閱 [Amazon MWAA 入門](get-started.md)。

當環境為 時`PENDING`，Amazon MWAA 會傳送符合您為規則設定之事件模式的通知。此規則會叫用您的 Lambda 函數。函數會剖析通知事件，並取得 Web 伺服器和 Amazon SQS 佇列所需的端點資訊。然後，它會在您的 Amazon VPC 中建立端點。

當端點可用時，Amazon MWAA 會繼續建立您的環境。準備就緒時，環境狀態會變更為 ，`AVAILABLE`您可以使用 Amazon MWAA 主控台存取 Apache Airflow Web 伺服器。