[DOCKER] [wip] Komfortable und kostenlose serverseitige Entwicklung mit dem Server
Überblick
Ärger
- Engineer Mac (MacBook Pro: i7, Mem16GB) bläst Feuer und es ist schmerzhaft
- Es hat sich herausgestellt, dass Hochleistungs-Software-CPUs wie Online-Konferenzsoftware (Zoom) und Online-Whiteboard (Miro) aufgebraucht sind.
- Auf dem Mac des Server Side Engineer (Rails / AWS) werden verschiedene Entwicklungsserver von Docker ausgeführt.
Langsam genug, um Sie zum Lachen zu bringen, gepaart mit dem ursprünglich schweren Hafenarbeiter
Was du machen willst
- Um die Belastung des Mac zu verringern, möchte ich den Prozess so weit wie möglich von meinem Mac an einen externen Server (AWS EC2) senden.
Angst und Erwartungen
- Es gibt verschiedene Bedenken hinsichtlich der Remote-Trennung der Entwicklungsumgebung, die bisher lokal abgeschlossen wurde.
Oder es gibt Erwartungen, weil es abgelegen ist.
- Kann es bequem entwickelt werden?
- "Ich hasse es, mit Vim zu entwickeln, indem ich mich mit ssh verbinde? Ich möchte VSCode verwenden."
- Kann es sicher entwickelt werden?
- "Es besteht keine Möglichkeit eines Verlusts von Kommunikationsdaten."
- Wird es möglich sein, sich überall frei zu entwickeln?
- "Ich möchte in einem Café oder Donut-Laden arbeiten."
- Wird es möglich sein, ein Terminal frei zu entwickeln?
- "Ich möchte meinen Computer nicht mit auf eine Reise nehmen !!! Ich möchte auf einem iPad oder Smartphone arbeiten !!"
- Gibt es verschwenderische Kosten?
- "Es ist physiologisch unmöglich, mehr als 10.000 Yen in einem Monat zu kosten, wenn Sie es nicht verwenden."
planen
Phasenteilung
-
Es schien schwierig, alles plötzlich zu tun, deshalb habe ich es wie folgt in Phasen unterteilt.
-
[x] Phase 1. Stellen Sie mit einem PC eine Verbindung zur Entwicklungsumgebung von einer festgelegten Basis (Büro, Zuhause usw.) her
-
[] Phase 2. Stellen Sie mit einem PC von jedem Ort aus eine Verbindung zur Entwicklungsumgebung her
-
[] Phase3. Stellen Sie von jedem Ort aus mit jedem (eigenen) Terminal eine Verbindung zur Entwicklungsumgebung her
-
[] Phase4. Kostenoptimierung
* ?
Dieser Beitrag
- Dies ist ein Artikel, der die laufenden Memos "Lass uns das hier machen" und "Lass uns das hier machen" enthüllt.
Konfigurationsdesign / Umfragememo
- Ausgewählte Inhalte, ausgewählte Absichten, einfacher Vergleich, Einstellen von Inhalten usw.
Konfiguration: Phase1
- Überblick
- Ich konnte die CPU-Auslastung des Entwicklungsservers (Docker) und des VS-Codes für EC2 aus der üblichen Entwicklungsumgebung entfernen.
- Kosten: ca. 20 USD pro Monat
- Infrastruktur: Verwendet hauptsächlich AWS (Route53, EC2 usw.)
- IDE: VSCode Remote Development
- Eigene Domain
- Kommunikation verschlüsseln (SSH / HTTPS)
Remote-Server
-
Voraussetzung
-
SSH möglich-> Linux
-
Publish-> Domain Connected (HTTPS)
-
Willkommensbedingungen
-
Es gibt eine Möglichkeit, die Kosten niedrig zu halten
-
Schlussfolgerung: AWS EC2
-
Die Leistung kann bei Bedarf reduziert werden
-
Es ist jedoch notwendig, vorübergehend anzuhalten
-
Spot-Instanz kann die Kosten niedrig halten
-
vCPU: 2, Mem: 4 GB (t3.medium) für ca. 15 USD pro Monat
-
(Instanzbetriebskosten + verschiedene Kosten wie Lagerung)
-
Weil die Person, die diesen Artikel geschrieben hat, daran gewöhnt ist
-
Viele Menschen verwenden AWS für die Arbeit. .. ..
-
Andere Optionen
-
Cloud-System
-
GCP, Azure usw.
-
VPS-System
-
Sakuras VPS usw.
-
Die Einstellungen
-
[x] Sicherheitsgruppeneinstellungen
-
HTTPS: Legen Sie die IP-Adresse einer vorgegebenen Basis (Büro, Zuhause usw.) unter "Meine IP" fest.
-
SSH: Legen Sie die IP-Adresse einer festgelegten Basis (Büro, Zuhause usw.) unter "Meine IP" fest.
Remote-Entwicklungsumgebung
-
Voraussetzung
-
Sie können Code bearbeiten und ausführen
-
Verschlüsselte Kommunikation zwischen Client und Server
-
Willkommensbedingungen
-
Reichhaltig und aktiv mit Plugins
-
Es ist besser, wenn es nur mit einem Browser funktioniert
-
Fazit: VSCode + Remote Development Plugin
-
VS Code ist eine IDE, die 2020 zum Standard für die serverseitige Entwicklung geworden ist.
-
Remote Development ist eine Funktion, mit der Sie die IDE auf dem Linux-Server ausführen können, an den Sie SSHed haben.
-
Andere Optionen
-
WebIDE-System
* AWS Cloud9
Verschlüsselte Kommunikation
- Voraussetzung
- Zugriff auf das WEB (HTTPS)
- Willkommensbedingungen
- Ich möchte den Ärger nicht schreiben
- Ich möchte die Kosten niedrig halten
- Fazit
- Freenom (ursprüngliche Domain) + Route53 (DNS) + Caddy (HTTPS-Webserver)
- freenom: free domain
- Sie können eine Domain mit einer bestimmten TLD kostenlos erhalten
- Ref: Domain mit Freenom abrufen
1 .tk Tokerau, Neuseelands Territorium in Australien
2 ml Mali
3 .ga Gabun
4 .cf Zentralafrika
5 gq Äquator Guinea
* Route53
[WIP] VPN
- Voraussetzung
- Ich möchte alle Kommunikationsinhalte des Clients verschlüsseln
- Neuer Speicherort: Ich möchte nicht jedes Mal Sicherheitsgruppen hinzufügen / entfernen, wenn ich eine Verbindung von einer neuen IP herstelle
- Willkommensbedingungen
- Betriebs- / Kommunikationsgeschwindigkeit ist schnell
- Kann an verschiedene Terminals wie Smartphones und Tablets angeschlossen werden
- Beispiel: iPad / Android / ChromeOS
- Umfrage
- Wireguard ist gut
- Es scheint, dass Bedienung und Kommunikation schnell sind und die Installation einfach ist.
- 614. Erstellen eines VPN-Servers mit WireGuard
- Kompatibel mit Mac / Windows / Linux / iOS / Android
* https://www.wireguard.com/install/
- Chrome OS scheint in der Lage zu sein, Android-Apps zu verwenden
* Add docs that cover using Wireguard from ChromeOS
[WIP] Zu jeder Zeit zu entwickeln
-
Voraussetzung
-
Unter Windows / Mac / ChromeOS / Android / iOS ausführen
-
Willkommensbedingungen
-
Funktioniert nur mit Browser
-
Ich würde mich freuen, wenn es mit Oculus Quest oder einem originalen benutzerdefinierten Betriebssystem entwickelt werden könnte.
-
Nachforschungen
-
Verbinden Sie "Development Environment Server" mit VSCode Online als selbst gehostete Umgebung
-
Verwenden Sie "Visual Studio Online" in einer selbst gehosteten Umgebung
-
△: VS Code selbst muss auf dem Server installiert sein
-
Erfordert die Installation einer Desktop-Umgebung (Gnome / LXDE)
-
△: VSCode Online (Codespaces) scheint in GitHub Codespace integriert zu sein, daher bin ich mir über die Zukunft nicht sicher.
-
Microsoft integriert "Visual Studio Codespaecs" von WebIDE in "GitHub Codespaces"
-
Eine Webserverversion eines VS-Codes eines Drittanbieters
-
△: Die Plug-Ins, die verwendet werden können, sind begrenzt
-
Ich kann Visual Studio Intellicode nicht verwenden
[WIP] Stoppen Sie den Server, wenn er nicht ausgeführt wird
- Ich möchte so etwas wie Heroku machen
- Eine SSH-Portweiterleitungsverbindungsanforderung tritt an den "Stufenserver" auf.
- Zertifizierung abgeschlossen
- "Step Server" startet "Development Environment Server"
- Ungefähr 30 Sekunden?
- Anschließen