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

Cette rubrique explique comment configurer, créer et exécuter vos applications Go sur Elastic Beanstalk.

AWS Elastic Beanstalk prend en charge un certain nombre de branches de plate-forme pour différentes versions du langage de programmation Go. Voir Go dans le document AWS Elastic Beanstalk Plateformes pour une liste complète.

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, grâce à nos branches de plateforme Go prises en charge, vous pouvez également fournir les exigences du 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 EC2 instances Amazon. Vous pouvez modifier la configuration de l'instance Amazon de l'environnement Elastic Beanstalk à l'aide EC2 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, puis dans la liste des 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.

  • Activer la rotation des fichiers journaux vers Amazon S3 : indique si les fichiers journaux des EC2 instances Amazon de votre application sont copiés dans le compartiment Amazon S3 associé à votre application.

Fichiers statiques

Pour améliorer les performances, vous pouvez utiliser la section Fichiers statiques pour configurer le serveur proxy pour qu'il diffuse des fichiers statiques (par exemple, HTML ou des images) à partir d'un ensemble de répertoires au sein de 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 définir les paramètres de configuration de l'environnement sur EC2 les instances Amazon qui exécutent 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 spécifiques à la plate-forme ou s'appliquer à toutes les plateformes du service Elastic Beanstalk dans son ensemble. Les options de configuration 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. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Pour plus d’informations, consultez Options de configuration.

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

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

  • Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 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 spécifiques à la plate-forme ou s'appliquer à toutes les plateformes du service Elastic Beanstalk dans son ensemble. Les options de configuration sont organisées en espaces de noms.

Note

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

La plateforme Amazon Linux AMI Go prend en charge un espace de noms de configuration spécifique à la plate-forme 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. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Pour plus d’informations, consultez Options de configuration.