Dans cet article de blog, vous apprendrez à exécuter une application Go sur AWS App Runner à l’aide de l’environnement d’exécution de la plateforme Go. Vous commencerez avec une application Go existante sur GitHub et la déploierez sur AWS App Runner. L’application est basée sur l’application de raccourcissement d’URL (avec quelques modifications) qui conserve les données dans DynamoDB.
Introduction
AWS App Runner est un service robuste et convivial qui simplifie le processus de déploiement des applications Web dans le cloud AWS. Il offre aux développeurs un moyen simple et efficace de déployer leur code source ou leur image de conteneur directement sur une application Web évolutive et sécurisée sans qu’ils aient à apprendre de nouvelles technologies ou à choisir le service de calcul approprié.
L’un des avantages importants de l’utilisation d’AWS App Runner est qu’il se connecte directement au référentiel de code ou d’image, permettant une intégration et un pipeline de livraison automatiques. Cela élimine le besoin pour les développeurs de passer par le processus fastidieux d’intégration manuelle de leur code avec les ressources AWS.
Pour les développeurs, AWS App Runner simplifie le processus de déploiement de nouvelles versions de leur référentiel de code ou d’image. Ils peuvent facilement pousser leur code vers le référentiel et App Runner se chargera automatiquement du processus de déploiement. D’autre part, pour les équipes d’exploitation, App Runner permet des déploiements automatiques chaque fois qu’un nouveau commit est poussé vers le référentiel de code ou qu’une nouvelle version d’image de conteneur est ajoutée au référentiel d’images.
Exécuteur d’application : sources de service
Avec AWS App Runner, vous pouvez créer et gérer des services basés sur deux types de sources de service :
- Code source (traité dans cet article de blog)
- Image source
Code source n’est rien d’autre que votre code d’application qu’App Runner va créer et déployer. Tout ce que vous avez à faire est de pointer App Runner vers un référentiel de code source et de choisir un runtime approprié qui correspond à une version de la plate-forme de programmation. App Runner fournit des runtimes gérés spécifiques à la plate-forme (pour Python, Node.js, Java, Go, etc.).
Le Exécution de la plateforme AWS App Runner Go facilite la création et l’exécution de conteneurs avec des applications Web basées sur une version Go. Vous n’avez pas besoin de fournir de configuration de conteneur ni d’instructions de génération telles qu’un Dockerfile. Lorsque vous utilisez un environnement d’exécution Go, App Runner démarre avec un géré Image d’exécution Go basée sur l’image Amazon Linux Docker et contenant le package d’exécution pour une version de Go et certains outils. App Runner utilise cette image d’exécution gérée comme image de base et ajoute votre code d’application pour créer une image Docker. Il déploie ensuite cette image pour exécuter votre service Web dans un conteneur.
Commençons
Assurez-vous d’avoir un compte AWS et installez l’AWS CLI.
1. Créer un référentiel GitHub pour l’application de raccourcissement d’URL
Clonez ce référentiel GitHub, puis téléchargez-le dans un référentiel GitHub de votre compte (gardez le même nom de référentiel, c’est-à-dire apprunner-go-runtime-app
):
git clone https://github.com/abhirockzz/apprunner-go-runtime-app
2. Créer une table DynamoDB pour stocker les informations d’URL
Créer une table nommée urls
. Choisissez ce qui suit :
- Clé de partition nommée
shortcode
(Type de donnéesString
) On-Demand
mode de capacité
3. Créer un rôle IAM avec des autorisations spécifiques à DynamoSB
export IAM_ROLE_NAME=apprunner-dynamodb-role
aws iam create-role --role-name $IAM_ROLE_NAME --assume-role-policy-document file://apprunner-trust-policy.json
Avant de créer la stratégie, mettez à jour le dynamodb-access-policy.json
fichier pour refléter le nom ARN de la table DynamoDB.
aws iam put-role-policy --role-name $IAM_ROLE_NAME --policy-name dynamodb-crud-policy --policy-document file://dynamodb-access-policy.json
Déployer l’application sur AWS App Runner
Si vous disposez d’une connexion AWS App Runner GitHub existante et que vous souhaitez l’utiliser, passez à la Sélection du référentiel marcher.
1. Créer une connexion AWS App Runner GitHub
Ouvrez la console App Runner et choisissez Créer un service.
Sur le Source et déploiement page, dans la Source partie, pour Dépôt tapez, choisissez Référentiel de code source. Sous Connectez-vous à GitHub, choisir Ajouter nouveaupuis, si vous y êtes invité, fournissez vos informations d’identification GitHub.
Dans le Installer le connecteur AWS pour GitHub boîte de dialogue, si vous y êtes invité, choisissez le nom de votre compte GitHub. Si vous êtes invité à autoriser le Connecteur AWS pour GitHubchoisir Autoriser les connexions AWS. Choisir Installer.
Le nom de votre compte apparaît en tant que compte/organisation GitHub sélectionné. Vous pouvez maintenant choisir un référentiel dans votre compte.
2. Sélection du référentiel
Pour Dépôtchoisissez le dépôt que vous avez créé : apprunner-go-runtime-app. Pour Bifurquerchoisir la défaut nom de la branche de votre référentiel (par exemple, principal).
Configurez votre déploiement: Dans le Déploiement section paramètres, choisissez Automatiquepuis choisissez Suivant.
3. Configurer la création d’applications
Sur le Configurer la compilation page, pour la Configuration fichier, choisissez Configurer tous les paramètres ici.
Fournissez les paramètres de compilation suivants :
- Durée d’exécution : choisissez Allez 1
- Commande de compilation : Entrée aller construire main.go
- Commande de démarrage : Entrée ./principal
- Port : Entrez 8080
Choisir Suivant.
4. Configurez votre service
Sous Variables d’environnement, ajoutez une variable d’environnement. Pour Cléentrer TABLE_NAME
et pour Valeurentrez le nom de la table DynamoDB (urls
) que vous avez créé auparavant.

Sous Sécurité > Autorisationschoisissez le rôle IAM que vous avez créé précédemment (apprunner-dynamodb-role
).
Choisir Suivant.
Sur le Réviser et créer page, vérifiez tous les détails que vous avez entrés, puis choisissez Créer et déployer. Si le service est créé avec succès, la console affiche le tableau de bord du service, avec une vue d’ensemble du service de l’application.
Vérifier la fonctionnalité de raccourcissement d’URL
L’application expose deux points de terminaison :
- Pour créer un lien court pour une URL
- Accéder à l’URL d’origine via le lien court
Tout d’abord, exportez le point de terminaison du service App Runner en tant que variable d’environnement :
export APP_URL=<enter App Runner service URL>
# example
export APP_URL=https://jt6jjprtyi.us-east-1.awsapprunner.com
1. Invoquez-le avec une URL à laquelle vous souhaitez accéder via un lien court
curl -i -X POST -d 'https://abhirockzz.github.io/' $APP_URL
# output
HTTP/1.1 200 OK
Date: Thu, 21 Jul 2022 11:03:40 GMT
Content-Length: 25
Content-Type: text/plain; charset=utf-8
{"ShortCode":"ae1e31a6"}
Vous devriez obtenir un JSON
réponse avec un code court et voir un élément dans le DynamoDB
tableau également.
Vous pouvez continuer à tester l’application avec d’autres URL que vous souhaitez raccourcir !
2. Accéder à l’URL associée au code court
Entrez ce qui suit dans votre navigateur http://<enter APP_URL>/<shortcode>
.
Par exemple, lorsque vous entrez https://jt6jjprtyi.us-east-1.awsapprunner.com/ae1e31a6
vous serez redirigé vers l’URL d’origine.
Vous pouvez aussi utiliser curl
. Voici un exemple:
export APP_URL=https://jt6jjprtyi.us-east-1.awsapprunner.com
curl -i $APP_URL/ae1e31a6
# output
HTTP/1.1 302 Found
Location: https://abhirockzz.github.io/
Date: Thu, 21 Jul 2022 11:07:58 GMT
Content-Length: 0
Nettoyer
Une fois ce didacticiel terminé, n’oubliez pas de supprimer les ressources suivantes :
- Table DynamoDB
- Service d’exécution d’applications
Conclusion
Dans cet article de blog, vous avez appris comment passer d’une application Go dans votre référentiel GitHub à un service complet de raccourcissement d’URL déployé sur AWS App Runner !