[LINUX] Une histoire sur la tentative de contribuer à l'analyse COVID-19 avec l'offre gratuite d'AWS et l'échec

(Ceci est une réimpression de l'article que j'ai écrit sur mon blog)

Post-scriptum: 2020/4/17

@ hirosys-biz a publié la procédure pour créer automatiquement un environnement avec CloudFormation. Il résout également la «mauvaise» partie de cet article, alors assurez-vous de le consulter également. L'environnement de participation au projet d'analyse du COVID-19 (SARS-CoV-2) a été automatiquement construit par CloudFormation

introduction

"Entraînons-nous à créer un environnement Amazon Web Service tout en contribuant à l'analyse du nouveau virus corona." En conséquence, je suis arrivé à la conclusion que "cela fonctionnait normalement, mais je ne pouvais pas beaucoup contribuer à cause du manque de spécifications dans l'offre gratuite". Gardez une trace de votre travail.

Contexte

La mode Corona est épicée. N'est-il pas possible de le résoudre plus tôt?

Article PC Watch "Comment utiliser" Folding @ home ", qui contribue à l'analyse corona qui peut être lancée en 3 minutes même maintenant" Trouver

Installez immédiatement sur votre ordinateur portable domestique (avec GPU de génération précédente). Je cours depuis environ une semaine et j'ai effectué environ 25 tâches, mais je ne me sens toujours pas satisfaisant.

Je ne peux pas augmenter les spécifications, donc je veux augmenter le nombre d'unités en fonctionnement. Mais je n'ai qu'une seule machine physique ...

Oui, j'avais un compte AWS. Utilisons ceci. Si vous pouvez le faire dans le cadre libre, quelqu'un peut-il l'imiter si vous en faites un article?

Action.

Ce que j'ai fait ①: Créer un environnement VPC

J'ai décidé de créer d'abord un environnement VPC, puis d'y installer un environnement EC2. En gros, travaillez selon cet article de blog.

Seul le groupe de sécurité a été modifié comme suit en fonction de l'objectif d'utilisation cette fois.

security.png

Ce que j'ai fait (2): créer un environnement EC2 sur VPC

Créez un environnement EC2 sur l'environnement VPC créé dans ①. Ce travail faisait également référence à cet article de blog.

Cette fois, je voulais créer un environnement qui peut être créé avec un cadre d'utilisation gratuit, donc la configuration est la suivante

Ce que j'ai fait ③: Paramètres Linux

$ sudo vi /etc/ssh/sshd_config

###Ajoutez ce qui suit autour de 22 lignes(Numéro de port spécifié dans ①)
Port 2****

###Après avoir enregistré
$ sudo service sshd reload
###Création d'un nouvel utilisateur(privilèges root)
# useradd newuser
# passwd newuser

###Paramètres SSH(privilèges root)
# cd /home/newuser/
# mkdir .ssh
# chmod 700 .ssh
# chown newuser:newuser .ssh
###Envoyez la clé publique ici avec SCP
# mv /home/ec2-user/id_rsa.pub .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
# chown newuser:newuser .ssh/authorized_keys

###Donner la permission à sudo
# usermod -aG wheel newuser

###Dans une autre fenêtre"newuser"Se connecter en tant que. Après cela, utilisez l'écran du côté nouvel utilisateur
$ sudo su -
###Après avoir confirmé que vous pouvez devenir root, ec2-suppression de l'utilisateur
# userdel ec2-user

Ce que j'ai fait ④: Présentation de Folding @ Home

Cette fois, seul le minimum requis «FAH Client» est introduit.

$ wget https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v7.6/fahclient-7.6.9-1.x86_64.rpm
$ sudo rpm -i --nodeps fahclient-7.6.9-1.x86_64.rpm
<config>
  <!-- Client Control -->
  <fold-anon v='true'/>

  <!-- Folding Slot Configuration -->
  <!-- v7.6.9-COVID pour cause après 1-Si vous spécifiez 19, les tâches liées à la couronne seront attribuées de préférence.-->
  <cause v='COVID_19'/>
  <gpu v='false'/>

  <!--Accéder aux paramètres d'autorisation pour le contrôleur Web. xxx.xxx.xxx.Entrez votre adresse IP à la place de xxx-->
  <allow>127.0.0.1 xxx.xxx.xxx.xxx</allow>
  <web-allow>127.0.0.1 xxx.xxx.xxx.xxx</web-allow>

  <!--Combien de ressources CPU sont utilisées? lumière,middle,3 choix de plein-->
  <power v='full'/>

  <!-- User Information -->
  <!--Informations de l'utilisateur. Si vous entrez le nom d'utilisateur, le montant de votre contribution individuelle sera agrégé-->
  <user v='deflat'/>
  <!--L'ID de l'équipe à laquelle vous souhaitez appartenir. Optionnel. Au fait, 222 est"Japan"équipe.-->
  <team v='222'/>
  <!--Optionnel. Vous pouvez obtenir plus de points en enregistrant votre adresse e-mail sur le site officiel et en définissant la clé reçue.-->
  <passkey v='***Collez la clé ici***'/>

  <!--Numéro et type d'emplacement. Cette fois, il n'y a qu'un seul processeur, alors ne vous embêtez pas-->
  <!-- Folding Slots -->
  <slot id='0' type='CPU'/>

</config>
$ sudo /etc/init.d/FAHClient stop
$ sudo /etc/init.d/FAHClient start

résultat

Ce que j'ai découvert plus tard

Résumé et impressions

Journal des modifications

Recommended Posts

Une histoire sur la tentative de contribuer à l'analyse COVID-19 avec l'offre gratuite d'AWS et l'échec
L'histoire d'essayer de reconnecter le client
L'histoire d'essayer deep3d et de perdre
L'histoire de la tentative de pousser SSH_AUTH_SOCK obsolète avec LD_PRELOAD à l'écran
L'histoire de Python et l'histoire de NaN
L'histoire de ne pas pouvoir exécuter pygame avec pycharm
Analyse de correspondance des phrases avec l'API COTOHA et sauvegarde dans un fichier
Pour améliorer la réutilisabilité et la maintenabilité des flux de travail créés avec Luigi
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
L'histoire de l'échec de la mise à jour de "calendar.day_abbr" sur l'écran d'administration de django
Mettez à jour les données en les téléchargeant sur s3 d'aws avec une commande, et supprimez les données utilisées (en chemin)
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
L'histoire de la création d'une caméra sonore avec Touch Designer et ReSpeaker
Folding @ Home sur Linux Mint pour contribuer à l'analyse du nouveau virus corona
Essayez de séparer l'arrière-plan et l'objet en mouvement de la vidéo avec OpenCV
L'histoire de la mise en place de MeCab dans Ubuntu 16.04
L'histoire du changement de pep8 en pycodestyle
L'histoire de la migration du serveur domestique (MariaDB + Java) vers AWS (DynamoDB + Python + PHP) avec un coût mensuel réduit
Une histoire d'essayer d'installer uwsgi sur une instance EC2 et d'échouer
N'hésitez pas à rédiger un test avec nez (dans le cas de + gevent)
Spécifiez les positions de début et de fin des fichiers à inclure avec qiitap
[Introduction à AWS] J'ai essayé de porter une application de conversation et de jouer avec text2speech @ AWS ♪
L'histoire de la fabrication de soracom_exporter (j'ai essayé de surveiller SORACOM Air avec Prometheus)
Facilitez la spécification de l'heure d'AWS CloudWatch Events avec CDK.
L'histoire d'un technicien de haut niveau essayant de prédire la survie du Titanic
Script pour tweeter avec des multiples de 3 et des nombres avec 3 !!
L'histoire d'essayer Sourcetrail × macOS × VS Code
Histoire de passer de Pipenv à la poésie
Une histoire qui a échoué lors de la tentative de suppression du suffixe d'une chaîne avec rstrip
L'histoire du serveur Web et du DAG d'Airflow, dont le chargement prend beaucoup de temps
Je ne trouve pas l'horloge tsc! ?? L'histoire d'essayer d'écrire un patch de noyau
Extraire des images et des tableaux de pdf avec python pour réduire la charge de reporting
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
Une histoire d'essais et d'erreurs essayant de créer un groupe d'utilisateurs dynamique dans Slack
L'histoire du passage de WoSign à Let's Encrypt pour un certificat SSL gratuit
L'histoire du portage du code de C vers Go (et vers la spécification du langage)
Créez rapidement un tableau de bord d'analyse de données Python avec Streamlit et déployez-le sur AWS
Je voulais juste extraire les données de la date et de l'heure souhaitées avec Django
Une note de malentendu lors de la tentative de chargement de l'intégralité du module self-made avec Python3
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
Django-Une histoire qui s'est bloquée lors de la tentative d'exploitation du courrier avec SES et Amazon SES (Présentation de la procédure d'opération la plus rapide)
L'histoire de Python sans opérateurs d'incrémentation et de décrémentation.
L'histoire de l'arrêt du service de production avec la commande hostname
Ajoutez des informations au bas de la figure avec Matplotlib
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
Une histoire d'essayer pyenv, virtualenv et virtualenvwrapper
Visualisez la gamme d'insertions internes et externes avec python
Calculer le coefficient de régression d'une analyse de régression simple avec python
Prédire le nombre de personnes infectées par COVID-19 avec Prophet
Histoire de l'analyse d'image du fichier PDF et de l'extraction de données
Essayez d'obtenir le contenu de Word avec Golang
Comparaison de Windows Server et Linux gratuit et Linux commercial
L'histoire de vouloir acheter une aventure en forme de bague
L'histoire de l'utilisation de Circleci pour construire des roues Manylinux
Je suis à Singapour en ce moment Une histoire sur la création d'un LineBot et la volonté de faire un travail mémorable
J'ai essayé de publier automatiquement sur ChatWork au moment du déploiement avec Fabric et ChatWork Api
[Introduction au modèle SIR] Prédire l'heure de fin de chaque pays avec l'ajustement des données COVID-19 ♬
Renvoyez les données d'image avec Flask of Python et dessinez-les dans l'élément canvas de HTML