[PYTHON] Code-Server-Online-Umgebung (4) Starten Sie den Code-Server auf der EC2-Instanz

Dies ist der Artikel des Adventskalenders zum 15. Tag auf dem Codeserver 2019.

Ich möchte vom letzten Mal an die EC2-Instanz starten.

Inhaltsverzeichnis Tag 1 der lokalen Umwelt Online-Umgebung, Tag 1 Verbesserung der Arbeitsumgebung

Online-Umgebung, Tag 2 Erstellen eines virtuellen Netzwerks

Online-Umgebung 3. Tag Starten Sie die EC2-Instanz mit Boto3

Online-Umgebung, Tag 4 Versuchen Sie, Code-Server in der Cloud auszuführen

Online-Umgebung 5. Tag Code-Server auf Docker starten

Online-Umgebung, Tag 6 Lassen Sie uns automatisieren

Online-Umgebung 7. Tag Bereitstellen von Compose auf Git auf EC2

... Online .. Erstellt mit Coompose-Datei

Online-Version .. Versuchen Sie K8S

...

Dämonenumbau

Einführung

Bis zum letzten Mal haben wir EC2 Instance mit boto3 x python gestartet. Dieses Mal installieren wir Code-Server in dieser gestarteten Instanz.

Versuchen Sie, eine Verbindung mit SSH herzustellen

Lassen Sie uns die erstellte EC-Instanz von cli aus bedienen

Instanzinformationen abrufen

Sie benötigen Ihre öffentlichen IP-Informationen, um eine SSH-Verbindung herzustellen. Sie können es mit dem folgenden Code erhalten.

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

ssh verbinden

Ändern Sie die Sicherheit von PEM-Dateien

$ chmod 600 advent-code-server.pem 

Stellen Sie mit ssh eine Verbindung zur ec-Instanz her

$ 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:~$ 

Ich konnte mich verbinden !!

Überprüfen Sie, ob PORT geöffnet ist! !!

Starten Sie den statischen Server

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

Lassen Sie uns mit einem Browser unter http: //18.182.61.231: 8080 / `darauf zugreifen !!

Screen Shot 2019-12-22 at 0.36.17.png

Scheint gut zu funktionieren

Lassen Sie uns Code-Server installieren!

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 

Lassen Sie uns Code-Server ausführen!

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


Stellen Sie eine Verbindung zu "https: //18.182.61.231: 8443 /" her

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

Ich konnte es sicher starten !!

Ergänzung

In diesem Zustand wird die Anwendung beendet, wenn die SSH-Verbindung unterbrochen wird

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

Fangen wir so an

Bestätigung

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

Wenn du fertig werden willst

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

nächstes Mal

Lassen Sie uns Docker installieren und das in der lokalen Version erstellte Image online starten

Code

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

Recommended Posts

Code-Server-Online-Umgebung (4) Starten Sie den Code-Server auf der EC2-Instanz
Code-Server-Online-Umgebung (5) Starten Sie den Code-Server auf Docker
Code-Server-Online-Umgebung (3) Starten Sie eine EC2-Instanz mit Boto3
Code-Server-Online-Umgebung (7) Stellen Sie compose on git auf EC2 bereit
Code-Server-Online-Umgebung (1)
Bereiten Sie die Umgebung von Chainer auf der EC2-Spot-Instanz mit AWS Lambda vor
Starten Sie den Code-Server unter alpine-linux
# 2 Erstellen Sie eine Python-Umgebung mit einer EC2-Instanz von AWS (ubuntu18.04).
Bereitstellungsverfahren in den Umgebungseinstellungen von AWS (2) Server (EC2-Instanz)
Code-Server-Online-Umgebung (6) Lassen Sie uns automatisieren
xgboost (Python) in einer von AWS Lambda erstellten EC2 Spot-Instanzumgebung
# 3 Erstellen Sie eine Python-Umgebung (Django) mit einer EC2-Instanz (ubuntu18.04) von AWS part2
Erstellen Sie eine AWS Cloud9-Entwicklungsumgebung auf einer Amazon EC2-Instanz
Setzen Sie die Umgebungsvariable PYTHONPATH auf zsh
Start der AWS EC2-Instanz und SSH-Verbindung
Ausführungsumgebung im Web von "Project Jupyter"
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Starten und verwenden Sie das IPython-Notebook im Netzwerk
Code-Server-Online-Umgebung (2) Erstellen Sie mit Boto3 ein virtuelles Netzwerk