L'histoire de l'exécution de l'application asp.net core 3.1 sur la version arm64 Amazon Linux 2

Bonjour.

https://qiita.com/yKimisaki/items/fa528de37413c1001bb6 J'ai écrit dans un article précédent que j'ai fait SlackBot, mais récemment je l'ai mis sur une instance d'AWS Graviton (CPU de bras de version 64 bits, AWS développé indépendamment, pas de série x86-64), alors notez Je vais le laisser dans la mesure. La situation actuelle fonctionne sans aucun problème, donc je pense qu'il n'y a probablement pas de problème.

À propos de l'instance

https://aws.amazon.com/jp/blogs/news/new-t4g-instances-burstable-performance-powered-by-aws-graviton2/

Bien que diverses choses soient résumées ci-dessus, ce n'est pas un serveur API qui est utilisé de manière insensée en raison de la taille de l'entreprise, il est donc actuellement exploité avec t4g.nano. Le stockage est réglé à 15 Go, mais comme il tient dans environ 1,7 Go, 8 Go devraient probablement suffire pour cette échelle. Je pense que le prix est actuellement d'environ 4 $ à 5 $ par mois. C'est moins cher que de louer un x64 t2.nano.

À propos du système d'exploitation / AMI

Le système d'exploitation est Amazon Linux 2, mais cela n'a aucun sens car c'est AWS et j'ai décidé d'utiliser Amazon Linux 2. Si vous avez un démarrage rapide avec .NET Core pré-installé, vous ne pouvez pas utiliser l'instance t4g, choisissez donc un enfant qui semble pur.

image.png

Après cela, EC2 démarre normalement, mais en plus de SSH n ° 22, veuillez ouvrir le port pour le serveur ASP.NET avec TCP.

Mettre .NET Core Runtime dans une machine virtuelle

J'utilise SSH sur Ubuntu 20.04 LTS de WSL pour me connecter à AWS, mais pour aucune autre raison que c'est facile, veuillez entrer le serveur comme vous le souhaitez. Ainsi, à l'heure actuelle, il semble que le système de gestionnaire de paquets tel que yum et apt ne puisse pas être utilisé pour installer .NET Core Runtime avec la version arm64 d'EC2. Alors, apportez-le manuellement avec wget à partir de ce qui suit.

https://dotnet.microsoft.com/download/dotnet/current

wget https://download.visualstudio.microsoft.com/download/pr/dffd493f-9eb8-483f-81c7-a9e2201574ef/54e7464241e01e7031fd89e6fe88e6da/aspnetcore-runtime-3.1.9-linux-arm64.tar.gz

Donc, si vous le décompressez et le passez par le chemin, c'est OK. Cette fois, j'ai créé un dossier dotnet directement sous mon répertoire personnel et je l'ai développé ici, il ressemble donc à ce qui suit.

tar zxf aspnetcore-runtime-3.1.9-linux-arm64.tar.gz
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

publier pour la version arm64

Dans ce cas, c'est un SlackBot à usage interne qui ne nécessite pas de mises à jour et de mises à jour fréquemment, donc je suis une personne bâclée qui frappe toujours les commandes sous Windows et les envoie par scp. Accédez au dossier du projet autour de PowerShell et

dotnet publish -c Release -r linux-arm64

Générera un fichier exécutable pour arm64. C'est OK si vous envoyez l'intégralité du dossier de publication dans le produit avec scp à l'aide de WSL.

commencer

Entrez à nouveau Linux avec SSH

nohup ./publish/SlackBot > slackbot.out &

Il fonctionne en arrière-plan comme ça. Après cela, vous pouvez indiquer l'URL du serveur AWS dans SlackCommand de l'API Slack.

enfin

J'avais l'habitude de lancer une instance EC2 avec .NET Core pré-installé, mais cette fois, c'était un peu ennuyeux car je ne pouvais pas le faire et je ne pouvais pas utiliser le gestionnaire de paquets, mais c'était sans danger pour le bras. Cela fonctionne bien avec .NET Core même sur CPU! Alors j'étais heureux ... Je ne sais pas grand-chose à ce sujet, mais AWS a récemment accéléré son passage à Graviton, et il semble qu'il soit devenu la norme pour ElastiCache et EKS. Cependant, il semble qu'un magasin de jeux comme moi continuera d'être voué à échapper au processeur x86 en développant avec UE4 et Unity (ou plutôt Visual Studio et Maya). La version bras de Windows est la broderie, et la version bras de Mac arrive bientôt, mais que va-t-il se passer ... Quoi qu'il en soit, je ne peux pas vraiment imaginer développer un jeu avec bras dans les prochaines années. En ce sens, je pense que la capacité à surmonter les barrières des processeurs est l'une des forces de .NET Core, alors veuillez consulter la version bras de .NET Core.

Recommended Posts

L'histoire de l'exécution de l'application asp.net core 3.1 sur la version arm64 Amazon Linux 2
Annonce de la disponibilité de Java 11 LTS sur Amazon Linux 2
Mettez la dernière version de Python dans Linux (Debian) du Chromebook
Installez la dernière version de Git sur votre serveur Linux
Suspendre Thread sur Linux (version corrigée en bas de l'article)
L'histoire de la création du Mel Icon Generator version 2
Utilisez la dernière version de PyCharm sur Ubuntu
Changer la résolution d'Ubuntu s'exécutant sur VirtualBox
L'histoire du passage du système Web Azure App Service de Windows à Linux
Essayez d'exécuter le cube core toio sur Windows 10 / macOS / Linux avec la bibliothèque Python bleak
Installez la dernière version de CMake sur Ubuntu 18.04.4 LTS
J'ai essayé d'exécuter l'application sur la plateforme IoT "Rimotte"
L'histoire de la création de l'environnement Linux le plus rapide au monde
Ouvrez la version Chrome de LINE à partir de la ligne de commande [Linux]
Découvrez la version de la langue que vous utilisez
Publiez votre application Django sur Amazon Linux + Apache + mod_wsgi
Vérifiez le type et la version de la distribution Linux
L'histoire de sys.path.append ()
[Note personnelle] Installez la dernière version de Java sur Amazon Linux qui contient déjà Java et changez de version
Notes sur la version de CUDA, cuDNN où tensorflow-gpu fonctionnait
Sakura L'histoire du fonctionnement de la bouteille Python sur Internet
Après tout, l'histoire du retour de Linux à Windows
Commandes et fichiers pour vérifier la version de CentOS Linux
L'histoire de la rétrogradation de la version de tensorflow dans la démo de Mask R-CNN.
Obtenez le nom d'hôte du PC hôte avec Docker sous Linux
[Premier développement personnel] L'histoire du déploiement de l'application Flask et du robot de réponse automatique de Twitter sur Heroku
Aligner la version de chromedriver_binary
Ajout du swap Amazon Linux
Installez JDK sur Linux
Mettez jenv dans Amazon Linux
Installez tomcat 5.5 sur Amazon Linux.
Installation de Homebrew sur Amazon Linux 2
Collez le lien sous Linux
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
Créez un environnement Selenium sur Amazon Linux 2 dans les plus brefs délais
Sous Linux, l'horodatage d'un fichier est un peu dépassé.
L'histoire de l'exécution de python et de l'affichage des résultats sans fermer vim
Vérifiez la protection de la mémoire de Linux Kerne avec le code pour ARM
Comment mettre à jour la version Python de Cloud Shell dans GCP
L'histoire de l'échec de la mise à jour de "calendar.day_abbr" sur l'écran d'administration de django