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.
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.
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.
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.
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
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.
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.
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