Configuración del emparejamiento de VPC para Amazon GameLift Servers - Amazon GameLift Servers

Configuración del emparejamiento de VPC para Amazon GameLift Servers

En este tema, se ofrecen directrices sobre cómo configurar una interconexión de VPC entre sus servidores de juegos alojados en Amazon GameLift Servers y otros recursos que no pertenecen a Amazon GameLift Servers. Utilice las conexiones de emparejamiento de la nube privada virtual (VPC) de Amazon para permitir que sus servidores de juegos se comuniquen directamente y de forma privada con otros de sus recursos de AWS, como un servicio web o un repositorio. Puede establecer un emparejamiento de VPC con cualquier recurso que se ejecute en AWS y se administre mediante una cuenta de AWS a la que tenga acceso.

nota

La interconexión de VPC es una característica avanzada. Si desea conocer las opciones preferidas para permitir que sus servidores de juegos se comuniquen directamente y de forma privada con sus otros recursos de AWS, consulte Conexión de un servidor de juegos alojado en Amazon GameLift Servers a otros recursos de AWS.

Si ya está familiarizado con las VPC de Amazon y las conexiones de emparejamiento de VPC, tenga en cuenta que la configuración del emparejamiento con los servidores de juegos de Amazon GameLift Servers es algo distinta. No dispone de acceso a la VPC que contiene los servidores de juegos (que se controla mediante el servicio de Amazon GameLift Servers), por lo que no puede solicitar directamente el emparejamiento de VPC. En lugar de ello, primero debe preautorizar la VPC con sus recursos que no pertenecen a Amazon GameLift Servers para aceptar una solicitud de interconexión del servicio Amazon GameLift Servers. A continuación, activa Amazon GameLift Servers para solicitar la interconexión de VPC que acaba de autorizar. Amazon GameLift Servers administra las tareas de creación de la interconexión, configuración de las tablas de enrutamiento y configuración de la conexión.

Para configurar la interconexión de VPC para una flota existente

  1. Obtenga los ID de cuenta de AWS y las credenciales.

    Necesita un ID y credenciales de inicio de sesión para las siguientes cuentas de AWS. Inicie sesión en la Consola de administración de AWS y consulte la configuración de su cuenta para encontrar los ID de cuenta de AWS. Para obtener las credenciales, vaya a la consola de IAM.

    • Cuenta de AWS que se utiliza para administrar los servidores de juegos de Amazon GameLift Servers.

    • Cuenta de AWS que se utiliza para administrar los recursos que no pertenecen a Amazon GameLift Servers.

    Si utiliza la misma cuenta para recursos de Amazon GameLift Servers y otros que no sean de Amazon GameLift Servers, necesita el ID y las credenciales de esa cuenta solo.

  2. Obtenga los identificadores de cada VPC.

    Obtenga la siguiente información para las dos VPC que se van a interconectar:

    • VPC para sus servidores de juegos de Amazon GameLift Servers: es decir, el ID de flota de Amazon GameLift Servers. Los servidores de juegos están implementados en Amazon GameLift Servers en una flota de instancias EC2. Cada flota se sitúa automáticamente en su propia VPC, que se administra mediante el servicio Amazon GameLift Servers. No dispone de acceso directo a la VPC, por lo que se identifica mediante el ID de la flota.

    • VPC para los recursos de Amazon GameLift Servers que no pertenecen a AWS: puede establecer un emparejamiento de VPC con cualquier recurso que se ejecute en AWS y se administre mediante una cuenta de AWS a la que tenga acceso. Si todavía no ha creado una VPC para esos recursos, consulte Introducción a Amazon VPC. Una vez que haya creado una VPC, puede encontrar el ID de esta iniciando sesión en la Consola de administración de AWS de Amazon VPC y consultando las VPC.

    nota

    Cuando se configura una interconexión, las dos VPC deben existir en la misma región. La VPC de los servidores de juegos de la flota de Amazon GameLift Servers está en la misma región que la flota.

  3. Autorizar una interconexión de VPC.

    En este paso, preautorizará una solicitud futura de Amazon GameLift Servers para conectar la VPC con los servidores de juegos con la VPC para recursos que no pertenecen a Amazon GameLift Servers. Esta acción actualiza el grupo de seguridad de la VPC.

    Para autorizar el emparejamiento de VPC, llame a la API de servicio CreateVpcPeeringAuthorization() o utilice el comando create-vpc-peering-authorization de la CLI de AWS. Realice esta llamada mediante la cuenta que administra los recursos que no pertenecen a Amazon GameLift Servers. Proporcione la siguiente información:

    • ID de VPC de par: es para la VPC con los recursos que no pertenecen a Amazon GameLift Servers.

    • ID de cuenta de AWS de Amazon GameLift Servers: es la cuenta que utiliza para administrar la flota de Amazon GameLift Servers.

    Una vez que haya autorizado la interconexión de VPC, la autorización sigue siendo válida durante 24 horas, a menos que se revoque. Puede administrar las autorizaciones de interconexión de VPC mediante las siguientes operaciones:

  4. Solicite una interconexión.

    Con una autorización válida, puede solicitar que Amazon GameLift Servers establezca una interconexión.

    Para solicitar un emparejamiento de VPC, llame a la API de servicio CreateVpcPeeringConnection() o utilice el comando create-vpc-peering-connection de la CLI de AWS. Realice esta llamada con la cuenta que administra los servidores de juego de Amazon GameLift Servers. Utilice la siguiente información para identificar las dos VPC que desea interconectar:

    • ID de la VPC de par e ID de la cuenta de AWS: es la VPC de los recursos que no pertenecen a Amazon GameLift Servers y la cuenta que utiliza para la administrarlos. El ID de la VPC debe coincidir con el ID de una autorización de interconexión válida.

    • ID de la flota: identifica la VPC de los servidores de juegos de Amazon GameLift Servers.

  5. Realice un seguimiento del estado de la interconexión.

    La solicitud de una interconexión de VPC es una operación asíncrona. Para realizar el seguimiento del estado de una solicitud de interconexión y gestionar los casos de éxito o error, utilice una de las siguientes opciones:

    • Sondee continuamente con DescribeVpcPeeringConnections(). Esta operación recupera el registro de la interconexión de VPC, incluido el estado de la solicitud. Si se crea correctamente una interconexión, el registro de conexión también contiene un bloque de CIDR de direcciones IP privadas que se asigna a la VPC.

    • Gestione los eventos de flota asociados a las inconexiones de VPC con DescribeFleetEvents(), incluidos los eventos de éxito y de error.

Una vez establecida la interconexión, puede administrarla mediante las siguientes operaciones:

Para configurar la interconexión de VPC con una nueva flota

Puede crear una nueva flota de Amazon GameLift Servers y solicitar una interconexión de VPC al mismo tiempo.

  1. Obtenga los ID de cuenta de AWS y las credenciales.

    Necesita un ID y credenciales de inicio de sesión para las siguientes dos cuentas de AWS. Inicie sesión en la Consola de administración de AWS y consulte la configuración de su cuenta para encontrar los ID de cuenta de AWS. Para obtener las credenciales, vaya a la consola de IAM.

    • Cuenta de AWS que se utiliza para administrar los servidores de juegos de Amazon GameLift Servers.

    • Cuenta de AWS que se utiliza para administrar los recursos que no pertenecen a Amazon GameLift Servers.

    Si utiliza la misma cuenta para recursos de Amazon GameLift Servers y otros que no sean de Amazon GameLift Servers, necesita el ID y las credenciales de esa cuenta solo.

  2. Obtenga el ID de la VPC para los recursos de AWS que no pertenecen a Amazon GameLift Servers.

    Si todavía no ha creado una VPC para estos recursos, hágalo ahora (consulte Introducción a Amazon VPC). Asegúrese de crear la nueva VPC en la misma región en la que piensa crear su nueva flota. Si los recursos no pertenecientes a Amazon GameLift Servers se administran en una cuenta de AWS o usuario/grupo de usuarios distintos de los que utiliza con Amazon GameLift Servers, deberá utilizar las credenciales de esta cuenta al solicitar la autorización en el siguiente paso.

    Una vez que haya creado una VPC, puede localizar el ID de la VPC en la consola de Amazon VPC consultando las VPC.

  3. Autorice una interconexión de VPC con los recursos que no pertenecen a Amazon GameLift Servers.

    Cuando Amazon GameLift Servers crea la nueva flota y la VPC correspondiente, también envía una solicitud para interconectar la VPC para los recursos que no pertenecen a Amazon GameLift Servers. Debe para preautorizar dicha solicitud. Este paso actualiza el grupo de seguridad de la VPC.

    Utilizando las credenciales de la cuenta que administra los recursos que no pertenecen a Amazon GameLift Servers, llame a la API de servicio CreateVpcPeeringAuthorization() o utilice el comando create-vpc-peering-authorization de la CLI de AWS. Proporcione la siguiente información:

    • ID de VPC de par: ID de la VPC con los recursos que no pertenecen a Amazon GameLift Servers.

    • ID de cuenta de AWS de Amazon GameLift Servers: ID de la cuenta que utiliza para administrar la flota de Amazon GameLift Servers.

    Una vez que haya autorizado la interconexión de VPC, la autorización sigue siendo válida durante 24 horas, a menos que se revoque. Puede administrar las autorizaciones de interconexión de VPC mediante las siguientes operaciones:

  4. Siga las instrucciones para crear una nueva flota a través de la CLI de AWS. Incluya los siguientes parámetros adicionales:

    • peer-vpc-aws-account-id: ID de la cuenta que utiliza para administrar la VPC con sus recursos que no pertenecen a Amazon GameLift Servers.

    • peer-vpc-id: ID de la VPC con la cuenta que no pertenece a Amazon GameLift Servers.

Una llamada correcta a create-fleet con los parámetros de la interconexión de VPC genera una flota nueva y una nueva solicitud de interconexión de VPC. El estado de la flota se establece en New y se inicia el proceso de activación de la flota. El estado de la solicitud de interconexión se establece en initiating-request. Puede comprobar si la solicitud de interconexión se realiza o no correctamente llamando a describe-vpc-peering-connections.

Cuando se solicita una nueva flota y una interconexión de VPC, las dos acciones se realizarán correctamente o producirán un error. Si se produce un error en una flota durante el proceso de creación, la interconexión de VPC no se establecerá. Del mismo modo, si falla una interconexión de VPC por cualquier motivo, la flota nueva no podrá a pasar del estado Activating al estado Active.

nota

La nueva interconexión de VPC no se completará hasta que la flota esté lista para activarse. Esto significa que la conexión no está disponible y no se puede usar durante el proceso de instalación de la compilación del servidor de juegos.

En el siguiente ejemplo se crea una nueva flota y una interconexión entre una VPC previamente establecida y la VPC de la nueva flota. La VPC preestablecida se identifica de forma inequívoca al combinar el ID de la cuenta de AWS que no es de Amazon GameLift Servers y el ID de la VPC.

$ 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"

Versión copiable:

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"

Solución de problemas de interconexión de VPC

Si tiene problemas para establecer una interconexión de VPC para sus servidores de juegos de Amazon GameLift Servers, tenga en cuenta estas causas principales comunes:

  • No se ha encontrado una autorización para la conexión solicitada:

    • compruebe el estado de una autorización de VPC para la VPC no perteneciente a Amazon GameLift Servers. Es posible que no exista o que haya caducado.

    • Compruebe las regiones de las dos VPC que intenta interconectar. Si no están en la misma región, no se pueden interconectar.

  • Los bloques de CIDR (consulte Configuraciones del emparejamiento de la VPC no válidas) de las dos VPC se superponen. Los bloques de CIDR IPv4 asignados a las VPC emparejadas no pueden solaparse. El bloque de CIDR de la VPC de su flota de Amazon GameLift Servers se asigna automáticamente y no se puede cambiar, por lo que tendrá que cambiar el bloque de CIDR de la VPC para los recursos no pertenecientes a Amazon GameLift Servers. Para resolver este problema, siga estos pasos:

    • Busque este bloque de CIDR para su flota de Amazon GameLift Servers llamando a DescribeVpcPeeringConnections().

    • Vaya a la consola de Amazon VPC, busque la VPC para los recursos no pertenecientes a Amazon GameLift Servers y cambie el bloque de CIDR para que no se superpongan.

  • La nueva flota no se activó (al solicitar la interconexión de VPC con una nueva flota). Si la nueva flota no pudo avanzar hasta el estado Activo no hay ninguna VPC con la que interconectar, por lo que no se puede realizar la interconexión.