Comment déployer une application kotlin (java) sur AWS Fargate

point

environnement

--Langue: Kotlin --Cadre: ktor --docker image: openjdk: 8-jre-alpine

Dockerfile

FROM openjdk:8-jre-alpine

ENV APPLICATION_USER ktor
RUN adduser -D -g '' $APPLICATION_USER

RUN mkdir /app
RUN chown -R $APPLICATION_USER /app

USER $APPLICATION_USER

COPY ./build/libs/my-application.jar /app/my-application.jar
WORKDIR /app

CMD ["java", "-server", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-XX:InitialRAMFraction=2", "-XX:MinRAMFraction=2", "-XX:MaxRAMFraction=2", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-XX:MaxMetaspaceSize=256M", "-XshowSettings:vm", "-jar", "my-application.jar"]

En gros [documentation ktor](https://jp.ktor.work/quickstart/quickstart/docker.html#docker%E3%82%A4%E3%83%A1%E3%83%BC%E3% Basé sur 82% B8% E3% 81% AE% E6% BA% 96% E5% 82% 99), mais ajout de l'option Java.

---XX: MaxMetaspaceSize = 256M: C'est un paramètre qui sécurise la valeur maximale de la méta-espace de 256 Mo et ne l'augmente plus. Par défaut, il peut être étendu indéfiniment, je fixe donc la valeur maximale au cas où. ---XshowSettings: vm: affiche les paramètres de la VM au démarrage.

Définition de la tâche Fargate

Veillez à spécifier la limite matérielle de la mémoire dans la définition du conteneur. La valeur spécifiée ici est transmise à l'option --memory de docker run. Normalement, spécifiez la même valeur que la mémoire des tâches.

スクリーンショット 2020-08-27 16.08.00.png

Vérifier le journal des tâches

Affichez le journal des tâches Fargate et assurez-vous que la taille maximale du tas correspond à ce que vous attendiez. Dans ce cas, la limite stricte est de 1000 Mo et l'option java est "-XX: MaxRAMFraction = 2", donc 500 Mo est correct.

スクリーンショット 2020-08-27 15.39.23.png

référence

Recommended Posts

Comment déployer une application kotlin (java) sur AWS Fargate
Comment déployer une application Java Servlet simple sur Heroku
Comment accéder à un conteneur s'exécutant sur AWS Fargate
Comment déployer l'application Rails sur AWS (résumé de l'article)
Déployer des applications Web Java sur Heroku
Comment déployer avec heroku
Comment déployer Java sur AWS Lambda avec Serverless Framework
[Java] Comment exécuter des tâches régulièrement
Comment déployer Laravel sur CentOS 7
Comment créer un conteneur Java
Comment déployer Bootstrap sur Rails
Comment développer et enregistrer une application Sota en Java
Comment créer un tableau Java
Comment faire fonctionner automatiquement un écran créé en Java sous Windows
Comment créer un serveur Web sur une instance EC2 d'AWS
Comment vérifier Java installé sur Mac
Comment créer un résumé de calendrier Java
Un mémorandum sur l'utilisation d'Eclipse
[Introduction à Java] Comment écrire un programme Java
Déployer les applications JavaServlet localement dans Tomcat
Comment changer de version de Java sur Mac
Comment créer un robot Discord (Java)
Comment créer une application avec un mécanisme de plug-in [C # et Java]
Déployez des applications Web Java sur Azure avec maven
Comment utiliser le framework Java avec AWS Lambda! ??
Comment enregistrer des images sur Heroku dans S3 sur AWS
Comment convertir un contrat de solidité en une classe de contrat Java
Déployer des rails sur ECS Fargate avec AWS Copilot
Comment créer un environnement Pytorch sur Ubuntu
[Java] Mémo sur la façon d'écrire la source
Comment écrire Java String # getBytes dans Kotlin?
Comment déployer un système réalisé avec Java (démarrage Wicket-Spring) sur le serveur du campus
Mémo pour créer un environnement Servlet sur EC2 d'AWS
Comment créer un environnement Java en seulement 3 secondes
Comment exécuter l'application SpringBoot en tant que service
Soumettre une tâche à AWS Batch avec Java (Eclipse)
Comment passer d'Eclipse Java à un fichier SQL
Comment déployer à partir d'une image Docker locale vers Heroku
java: Comment écrire une liste de types génériques [Note]
[Java] Comment sortir de Janken (équivalent à paiza rang A)
Indiquez comment apprendre de Docker à AKS sur AWS
Comment faire fonctionner JavaScript sur une page spécifique
Comment créer un URI de données (base64) en Java
[Java] Comment obtenir une requête par communication HTTP
À partir d'avril 2018 Comment installer Java 8 sur Mac
[Java] Comment découper une chaîne de caractères caractère par caractère
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
Comment exécuter Java EE Tutial sur github sur Eclipse