Utilisation de la plateforme Go Elastic Beanstalk - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la plateforme Go Elastic Beanstalk

Vous pouvez utiliser AWS Elastic Beanstalk pour exécuter, développer et configurer des applications basées sur Go. Pour des applications Go simples, il existe deux façons de déployer votre application :

  • Fournissez un groupe source avec un fichier source à la racine appelé application.go qui contient le package principal pour votre application. Elastic Beanstalk crée le binaire à l'aide de la commande suivante :

    go build -o bin/application application.go

    Une fois que l'application est créée, Elastic Beanstalk la démarre sur le port 5000.

  • Fournissez un groupe source avec un fichier binaire appelé application. Le fichier binaire peut être situé soit à la racine du bundle de fichiers source, soit dans le répertoire bin/ du bundle de fichiers source. Si vous placez le fichier binaire application dans les deux emplacements, Elastic Beanstalk utilise le fichier du répertoire bin/.

    Elastic Beanstalk lance cette application sur le port 5000.

Dans les deux cas, avec Go 1.11 ou version ultérieure, vous pouvez également fournir des exigences de module dans un fichier appelé go.mod. Pour plus d'informations, consultez Migrer vers des modules Go dans le blog Go.

Pour des applications Go plus complexes, il existe deux façons de déployer votre application :

  • Fournissez un bundle source qui inclut vos fichiers sources d'application, avec un Buildfile et un Procfile. Le Buildfile inclut une commande pour générer l'application et le Procfile inclut des instructions pour exécuter l'application.

  • Fournissez un groupe source qui inclut vos fichiers binaires d'application, avec un Procfile. Le Procfile inclut des instructions pour exécuter l'application.

La plateforme Go inclut un serveur proxy pour servir les ressources statiques et transférer le trafic vers votre application. Vous pouvez étendre ou remplacer la configuration du serveur proxy par défaut pour les scénarios avancés.

Pour plus d'informations sur les différentes manières d'étendre une plateforme Elastic Beanstalk basée sur Linux, consultez Extension des plateformes Linux Elastic Beanstalk.

Configuration de votre environnement Go

Les paramètres de la plateforme Go vous permettent d'affiner le comportement de vos instances Amazon EC2. Vous pouvez modifier la configuration des instances Amazon EC2 de l'environnement Elastic Beanstalk à l'aide de la console Elastic Beanstalk.

Utilisez la console Elastic Beanstalk pour permettre la rotation des journaux sur Amazon S3 et configurer des variables que votre application peut lire à partir de l'environnement.

Pour configurer votre environnement Go dans la console Elastic Beanstalk
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.

Options du journal

La section Options du journal a deux paramètres :

  • Instance profile (Profil d'instance) – Spécifie le profil d'instance qui est autorisé à accéder au compartiment Amazon S3 associé à votre application.

  • Enable log file rotation to Amazon S3 (Permettre la rotation du fichier journal sur Amazon S3) – Indique si les fichiers journaux des instances Amazon EC2 de votre application doivent être copiés dans le compartiment Amazon S3 associé à votre application.

Fichiers statiques

Pour améliorer les performances, la section des Fichiers statiques vous permet de configurer le serveur proxy pour proposer des fichiers statiques (HTML ou images, par exemple) à partir d'un ensemble de répertoires dans votre application web. Pour chaque répertoire, vous définissez le chemin virtuel sur le mappage de répertoires. Lorsque le serveur proxy reçoit une demande pour un fichier dans le chemin spécifié, il fournit le fichier directement au lieu d'acheminer la demande vers votre application.

Pour en savoir plus sur la configuration des fichiers statiques à l'aide des fichiers de configuration ou de la console Elastic Beanstalk, consultez Service de fichiers statiques.

Propriétés de l'environnement

La section Propriétés de l'environnement vous permet de spécifier des paramètres de configuration de l'environnement sur les instances Amazon EC2 exécutant votre application. Les propriétés de l'environnement sont passées en tant que paires clé-valeur à l'application.

Dans l'environnement Go en cours d'exécution dans Elastic Beanstalk, les variables d'environnement sont accessibles à l'aide de la fonction os.Getenv. Par exemple, vous pouvez lire une propriété nommée API_ENDPOINT sur une variable avec le code suivant :

endpoint := os.Getenv("API_ENDPOINT")

Pour plus d'informations, consultez Propriétés de l'environnement et autres paramètres de logiciel.

Espaces de noms de la configuration Go

Vous pouvez utiliser un fichier de configuration pour définir des options de configuration et exécuter d'autres tâches de configuration d'instance pendant les déploiements. Les options de configuration peuvent être définies par le service Elastic Beanstalk ou la plateforme que vous utilisez et sont organisées en espaces de noms.

La plate-forme Go ne définit aucun espace de noms spécifique à la plate-forme. Vous pouvez configurer le proxy pour qu'il traite les fichiers statiques à l'aide de l'espace de noms aws:elasticbeanstalk:environment:proxy:staticfiles. Pour plus de détails et un exemple, reportez-vous à la section Service de fichiers statiques.

Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. En plus des fichiers de configuration, vous pouvez également définir des options de configuration à l'aide de la console, de configurations enregistrées, de la CLI EB ou d'AWS CLI. Pour plus d'informations, consultez Options de configuration.

Si votre environnement Elastic Beanstalk Go utilise une version de plateforme AMI Amazon Linux (antérieure à Amazon Linux 2), lisez les informations supplémentaires dans cette section.

Remarques
  • Les informations de cette rubrique s'appliquent uniquement aux branches de plateforme basées sur l'AMI Amazon Linux (AL1). Les branches de plateforme AL2023/AL2 sont incompatibles avec les versions de plateforme précédentes de l'AMI Amazon Linux (AL1) et nécessitent des paramètres de configuration différents.

  • Le 18 juillet 2022, Elastic Beanstalk définira les statuts de toutes les branches de plateforme basées sur une AMI Amazon Linux (AL1) sur mise hors service. Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.

Vous pouvez utiliser un fichier de configuration pour définir des options de configuration et exécuter d'autres tâches de configuration d'instance pendant les déploiements. Les options de configuration peuvent être définies par le service Elastic Beanstalk ou la plateforme que vous utilisez et sont organisées en espaces de noms.

Note

Les informations de cette rubrique s'appliquent uniquement aux branches de plateforme basées sur l'AMI Amazon Linux (AL1). Les branches de plateforme AL2023/AL2 sont incompatibles avec les versions de plateforme précédentes de l'AMI Amazon Linux (AL1) et nécessitent des paramètres de configuration différents.

La plateforme Go de l'AMI Amazon Linux prend en charge l'espace de noms de configuration spécifique à la plateforme en plus des espaces de noms pris en charge par toutes les plateformes. L'espace de noms aws:elasticbeanstalk:container:golang:staticfiles vous permet de définir des options qui mappe des chemins d'accès sur votre application web vers des dossiers dans le groupe source de votre application incluant le contenu statique.

Par exemple, ce fichier de configuration indique au serveur proxy de servir les fichiers dans le dossier staticimages du chemin /images :

Exemple .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. En plus des fichiers de configuration, vous pouvez également définir des options de configuration à l'aide de la console, de configurations enregistrées, de la CLI EB ou d'AWS CLI. Pour plus d'informations, consultez Options de configuration.