Creare una definizione di gruppo di container per una flotta di Amazon GameLift Servers container - Amazon GameLift Servers

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare una definizione di gruppo di container per una flotta di Amazon GameLift Servers container

Una definizione di gruppo di container descrive come distribuire le applicazioni di server di gioco containerizzate in una flotta di container. È un modello che indica Amazon GameLift Servers quali immagini di container distribuire nella flotta e come eseguirle. Quando crei una flotta di container, specifichi le definizioni dei gruppi di container da distribuire nella flotta. Per ulteriori informazioni sui gruppi di container, consultaComponenti della flotta di container.

Prima di iniziare

Suggerimenti su cosa fare prima di iniziare a creare una definizione di gruppo di contenitori:

  • Finalizza le immagini dei container e trasferiscile in un repository Amazon Elastic Container Registry (Amazon ECR) nello stesso in Regione AWS cui intendi creare il gruppo di contenitori. Amazon GameLift Serversacquisisce un'istantanea di ogni immagine al momento della creazione della definizione del gruppo di contenitori e la utilizza durante la distribuzione in una flotta di container. Consultare Crea un'immagine del contenitore per Amazon GameLift Servers.

  • Crea le definizioni dei contenitori come file JSON. Una definizione di gruppo di contenitori include una o più definizioni di contenitori. È possibile utilizzare i file JSON se si crea una definizione di gruppo di contenitori utilizzando. AWS CLIfor Amazon GameLift Servers

  • Verifica che il tuo AWS utente disponga delle autorizzazioni IAM per accedere al repository Amazon ECR. Consultare Esempi di autorizzazioni IAM per Amazon GameLift Servers.

Crea una definizione di gruppo di contenitori per server di gioco

Un gruppo di contenitori di server di gioco esegue il software del server di gioco. Un gruppo di contenitori di server di gioco ha un contenitore di server di gioco, che esegue l'eseguibile del server di gioco. Può anche avere uno o più contenitori di supporto per eseguire software aggiuntivo a supporto del server di gioco. (A volte vengono definiti contenitori «sidecar».)

Questo argomento descrive come creare una semplice definizione di gruppo di contenitori di server di gioco utilizzando la Amazon GameLift Servers console o gli AWS strumenti CLI. Per informazioni più dettagliate sulle funzionalità opzionali, consultaPersonalizza una flotta di Amazon GameLift Servers container.

Nota

È possibile modificare la maggior parte delle definizioni e delle impostazioni dei gruppi di contenitori dopo averle create. Se apporti modifiche alla definizione di un contenitore, Amazon GameLift Servers acquisisce una nuova istantanea delle immagini del contenitore aggiornate.

Per creare una semplice definizione di gruppo di contenitori per server di gioco:

Le seguenti istruzioni descrivono come creare una definizione di gruppo di contenitori con i parametri minimi richiesti e utilizzando i valori Amazon GameLift Servers predefiniti.

Console

Nella Amazon GameLift Serversconsole, seleziona il Regione AWS punto in cui desideri creare il gruppo di contenitori.

Apri la barra di navigazione a sinistra della console e scegli Contenitori gestiti: definizioni di gruppo. Nella pagina di definizione dei gruppi di contenitori, scegli Crea definizione di gruppo.

Fase 1: Definire i dettagli della definizione del gruppo di contenitori
  1. Immettere un nome per la definizione del gruppo di contenitori. Il nome deve essere univoco per la regione Account AWS and.

  2. Seleziona il tipo di gruppo di contenitori del server di gioco.

  3. Per Limite di memoria totale, inserisci le risorse di memoria massime da rendere disponibili per tutti i contenitori del gruppo di contenitori. Per informazioni sul calcolo di questo valore, consultaImposta i limiti delle risorse.

  4. Per Limite totale di vCPU, inserisci la potenza di calcolo massima da rendere disponibile per tutti i contenitori del gruppo di contenitori. Per informazioni sul calcolo di questo valore, consulta. Imposta i limiti delle risorse

Fase 2: Aggiungere le definizioni dei contenitori

Un gruppo di contenitori di server di gioco ha almeno un contenitore di server di gioco. Nella console, la prima definizione di contenitore che crei è il contenitore del server di gioco. Questo passaggio descrive come definire le impostazioni minime richieste per la definizione di un contenitore del server di gioco.

  1. Inserisci il nome della definizione del contenitore. Ogni contenitore definito per il gruppo deve avere un valore di nome univoco.

  2. Collegati a un'immagine del contenitore con la build del tuo server di gioco. Inserisci l'URI dell'immagine Amazon ECR per l'immagine di un contenitore in un repository pubblico o privato. Puoi utilizzare uno dei seguenti formati:

    • Solo URI dell'immagine: [Account AWS].dkr.ecr.[Regione AWS].amazonaws.com/[repository ID]

    • URI dell'immagine + digest: [Account AWS].dkr.ecr.[Regione AWS].amazonaws.com/[repository ID]@[digest]

    • Tag URI + dell'immagine: [Account AWS].dkr.ecr.[Regione AWS].amazonaws.com/[repository ID]:[tag]

  3. Specificate la versione Amazon GameLift Servers Server SDK utilizzata dalla build del server di gioco. Per una flotta di container, questo valore deve essere 5.2.0 o superiore.

  4. In Intervallo di porte del container interno, imposta il protocollo e definisci un intervallo di porte. La dimensione dell'intervallo deve essere maggiore del numero di processi simultanei del server di gioco che verranno eseguiti in questo contenitore. Se il contenitore del server di gioco esegue solo un processo server per contenitore, questo intervallo di porte richiede solo poche porte. Per ulteriori dettagli, consulta Configurare le connessioni di rete.

  5. Aggiungi altri contenitori se necessario per eseguire software di supporto aggiuntivo. I contenitori aggiuntivi vengono designati automaticamente come contenitori di supporto. Un gruppo di contenitori di server di gioco può avere solo un contenitore di server di gioco e fino a otto contenitori di supporto. Fornisci le seguenti impostazioni minime richieste:

    • Nome della definizione del contenitore

    • URI dell'immagine ECR.

    • Porte interne del contenitore (includetele solo se il contenitore ha processi che richiedono l'accesso alla rete).

Fase 3: Configurare le dipendenze
  • Se la definizione del gruppo di contenitori include più di un contenitore, puoi facoltativamente impostare le dipendenze tra i contenitori. Per ulteriori informazioni, consulta Imposta le dipendenze del contenitore.

Fase 3: Revisione e creazione
  1. Rivedi tutte le impostazioni di definizione del gruppo di contenitori. Usa Modifica per apportare modifiche a qualsiasi sezione, inclusa ciascuna delle definizioni dei contenitori per il gruppo.

  2. Al termine della revisione, scegli Crea.

    Se la richiesta ha esito positivo, la console visualizza la pagina di dettaglio per la nuova risorsa di definizione del gruppo di contenitori. Inizialmente lo stato èCOPYING: Amazon GameLift Servers inizia a scattare istantanee di tutte le immagini del contenitore per il gruppo. Al termine di questa fase, lo stato della definizione del gruppo di contenitori cambia inREADY. Una definizione di gruppo di container deve essere READY attiva prima di poter creare una flotta di container con essa.

AWS CLI

Quando utilizzi la AWS CLI per creare una definizione di gruppo di contenitori, mantieni le configurazioni della definizione del contenitore in un file separato. JSON Puoi fare riferimento al file nel tuo comando CLI. Vedi alcuni esempi Crea un file di definizione del contenitore JSON di schema.

Crea una definizione di gruppo di contenitori

Per creare una nuova definizione di gruppo di contenitori, utilizzate il create-container-group-definition comando CLI. Per ulteriori informazioni su questo comando, create-container-group-definitionconsultate la AWS CLI Command Reference.

Questo esempio illustra una richiesta per la definizione di un gruppo di contenitori di server di gioco. Si presuppone che tu abbia creato un file JSON con le definizioni dei contenitori per questo gruppo.

aws gamelift create-container-group-definition \ --name MyAdventureGameContainerGroup \ --operating-system AMAZON_LINUX_2023 \ --container-group-type GAME_SERVER \ --total-memory-limit-mebibytes 4096 \ --total-vcpu-limit 1 \ --game-server-container-definition file://MyAdventureGameContainers.json

Crea un file di definizione del contenitore JSON

Quando si crea una definizione di gruppo di contenitori, si definiscono anche i contenitori per il gruppo. Una definizione di contenitore specifica il repository Amazon ECR in cui è archiviata l'immagine del contenitore e le configurazioni opzionali per le porte di rete, i limiti per l'utilizzo di CPU e memoria e altre impostazioni. Consigliamo di creare un singolo JSON file con le configurazioni per tutti i contenitori in un gruppo di contenitori. La manutenzione di un file è utile per archiviare, condividere e tenere traccia delle versioni di queste configurazioni critiche. Se si utilizza la AWS CLI per creare le definizioni dei gruppi di contenitori, è possibile fare riferimento al file nel comando.

Per creare una definizione di contenitore
  1. Crea e apri un nuovo .JSON file. Per esempio:

    [~/work/glc]$ vim SimpleServer.json
  2. Crea una definizione di contenitore separata per ciascuno dei contenitori del gruppo. Copia il seguente contenuto di esempio e modificalo secondo necessità per i tuoi contenitori. Per i dettagli sulla sintassi di una definizione di contenitore, consulta ContainerDefinitionInputl'Amazon GameLift ServersAPI Reference.

  3. Salvate il file localmente in modo da potervi fare riferimento in un comando AWS CLI.

Questo esempio descrive il contenitore essenziale per il gruppo di contenitori del server di gioco. Il contenitore di replica essenziale include l'applicazione per server di gioco, l'Amazon GameLift ServersAgent, e può includere altro software di supporto per l'hosting dei giochi. La definizione deve includere un nome, un URI dell'immagine e una configurazione di porta. Questo esempio imposta anche alcuni limiti di risorse specifici del contenitore.

{ "ContainerName": "MyAdventureGameServer", "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:myadventuregame-server", "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 2000, "Protocol": "TCP", "ToPort": 2010 } ] }, "ServerSdkVersion": "5.2.0" }