組態最佳實務 - 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 通道連接到現場部署閘道),或連接到傳輸閘道或 AWS 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

介面

已啟用

預備私有子網路

ec2 訊息

介面

已啟用

預備私有子網路

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) 選項集組態,且同時啟用 DNS 屬性enableDnsHostnames的子網路中執行的任何執行個體enableDnsSupport

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

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

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

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),而大多數其他服務 (應用程式遷移服務、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 端點來部署代理程式。本節涵蓋手動和自動部署。