本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用 設定私有網路存取 AWS Client VPN
本教學課程將逐步引導您建立 VPN 通道,從您的電腦到 Amazon Managed Workflows for Apache Airflow 環境的 Apache Airflow Web 伺服器。若要透過 VPN 通道連線至網際網路,您必須先建立 AWS Client VPN 端點。設定完成後,Client VPN 端點會充當 VPN 伺服器,允許從您的電腦安全連線至 VPC 中的資源。然後,您將使用 AWS Client VPN 桌面版
章節
私有網路
本教學假設您已為 Apache Airflow Web 伺服器選擇私有網路存取模式。

私有網路存取模式會將對 Apache Airflow UI 的存取限制為 Amazon VPC 內已授予環境 IAM 政策存取權的使用者。
當您建立具有私有 Web 伺服器存取權的環境時,您必須在 Python 輪封存中封裝所有相依性 (.whl
),然後在 .whl
中參考 requirements.txt
。如需使用輪子封裝和安裝相依性的說明,請參閱使用 Python 輪子管理相依性。
下圖顯示在 Amazon MWAA 主控台上尋找私有網路選項的位置。

使用案例
您可以在建立 Amazon MWAA 環境之前或之後使用此教學課程。您必須使用與環境相同的 Amazon VPC、VPC 安全群組 (和私有子網路)。如果您在建立 Amazon MWAA 環境之後使用此教學課程,一旦完成這些步驟,您就可以返回 Amazon MWAA 主控台,並將 Apache Airflow Web 伺服器存取模式變更為私有網路。
開始之前
-
檢查使用者許可。請確定您在 AWS Identity and Access Management (IAM) 中的帳戶具有足夠的許可來建立和管理 VPC 資源。
-
使用您的 Amazon MWAA VPC。本教學課程假設您正在將 Client VPN 與現有 VPC 建立關聯。Amazon VPC 必須位於與 Amazon MWAA 環境相同的 AWS 區域,並有兩個私有子網路。如果您尚未建立 Amazon VPC,請在 中使用 AWS CloudFormation 範本選項 3:建立沒有網際網路存取權的 Amazon VPC 網路。
目標
在本教學中,您將執行下列作業:
-
使用現有 Amazon VPC 的 AWS CloudFormation 範本建立 AWS Client VPN 端點。
-
產生伺服器和用戶端憑證和金鑰,然後將伺服器憑證和金鑰上傳 AWS Certificate Manager 到與 Amazon MWAA 環境位於相同 AWS 區域的 。
-
下載和修改 Client VPN 的 Client VPN 端點組態檔案,並使用 檔案建立 VPN 設定檔,以使用 Client VPN for Desktop 進行連線。
(選用) 步驟一:識別您的 VPC、CIDR 規則和 VPC 安全性 (s)
下一節說明如何尋找 Amazon VPC、VPC 安全群組IDs,以及識別在後續步驟中建立 Client VPN 所需的 CIDR 規則。
識別您的 CIDR 規則
下一節說明如何識別建立 Client VPN 所需的 CIDR 規則。
識別 Client VPN 的 CIDR
-
使用導覽列中的區域選擇器,選擇與 Amazon MWAA 環境相同的 AWS 區域。
-
選擇您的 Amazon VPC。
-
假設私有子網路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。 -
-
儲存此 CIDR 值,以及 VPC ID 的值以進行後續步驟。
識別您的 VPC 和安全群組 (多個)
下一節說明如何尋找您建立 Client VPN 所需的 Amazon VPC 和安全群組 ID (這些 ID)。
注意
您可能正在使用多個安全群組。您需要在後續步驟中指定 VPC 的所有安全群組。
識別安全群組 (多個)
-
在 Amazon VPC 主控台上開啟安全群組頁面
。 -
使用導覽列中的區域選擇器來選擇 AWS 區域。
-
尋找 VPC ID 中的 Amazon VPC,並識別與 VPC 相關聯的安全群組。
-
儲存安全群組和 VPC 的 ID (以供後續步驟使用)。
步驟二:建立伺服器和用戶端憑證
Client VPN 端點僅支援 1024 位元和 2048 位元 RSA 金鑰大小。下一節說明如何使用 OpenVPN easy-rsa 來產生伺服器和用戶端憑證和金鑰,然後使用 AWS Command Line Interface () 將憑證上傳至 ACM AWS CLI。
建立用戶端憑證
-
請遵循這些快速步驟,透過用戶端身分驗證和授權 AWS CLI 中的 來建立憑證並上傳至 ACM:相互身分驗證。 https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#mutual
-
在這些步驟中,上傳伺服器和用戶端憑證時,您必須在 AWS CLI 命令中指定與 Amazon MWAA 環境相同的 AWS 區域。以下是如何在這些命令中指定區域的一些範例:
-
範例 伺服器憑證的區域
aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
--region us-west-2
-
範例 用戶端憑證的區域
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
-
完成這些步驟後,請儲存伺服器憑證和用戶端憑證 ARNs AWS CLI 回應中傳回的值。您將在 AWS CloudFormation 範本中指定這些 ARNs,以建立 Client VPN。
-
-
在這些步驟中,用戶端憑證和私有金鑰會儲存至您的電腦。以下是在哪裡尋找這些登入資料的範例:
-
範例 在 macOS 上
在 macOS 上,內容會儲存在 。
/Users/
如果您列出此目錄的所有 (youruser
/custom_folderls -a
) 內容,您應該會看到類似以下內容的內容:. .. ca.crt client1.domain.tld.crt client1.domain.tld.key server.crt server.key
-
完成這些步驟後,請儲存內容或記下用戶端憑證在 中的位置
client1.domain.tld.crt
,並在 中記下私有金鑰client1.domain.tld.key
。您將將這些值新增至 Client VPN 的組態檔案。
-
步驟三:在本機儲存 AWS CloudFormation 範本
下一節包含建立 Client VPN 的 AWS CloudFormation 範本。您必須指定與 Amazon MWAA 環境相同的 Amazon VPC、VPC 安全群組和私有子網路。
-
複製下列範本的內容,並在本機儲存為
mwaa_vpn_client.yaml
。您也可以下載 範本。取代下列值:
-
YOUR_CLIENT_ROOT_CERTIFICATE_ARN
– 中 client1.domain.tld 憑證的 ARNClientRootCertificateChainArn
。 -
YOUR_SERVER_CERTIFICATE_ARN
– 中伺服器憑證的 ARNServerCertificateArn
。 -
中的用戶端 IPv4 CIDR 規則
ClientCidrBlock
。10.192.0.0/22
提供 的 CIDR 規則。 -
您的 Amazon VPC ID
VpcId
。vpc-010101010101
提供 的 VPC。 -
您的 VPC 安全群組 ID (在 中)
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 AWS CloudFormation 堆疊
建立 AWS Client VPN
-
選擇範本已就緒,上傳範本檔案。
-
選擇選擇檔案,然後選擇您的
mwaa_vpn_client.yaml
檔案。 -
選擇下一步、下一步。
-
選取確認,然後選擇建立堆疊。
步驟 5:將子網路與 Client VPN 建立關聯
將私有子網路與 建立關聯 AWS Client VPN
-
開啟 Amazon VPC 主控台
。 -
選擇 Client VPN 端點頁面。
-
選取您的 Client VPN,然後選擇關聯索引標籤:關聯。
-
在下拉式清單中選擇下列項目:
-
您在 VPC 中的 Amazon VPC。
-
中其中一個私有子網路 選擇要關聯的子網路。
-
-
選擇關聯。
注意
VPC 和子網路需要幾分鐘的時間才能與 Client VPN 建立關聯。
步驟六:將授權輸入規則新增至 Client VPN
您需要使用 VPC 的 CIDR 規則將授權傳入規則新增至 Client VPN。如果您想要從 Active Directory 群組或 SAML 型身分提供者 (IdP) 授權特定使用者或群組,請參閱 Client VPN 指南中的授權規則。
將 CIDR 新增至 AWS Client VPN
-
開啟 Amazon VPC 主控台
。 -
選擇 Client VPN 端點頁面。
-
選取您的 Client VPN,然後選擇授權輸入索引標籤。
-
指定下列內容:
-
要啟用之目的地網路中的 Amazon VPC CIDR 規則。例如:
10.192.0.0/16
-
選擇允許授予存取權的所有使用者存取 。
-
在描述中輸入描述性名稱。
-
-
選擇新增授權規則。
注意
視 Amazon VPC 的網路元件而定,您可能還需要將此授權輸入規則輸入至您的網路存取控制清單 (NACL)。
步驟七:下載 Client VPN 端點組態檔案
下載組態檔
-
請依照這些快速步驟,在下載 Client VPN 端點組態檔案下載 Client VPN 組態檔案。
-
在這些步驟中,系統會要求您在 Client VPN 端點 DNS 名稱前面加上字串。範例如下:
-
範例 端點 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
-
-
在這些步驟中,系統會要求您在一組新的
<cert></cert>
標籤之間新增用戶端憑證的內容,以及在一組新的<key></key>
標籤之間新增私有金鑰的內容。範例如下:-
開啟命令提示,並將目錄變更為用戶端憑證和私有金鑰的位置。
-
範例 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> -
範例 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>
-
步驟 8:連線至 AWS Client VPN
的用戶端 AWS Client VPN 是免費提供的。您可以直接將電腦連接到 , AWS Client VPN end-to-end體驗。
連線至 Client VPN
-
下載並安裝 AWS Client VPN 桌面版
。 -
開啟 AWS Client VPN。
-
在 VPN 用戶端功能表中選擇檔案、受管設定檔。
-
選擇新增設定檔,然後選擇
downloaded-client-config.ovpn
。 -
在顯示名稱中輸入描述性名稱。
-
選擇新增設定檔,完成。
-
選擇連線。
連線至 Client VPN 後,您需要中斷與其他 VPNs連線,才能檢視 Amazon VPC 中的任何資源。
注意
您可能需要結束用戶端,並在能夠連線之前重新開始。
後續步驟?
-
了解如何在 中建立 Amazon MWAA 環境Amazon Managed Workflows for Apache Airflow 入門。您必須在與 Client VPN 相同的 AWS 區域中建立環境,並使用與 Client VPN 相同的 VPC、私有子網路和安全群組。