組態最佳實務 - AWS 方案指引

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

組態最佳實務

本節提供最嚴格案例的詳細說明,其中所有通訊只會透過私有頻道進行,並包含針對每個區域所建置需求和對應元件的詳細說明。

本節說明最嚴格案例的組態 (僅限透過私有網路複寫),如第一個圖表所示,根據先前討論的考量。您可以略過最嚴格組態的部分來設定這兩種混合式案例:

  • 對於支援來源和私有暫存區域資源的公有 HTTPS 輸出的混合案例,不需要 Amazon S3 介面 VPC 端點。

  • 對於在來源和公有預備區域資源支援公有 HTTPS 輸出的混合案例,預備區域子網路中不需要 VPC 端點。

下列各節假設初始 Application Migration Service 組態已完成,如部落格文章所述:使用 加速遷移 AWS Application Migration Service以及如何將 New AWS Application Migration Service 用於Lift-and-Shift遷移)。此討論著重於限制性案例特有的元件,並假設沒有網際網路連線的私有臨時子網路。

子網路和路由組態

對於限制性案例,您可以在預備 VPC 的私有子網路中設定所需的 AWS 資源。此子網路沒有網際網路連線 (沒有網際網路閘道連接到路由表做為預設路由)。反之,它會使用與AWS Site-to-Site VPN閘道相關聯的虛擬閘道 (透過 IPsec 通道連接到內部部署閘道),或者連接到傳輸閘道或服務 Direct Connect ,以提供內部部署資料中心的私有互連性。

您將使用該私有子網路做為 Application Migration Service 管理之複寫相關資源的預備子網路,並使用 VPC 端點來設定透過此子網路存取所有必要的網路,如下一節所述。

VPC 端點組態

您現在需要在預備子網路中建立 VPC 端點,以便從內部部署子網路為複寫伺服器和 Application Migration Service Agents 提供連線。

以下是您需要的 VPC 端點完整清單:

  • Application Migration Service 和 Amazon EC2 介面端點,提供自己的彈性網路介面與私有 IP 地址和私有 DNS 名稱,供複寫伺服器和代理程式使用。(客服人員只會使用 Application Migration Service 端點。)

  • 在子網路路由表中提供特定路由的 Amazon S3 閘道端點 (雖然是字首清單)。這將由複寫伺服器使用。

  • Amazon S3 介面端點,提供具有私有子網路中專用私有 IP 地址的特定彈性網路介面。Application Migration Service Agents 將透過特定 DNS 名稱使用此地址。

下一節將詳細說明 VPC 端點的運作方式。下表列出為預備私有子網路建立的所有端點。(請注意,Amazon S3 閘道端點未佈建網路介面,但已將特定字首清單佈建至子網路的路由表中,如本指南稍後所述。)

AWS 服務 VPC endpoint type Private DNS Related subnet

Amazon EC2

介面

已啟用

預備私有子網路

應用程式遷移服務

介面

已啟用

預備私有子網路

Amazon Simple Storage Service (Amazon S3)

介面

預備私有子網路

Amazon Simple Storage Service (Amazon S3)

閘道

連接至預備私有子網路的路由表

您可以建立選用的 VPC 端點,以透過 存取私有隔離子網路上的 EC2 執行個體 AWS Systems Manager,如 Systems Manager 文件中的建立 VPC 端點中所述。

AWS 服務 VPC endpoint type Private DNS Related subnet

Systems Manager

介面

已啟用

預備私有子網路

ssmmessages

介面

已啟用

預備私有子網路

ec2messages

介面

已啟用

預備私有子網路

AWS Key Management Service (AWS KMS)

介面

已啟用

預備私有子網路

日誌

介面

已啟用

預備私有子網路

VPC 介面端點

建立介面端點也會為佈建指定介面端點的每個子網路建立特定的彈性網路介面。例如,Application Migration Service 界面端點佈建在預備 VPC 的私有子網路中,其具有與該子網路內 IP 地址相關聯的彈性網路界面,而且也有三個 DNS 名稱可從子網路解析為此 IP 地址:

  • 私有 DNS 名稱、 mgn.<region>.amazonaws.com

  • 兩個以端點 ID (vpce-xxx) 為基礎的 DNS 名稱,包含和不包含名稱中包含的區域: vpce-xxx-<region>.<service-name>vpce-xxx.<service-name>

這可讓在 VPC 中使用預設動態主機組態通訊協定 (DHCP) 選項集組態且同時enableDnsSupport啟用 DNS 屬性enableDnsHostnames和 的子網路中執行的任何執行個體:

  • 將 Application Migration Service (mgn.<region>.amazonaws.com) 的 DNS 名稱解析為指派給彈性網路介面的私有 IP 地址。

  • 僅使用本機網路連線至 Application Migration Service。

修正在預備子網路 (例如 Application Migration Service 複寫伺服器或轉換伺服器) 中執行之任何執行個體的連線 AWS 服務 能力,適用於在子網路中佈建界面端點 (例如 Amazon EC2、Application Migration Service、Systems Manager AWS KMS等) 的任何執行個體。

VPC 閘道端點

對於 Amazon S3 等服務,無法佈建固定 DNS 名稱,因為每個儲存貯體都有自己的 DNS 名稱。在此案例中,您將使用 VPC 閘道端點。 

建立 Amazon S3 閘道端點也會建立具有子網路目的地清單 (以 CIDR 表示法表示) 的特定字首清單物件,該清單可以新增到子網路路由表中。因此,解析至此清單中包含 IP 地址的 S3 儲存貯體 DNS 名稱可透過內部連線存取。 

當您佈建 Amazon S3 閘道端點時,您可以在路由表中指定應包含該字首清單 ID () 的子網路PL-<id>。預備私有子網路產生的路由表必須包含該字首清單 ID,如本範例路由表所示:

Destination Target

pl-<id>

vpce-<id-of-S3-Gateway-VPC-endpoint>

任何其他路由 (例如,來源子網路 CIDRs)

任何目標,例如虛擬閘道 IDs

本機 CIDR

"local"

DNS 解析程式傳入端點

上一節所述的組態已足夠用於在 AWS 子網路內執行的執行個體,因為它們已設定為使用內部 Amazon Route 53 DNS 伺服器。不過,內部部署來源伺服器需要額外的步驟,才能 AWS 服務 私下與 通訊。特別是,Application Migration Service Agent 必須從 Amazon S3 下載安裝程式,然後使用文件中提供的 DNS 名稱與 Application Migration Service 通訊。內部部署伺服器會使用其預設 DNS 伺服器來解析這些 DNS 名稱,進而產生公有 IP 地址。企業防火牆最終會封鎖透過 HTTPS/TCP 連接埠 443 與這些地址的通訊。

若要避免這種情況,您需要設定來源伺服器或其預設 DNS 伺服器,以用於Amazon Route 53 Resolver解析這些特定 DNS 名稱或子網域區域 (即完整*.<region>.amazonaws.com區域)。這可以透過建立 Route 53 Resolver 傳入端點進行設定,該端點與 VPC 界面端點一樣,具有在專用私有子網路中建立的專用彈性網路介面 AWS,因此能夠將 DNS 請求轉送至 Amazon Route 53 Resolver。 

彈性網路介面安全群組

每個彈性網路界面都有與其相關聯的專用安全群組,必須允許此彈性網路界面和對應端點預期的流量。因此,DNS 解析程式端點的安全群組應允許 DNS 請求的傳入 UDP 連接埠 53 (有時是 TCP 連接埠 53),而大多數其他服務 (Application Migration Service、Amazon EC2、Systems Manager 等) 的端點安全群組需要啟用傳入 HTTPS/TCP 連接埠 443。

在來源伺服器上安裝 Application Migration Service Agent

若要在來源伺服器上安裝 Application Migration Service Agent,您需要將 Application Migration Service 和 Amazon S3 介面端點的 DNS 名稱提供給代理程式的命令列參數 (請參閱 Application Migration Service 文件中的在安全網路上安裝代理程式)。 

對於 Application Migration Service 端點,您可以使用與其相關聯的任何 DNS 名稱:私有 DNS 欄位 (mgn.<region>.amazonaws.com) 或 VPC 特定的 DNS 名稱 (vpce-<VPC-id>-<suffix>.mgn.<region>.vpce.amazonaws.com),並提供引數:--endpoint <FQDN>。事實上,如果您略過此引數,代理程式會使用指定的 AWS 區域 來重建預設 DNS FQDN (mgn.<region>.amazonaws.com),並使用 FQDN 來存取 Application Migration Service 控制平面。在大多數情況下,該預設行為應該足夠,只要該 FQDN 從來源伺服器正確解析為在預備子網路中建立的 Application Migration Service VPC 端點彈性網路界面的私有 IP 地址。 

Amazon S3 介面端點不會有單一私有 DNS 名稱 (因為每個 S3 儲存貯體都有自己的名稱),因此不支援該選項。不過,Amazon S3 介面端點仍有與其相關聯的彈性網路介面。它還具有可解析到此私有 IP 的特定私有 IP 和萬用字元 DNS 名稱 (格式為 .vpce-<VPC-ID>-<suffix>.s3.<region>.vpce.amazonaws.com或區域特定 。vpce-<VPC-ID>-<suffix>-<region>.s3.<region>.vpce.amazonaws.com)。

該萬用字元 DNS 名稱可用於引--s3-endpoint數,如下所示:

aws-replication-installer-init.py --region <region> --aws-access-key-id <MGN_IAM_ACCESS_KEY>  --aws-secret-access-key <MGN_IAM_SECRET> --no-prompt \ --endpoint vpce-<VPC-id>-<suffix>.mgn.<region>.vpce.amazonaws.com --s3-endpoint vpce-<VPC-ID>-<suffix>-<region>.s3.<region>.vpce.amazonaws.com

下一節提供設定 Application Migration Service 的範例,包括所有必要的 VPC 端點,以及在 Windows 和 Linux 來源伺服器上使用 VPC 端點部署代理程式。本節涵蓋手動和自動部署。