[PYTHON] Créez facilement du HPC sur AWS avec un cluster AWS Cfn authentique

Qu'est-ce que CfnCluster?

Un outil qui facilite la création de machines en cluster sur AWS Version officielle de Starcluster Cliquez ici pour Premiers pas

Environnement

Environnement actuel

  • ASUS C300
  • Chrome OS(linux-64)
  • miniconda3-3.18.3

Préparation côté AWS

Créez un utilisateur dans la console AWS (https://console.aws.amazon.com/iam/home?region=ap-northeast-1#users/)

--Créer un nouvel utilisateur

Je ne sais pas si d'autres rôles sont acceptables

-Créer Paire de clés> Télécharger le fichier pem

Installation de CfnCluster

--Construire un environnement virtuel avec anaconda

conda create -n cfn python=2.7 boto boto3 #Pour le moment, mettez le boto dans le conda officiel
source activate cfn
pip install cfncluster

Générer un fichier de configuration

(cfn)chronos@localhost / $ cfncluster configure

Entrez diverses informations dans un format d'assistant

Le fichier de configuration défini a été généré ici ~/.cfncluster/config

[aws]
aws_region_name = ap-northeast-1
aws_access_key_id = xxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

[cluster mycluster]
vpc_settings = test
key_name = xxxxxx

[vpc test]
master_subnet_id = subnet-xxxxxxxx
vpc_id = vpc-xxxxxxxx

[global]
update_check = true
sanity_check = true
cluster_template = mycluster

Voir ici pour les paramètres détaillés.

Éléments de réglage susceptibles d'être utilisés

Ajoutez-le après la section [cluster] dans le fichier de configuration et c'est OK Ces éléments démarrent avec les valeurs par défaut sans réglage

--master_instance_type: la valeur par défaut de l'instance principale est t2.micro --compute_instance_type: la valeur par défaut de l'instance de nœud de calcul est t2.micro --initial_queue_size: nombre de nœuds de calcul à démarrer en premier. la valeur par défaut est 2 --maintain_initial_size: s'il faut mettre à l'échelle automatiquement. Notez que la valeur par défaut est false (mise à l'échelle), ce qui est le contraire du sentiment. --max_queue_size: nombre maximum de nœuds de calcul lors de la mise à l'échelle automatique. la valeur par défaut est 10 --cluster_type: s'il faut configurer un cluster à la demande ou sur place. La valeur par défaut est ondemand.

Même si vous spécifiez spot, MasterServer est à la demande (car ce sera un problème s'il tombe au milieu)

--spot_price: montant de l'enchère lorsque cluster_type = spot. defalut = 0,00 --custom_ami: AMI peut être spécifié

J'ai ajouté les éléments suivants et l'ai lancé en tant qu'essai

maintain_initial_size = true
initial_queue_size = 1
cluster_type = spot
compute_instance_type = m3.medium
spot_price = 0.02

Comment utiliser CfnCluster

Démarrez le cluster

(cfn)chronos@localhost / $ cfncluster create mycluster

Cela prend beaucoup de temps par rapport à l'amas d'étoiles. Cela prend moins de 20 minutes avec 1 nœud maître et 1 nœud de calcul La répartition est à peu près la suivante

Si l'offre est trop bon marché à construire, EC2 deviendra un zombie même si vous arrêtez cfncluster avec ctrl-x. Arrêtez-le correctement avec cfncluster delete mycluster.

Confirmation des ganglions

Une fois lancé avec cfn, l'outil de surveillance de serveur Ganglia sera également lancé.

Output:"GangliaPublicURL"="http://xx.xxx.xxx.xxx/ganglia/"

Screenshot 2016-03-05 at 21.21.59.png

Connectez-vous avec SSH

Vérification

qhost Screenshot 2016-03-05 at 21.32.15.png

Supprimer le cluster

(cfn)chronos@localhost / $ cfncluster delete mycluster

Impressions et doutes

-Il y a un sentiment de sécurité parce que c'est authentique. Mais pourquoi est-ce si lent?

[Notez que j'oublie souvent] Connexion SSH à EC2 avec chromebook-secureshell

URL de référence

mkdir sshkey
cp key.pem ./sshkey/
chmod 600 ./sshkey/
sudo ssh-keygen -y -f ./sshkey/key.pem >key.pub
cp key.pem key

Importez la clé générée (renommée key.pem) et key.pub dans Secure Shell.

Recommended Posts

Créez facilement du HPC sur AWS avec un cluster AWS Cfn authentique
Créez un environnement WardPress sur AWS avec Pulumi
[AWS] Construisons un cluster ECS avec CDK
Créez facilement des CNN avec Keras
Créez facilement une infrastructure réseau et EC2 avec AWS CDK Python
Créer une application Web de type Flask / Bottle sur AWS Lambda avec Chalice
[AWS] Construire ECR avec AWS CDK
Créez facilement des machines virtuelles avec Vagrant
Créez facilement un environnement de développement avec Laragon
Créer un environnement Python avec Anaconda sur Mac
Construisez CentOS 8 sur ESXi 6.7 avec une configuration minimale
Essayez Tensorflow avec une instance GPU sur AWS
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Créez un environnement python avec ansible sur centos6
Créez un système de synthèse bon marché avec des composants AWS
Connectez-vous facilement à AWS avec plusieurs comptes
Premiers pas avec AWS IoT facilement en Python