[PYTHON] environnement en ligne du serveur de code (4) Lancer le serveur de code sur l'instance EC2

Ceci est l'article du 15ème jour de Advent Calender sur le serveur de code 2019.

Dans la continuité de la dernière fois, je voudrais lancer EC2 Instance.

table des matières Environnement local jour 1 Environnement en ligne, jour 1 Améliorer l'environnement de travail

Environnement en ligne, jour 2 Créer un réseau virtuel

Environnement en ligne 3ème jour Lancement d'une instance EC2 avec Boto3

Environnement en ligne, jour 4 Essayez d'exécuter Code-Server dans le cloud

Environnement en ligne 5ème jour Lancer le serveur de code sur Docker

Environnement en ligne, jour 6 automatisons

Environnement en ligne 7ème jour Deploy compose sur git sur EC2

... En ligne .. Construit avec le fichier Coompose

Version en ligne .. Essayez K8S

...

Remodelage démoniaque

introduction

Jusqu'à la dernière fois, nous avons lancé EC2 Instance avec boto3 x python. Cette fois, installons Code-Server dans cette instance lancée.

Essayez de vous connecter avec SSH

Exploitons l'instance EC créée à partir de cli

Obtenir des informations sur l'instance

Vous aurez besoin de vos informations IP publiques pour établir une connexion ssh. Vous pouvez l'obtenir avec le code suivant.

def get_inst(ec2_client:ec2.Client, project_name="advent-code-server"):
    try:
        print(">>>> ec2client.describe_instances")
        res = ec2_client.describe_instances(Filters=[{"Name":"tag:Name","Values":[project_name]}])
        print("{}".format(res))

        for reserve_info in res['Reservations']:
            print("-")
            for instance_info in reserve_info['Instances']:
                print(">>>> {}".format(instance_info.get('InstanceId',"")))
                print(">>>> {}".format(instance_info.get('PublicDnsName',"")))
                print(">>>> {}".format(instance_info.get('PublicIpAddress',"")))
                print(">>>> {}".format(instance_info.get('PrivateDnsName',"")))
                print(">>>> {}".format(instance_info.get('PrivateIpAddress',"")))
                print(">>>> {}".format(instance_info.get('State',"")))
 
    except ClientError as e:
        print("-- {}".format(e.response))

connexion ssh

Changer la sécurité des fichiers pem

$ chmod 600 advent-code-server.pem 

Connectez-vous à l'instance ec avec ssh

$ ssh -i advent-code-server.pem [email protected]
root@dabe0caa28a0:/works/app# ssh -i advent-code-server.pem [email protected]
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-1051-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat Dec 21 15:32:31 UTC 2019

  System load:  0.01              Processes:           88
  Usage of /:   13.6% of 7.69GB   Users logged in:     0
  Memory usage: 14%               IP address for eth0: 10.1.0.227
  Swap usage:   0%

0 packages can be updated.
0 updates are security updates.



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@ip-10-1-0-227:~$ 

J'ai pu me connecter !!

Vérifiez si le PORT est ouvert! !!

Démarrer le serveur statique

ubuntu@ip-10-1-0-227:~$ sudo apt-get install python3
ubuntu@ip-10-1-0-227:~$ python3 -m http.server 8080

Accédons-y avec un navigateur à http: //18.182.61.231: 8080 / !!

Screen Shot 2019-12-22 at 0.36.17.png

Semble bien fonctionner

Installons Code-Server !!

ubuntu@ip-10-1-0-227:~$ wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

ubuntu@ip-10-1-0-227:~$ tar -xzf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz -C ./ --strip-components 1 

Lançons Code-Server !!

ubuntu@ip-10-1-0-227:~$ ./code-server --cert --port 8443 ./
on https://localhost:8443
info    - Password is 50cdee5af7ee7824126382ff
info      - To use your own password, set the PASSWORD environment variable
info      - To disable use `--auth none`
info    - Using generated certificate and key for HTTPS


Connectons-nous à https: //18.182.61.231: 8443 /

Screen Shot 2019-12-22 at 0.45.22.png Screen Shot 2019-12-22 at 0.46.07.png Screen Shot 2019-12-22 at 0.46.39.png

J'ai pu le démarrer en toute sécurité !!

Supplément

Dans cet état, si la connexion SSH est perdue, l'application se terminera, donc

ubuntu@ip-10-1-0-227:~$ ./code-server --cert --port 8443 ./&

Commençons comme ça

Vérification

buntu@ip-10-1-0-227:~$ jobs
[1]+  Running                 ./code-server --cert --port 8443 ./ &

Quand tu veux finir

ubuntu@ip-10-1-0-227:~$ ps -aux | grep code-server
ubuntu    1786  0.2  5.2 840588 52580 ?        Sl   15:48   0:00 /home/ubuntu/code-server --cert --port 8443 ./
ubuntu    1918  0.0  0.0  14856  1004 pts/1    S+   15:51   0:00 grep --color=auto code-server

ubuntu@ip-10-1-0-227:~$ kill -9 1786

la prochaine fois

Installons Docker et lançons l'image créée dans la version locale en ligne

code

https://github.com/kyorohiro/advent-2019-code-server/tree/master/remote_cs03

Recommended Posts

environnement en ligne du serveur de code (4) Lancer le serveur de code sur l'instance EC2
environnement en ligne du serveur de code (5) Lancer le serveur de code sur Docker
environnement en ligne de serveur de code (3) Lancer une instance EC2 avec Boto3
environnement en ligne de serveur de code (7) Déploiement de compose sur git sur EC2
environnement en ligne de serveur de code (1)
Préparer l'environnement de Chainer sur l'instance spot EC2 avec AWS Lambda
Lancer le serveur de code sur alpine-linux
# 2 Créez un environnement Python avec une instance EC2 d'AWS (ubuntu18.04)
Procédure de déploiement sur les paramètres d'environnement du serveur AWS (2) (instance EC2)
environnement en ligne de serveur de code (6) Automatisons
xgboost (python) sur l'environnement d'instance EC2 Spot préparé par AWS Lambda
# 3 Créez un environnement Python (Django) avec une instance EC2 (ubuntu18.04) d'AWS part2
Créer un environnement de développement AWS Cloud9 sur une instance Amazon EC2
Définissez la variable d'environnement PYTHONPATH sur zsh
Lancement de l'instance AWS EC2 et connexion SSH
Environnement d'exécution sur le Web par "Project Jupyter"
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Lancer et utiliser le notebook IPython sur le réseau
environnement en ligne de serveur de code (2) Créer un réseau virtuel avec Boto3