適用於亞馬遜的 VPC 對等互連 GameLift - Amazon GameLift

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

適用於亞馬遜的 VPC 對等互連 GameLift

本主題提供有關如何在 Amazon GameLift 託管的遊戲伺服器與其他非 Amazon 資源之間設定 VPC 對等連接的指引。GameLift使用 Amazon 虛擬私有雲 (VPC) 對等連線,讓遊戲伺服器能夠直接和私密地與其他AWS資源 (例如 Web 服務或存放庫) 進行通訊。您可以使用任何在上執行的資源建立 VPC 對等互連,AWS並由您有權存取的AWS帳戶管理。

注意

VPC 對等互連是進階功能。若要瞭解啟用遊戲伺服器與其他AWS資源直接和私密通訊的偏好選項,請參閱與您車隊的其他AWS資源進行溝通

如果您已經熟悉 Amazon VPC 和 VPC 對等互連,請瞭解設定與 Amazon GameLift 遊戲伺服器的對等互連會有所不同。您無法存取包含遊戲伺服器的 VPC (由 Amazon GameLift 服務控制),因此您無法直接請求 VPC 對等互連。相反地,您必須先使用非 Amazon GameLift 資源預先授權 VPC,以接受來自 Amazon 服務的對等請求。GameLift然後,您會觸發 Amazon GameLift 要求您剛才授權的 VPC 對等互連。Amazon 會GameLift處理建立對等連線、設定路由表和設定連線的任務。

為現有機群設定 VPC 對等互連

  1. 獲取AWS帳戶 ID 和憑據。

    您需要下列AWS帳戶的 ID 和登入認證。您可以登入AWS Management Console並檢視您的AWS帳戶設定,以尋找帳戶 ID。若要取得登入資料,請前往 IAM 主控台。

    • AWS您用來管理 Amazon GameLift 遊戲伺服器的帳戶。

    • AWS您用來管理非 Amazon GameLift 資源的帳戶。

    如果您對 Amazon GameLift 和非 Amazon GameLift 資源使用相同的帳戶,則只需要該帳戶的 ID 和登入資料。

  2. 取得每個 VPC 的識別符。

    取得要進行對等互連兩個 VPC 的以下資訊:

    • 適用於您的亞馬遜GameLift遊戲伺服器的 VPC — 這是您的亞馬遜GameLift車隊 ID。您的遊戲伺服器是在 EC2 執行個體叢集GameLift上部署在 Amazon 中。叢集會自動放置在自己的 VPC 中,該 VPC 由 Amazon GameLift 服務管理。您無法直接存取 VPC,因此可由叢集 ID 識別。

    • 適用於非 Amazon GameLift AWS 資源的 VPC — 您可以使用任何在其上執行AWS並由您可存取的AWS帳戶管理的資源建立 VPC 對等互連。如果您尚未為這些資源建立 VPC,請參閱開始使用 Amazon V PC。建立 VPC 後,您可以透過登入 Amazon VPC 的 AWS Management Console並檢視您的 VPC,來找到 VPC ID。

    注意

    設定對等互連時,兩個 VPC 都必須存在相同區域。Amazon GameLift 叢集遊戲伺服器的虛擬私人雲端與叢集位於同一個區域。

  3. 授權 VPC 對等。

    在此步驟中,您將預先授權來自 Amazon 的未來請求,GameLift以將 VPC 與您的遊戲伺服器與非 Amazon 資源的 VPC 對等。GameLift此動作會更新 VPC 的安全群組。

    若要授權 VPC 對等互連,請呼叫亞馬遜GameLift服務 API CreateVpcPeeringAuthorization() 或使用 AWS CLI 命令。create-vpc-peering-authorization使用管理非 Amazon GameLift 資源的帳戶進行此呼叫。請識別以下資訊:

    • 對等虛擬私人雲端 ID — 這適用於包含您非 GameLift Amazon 資源的虛擬私人雲端。

    • 亞馬遜GameLiftAWS帳戶 ID — 這是您用來管理亞馬遜GameLift車隊的帳戶。

    授權 VPC 對等互連後,除非已撤銷,否則授權在 24 小時內有效。您可以使用以下操作來管理 VPC 對等授權:

  4. 要求對等連線。

    透過有效的授權,您可以要求 Amazon GameLift 建立對等連線。

    若要請求 VPC 對等互連,請呼叫亞馬遜GameLift服務 API CreateVpcPeeringConnection() 或使用 AWS CLI 命令。create-vpc-peering-connection使用管理 Amazon GameLift 遊戲伺服器的帳戶撥打此電話。使用下列資訊來識別您要建立對等互連的兩個 VPC:

    • 對等虛擬私人雲端 ID 和AWS帳戶 ID — 這是您非 Amazon GameLift 資源的虛擬私人雲端,以及您用來管理這些資源的帳戶。VPC ID 必須與有效對等授權上的 ID 相符。

    • 叢集 ID — 這可識別您 Amazon GameLift 遊戲伺服器的虛擬私人雲端。

  5. 追蹤對等連線狀態。

    要求 VPC 對等連線是一種非同步操作。若要追蹤對等請求的狀態並處理成功或失敗情況,請使用以下其中一個選項:

    • 使用 DescribeVpcPeeringConnections() 持續輪詢。這個操作會擷取 VPC 對等連線記錄 (包括請求的狀態)。如果成功建立對等連線,連線記錄還包含指派給 VPC 之私有 IP 地址的 CIDR 區塊。

    • 使用 DescribeFleetEvents() 處理與 VPC 對等連線相關聯的叢集事件,包括成功和失敗事件。

建立對等連線之後,您可以使用下列操作來進行管理:

使用新機群設定 VPC 對等

您可以建立新的 Amazon GameLift 叢集,並同時要求 VPC 對等連線。

  1. 獲取AWS帳戶 ID 和憑據。

    您需要下列兩個AWS帳戶的 ID 和登入認證。您可以登入AWS Management Console並檢視您的AWS帳戶設定,以尋找帳戶 ID。若要取得登入資料,請前往 IAM 主控台。

    • AWS您用來管理 Amazon GameLift 遊戲伺服器的帳戶。

    • AWS您用來管理非 Amazon GameLift 資源的帳戶。

    如果您對 Amazon GameLift 和非 Amazon GameLift 資源使用相同的帳戶,則只需要該帳戶的 ID 和登入資料。

  2. 取得您非亞馬遜GameLiftAWS資源的虛擬私人雲端識別碼。

    如果您尚未為這些資源建立 VPC,請立即執行 (請參閱開始使用 Amazon VPC)。請確定您已在計劃建立新機群的相同區域中建立新 VPC。如果您的非 Amazon GameLift 資源在與 Amazon 使用的AWS帳戶或使用者/使用者群組不同的帳戶或使用者/使用者群組下進行管理GameLift,則在下一步要求授權時,您將需要使用這些帳戶登入資料。

    一旦建立了 VPC,您可以透過檢視 VPC,在 Amazon VPC 主控台中尋找 VPC ID。

  3. 使用非 GameLift Amazon 資源授權 VPC 對等互連。

    當 Amazon GameLift 建立新叢集和對應的 VPC 時,它也會針對您的非 GameLift Amazon 資源向虛擬私人雲端傳送請求給對等。您需要預先授權該請求。此步驟會更新您 VPC 的安全群組。

    使用管理非亞馬遜GameLift資源的帳戶登入資料,呼叫亞馬遜GameLift服務 API CreateVpcPeeringAuthorization() 或使用 AWS CLI 命令create-vpc-peering-authorization。請識別以下資訊:

    • 對等虛擬私人雲端 ID — 虛擬私人雲端的識別碼與您的非 GameLift Amazon 資源一起使用。

    • 亞馬遜GameLiftAWS帳戶 ID — 您用來管理 Amazon GameLift 叢集的帳戶識別碼。

    授權 VPC 對等互連後,除非已撤銷,否則授權在 24 小時內有效。您可以使用以下操作來管理 VPC 對等授權:

  4. 遵循使用 AWSCLI 建立新叢集的指示。包含下列其他參數:

    • peer-vpc-aws-account-id — 您用來管理虛擬私人雲端 (包含非 GameLift Amazon 資源) 的帳戶識別碼。

    • peer-vpc-id— VPC 的 ID 與您的非GameLift帳戶.

使用 VPC 對等互連參數成功呼叫 create-fleet 會產生新的叢集及新的 VPC 對等互連請求。會將機群狀態設為新建且會起始化機群啟動程序。對等連線請求的狀態是設定為 initiating-request。您可以透過呼describe-vpc-peering-connections叫來追蹤對等連線要求的成功或失敗。

同時請求新機群和 VPC 對等連線時,兩個動作會一起成功或失敗。若叢集在建立程序期間失敗,便不會建立 VPC 對等互連。同樣地,若 VPC 對等互連因任何原因失敗,新叢集也將無法從正在啟用狀態移動到作用中狀態。

注意

在機群準備好成為作用中前,新 VPC 對等連線都未完成。這表示連線無法使用,且無法在遊戲伺服器建置安裝程序中使用。

下列範例會在預先建立的 VPC 和新機群的 VPC 之間建立新機群和對等連線。預先建立的 VPC 會透過您的非 Amazon GameLift AWS 帳戶 ID 和虛擬私人雲端 ID 的組合進行唯一識別。

$ AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --ec2-instance-type "c5.large" --fleet-type "ON_DEMAND" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --metric-groups "EMEAfleets" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"

可複製的版本:

AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --fleet-type "ON_DEMAND" --metric-groups "EMEAfleets" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --ec2-instance-type "c5.large" --runtime-configuration "GameSessionActivationTimeoutSeconds=300,MaxConcurrentGameSessionActivations=2,ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,Parameters=+sv_port 33435 +start_lobby,ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3,PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"

對 VPC 對等問題進行疑難排解

如果您無法為 Amazon GameLift 遊戲伺服器建立 VPC 對等連線,請考慮以下常見的根本原因:

  • 找不到所請求連線的授權:

    • 檢查非 Amazon GameLift VPC 的虛擬私人雲端授權狀態。它可能不存在或可能已過期。

    • 檢查您嘗試建立對等互連的兩個 VPC 區域。如果它們不在同一個區域,則無法建立其對等互連。

  • 兩個 VPC 的 CIDR 區塊 (請參閱無效的 VPC 對等連線組態) 會重疊。指派給對等 VPC 的 IPv4 CIDR 區塊不能重疊。您 Amazon GameLift 叢集的 VPC CIDR 區塊會自動指派且無法變更,因此您必須針對非 Amazon 資源變更 VPC 的 CIDR 區塊。GameLift若要解決此問題:

    • 通過電話DescribeVpcPeeringConnections()查找您的亞馬遜GameLift車隊的這個 CIDR 塊。

    • 前往 Amazon VPC 主控台,尋找非 Amazon GameLift 資源適用的 VPC,然後變更 CIDR 區塊,使其不會重疊。

  • 新的機群未啟用 (在與新機群請求 VPC 對等時)。如果新機群無法進入作用中狀態,表示沒有可以建立對等互連的 VPC,因此對等連線無法成功。