[DOCKER] [wip] Développement confortable et gratuit côté serveur avec le serveur
      
      
        
        
        
        
Aperçu
Difficulté
- L'ingénieur Mac (MacBook Pro: i7, Mem16GB) souffle le feu et c'est douloureux
 
- Il en est venu à consommer des processeurs logiciels lourds tels que les logiciels de conférence en ligne (zoom) et le tableau blanc en ligne (miro).
 
- L'ingénieur côté serveur (Rails / AWS) Mac exécute divers serveurs de développement avec docker.
Assez lent pour vous faire rire, couplé au docker à l'origine lourd
 

Chose que tu veux faire
- Afin de réduire la charge sur le Mac, je souhaite envoyer le processus de mon Mac vers un serveur externe (AWS EC2) autant que possible.

 
Anxiété et attentes
- Il existe diverses préoccupations concernant la séparation à distance de l'environnement de développement qui a été réalisé localement jusqu'à présent.
Ou il y a des attentes parce que c'est éloigné.
 
- Peut-il être développé confortablement?
 
- "Je déteste développer avec Vim en me connectant avec ssh? Je veux utiliser VSCode"
 
- Peut-il être développé en toute sécurité?
 
- "Il n'y a aucune possibilité de fuite de données de communication"
 
- Sera-t-il possible de se développer librement n'importe où?
 
- "Je veux travailler dans un café ou une beignerie"
 
- Sera-t-il possible de développer n'importe quel terminal librement?
 
- "Je ne veux pas emmener mon ordinateur avec moi en voyage !!!, je veux travailler sur ipad ou smartphone !!"
 
- Y a-t-il des coûts inutiles?
 
- "Il est physiologiquement impossible de coûter plus de 10 000 yens en un mois lorsque vous ne l'utilisez pas."
 
plan
Division de phase
- 
Il me semblait difficile de tout faire soudainement, je l'ai donc divisé en phases comme suit.
 
- 
[x] Phase1. Connectez-vous à l'environnement de développement à partir d'une base prédéterminée (bureau, maison, etc.) avec un PC

 
- 
[] Phase2. Connectez-vous à l'environnement de développement avec un PC depuis n'importe quel endroit

 
- 
[] Phase3. Connectez-vous à l'environnement de développement depuis n'importe quel endroit avec n'importe quel (propre) terminal

 
- 
[] Phase4. Optimisation des coûts
* ?
 
Cet article
- Cet article expose les mémos en cours "Faisons ceci ici" et "Faisons ceci ici".
 
Conception de la configuration / mémo d'enquête
- Contenu sélectionné, intentions sélectionnées, comparaison simple, contenu de réglage, etc.
 
Configuration: Phase1

- Aperçu
 
- J'ai pu expulser la charge CPU du serveur de développement (docker) et VS Code vers EC2 de l'environnement de développement habituel.
 
- Coût: environ 20 $ par mois
 
- Infrastructure: utilise principalement AWS (Route53, EC2, etc.)
 
- IDE: VSCode Remote Development
 
- Propre domaine
 
- Crypter la communication (SSH / HTTPS)
 
Serveur distant
- 
Prérequis
 
- 
SSH possible-> Linux
 
- 
Publier-> Domaine connecté (HTTPS)
 
- 
Conditions de bienvenue
 
- 
Il existe un moyen de réduire les coûts
 
- 
Conclusion: AWS EC2

 
- 
Les performances peuvent être augmentées si nécessaire
 
- 
Cependant, il est nécessaire d'arrêter temporairement
 
- 
instance ponctuelle peut réduire les coûts
 
- 
vCPU: 2, Mem: 4 Go (t3.medium) pour environ 15 $ par mois
 
- 
(Coût d'exploitation de l'instance + divers coûts tels que le stockage)
 
- 
Parce que la personne qui a écrit cet article y est habituée
 
- 
De nombreuses personnes utilisent AWS pour leur travail. .. ..
 
- 
Autres options
 
- 
Système cloud
 
- 
GCP, Azure, etc.
 
- 
Système VPS
 
- 
Le VPS de Sakura etc.
 
- 
Réglages
 
- 
[x] paramètres du groupe de sécurité
 
- 
HTTPS: définissez l'adresse IP d'une base prédéterminée (bureau, domicile, etc.) dans «Mon IP»
 
- 
SSH: définissez l'adresse IP d'une base prédéterminée (bureau, domicile, etc.) dans "Mon IP"
 
Environnement de développement à distance
- 
Prérequis
 
- 
Vous pouvez modifier et exécuter du code
 
- 
Communication cryptée entre client et serveur
 
- 
Conditions de bienvenue
 
- 
Riche et actif avec des plugins
 
- 
Il vaut mieux que cela fonctionne uniquement avec un navigateur
 
- 
Conclusion: Plugin de développement à distance VSCode +

 
- 
VS Code est un IDE qui est devenu la norme pour le développement côté serveur en 2020.
 
- 
Le développement à distance est une fonction qui vous permet d'exécuter l'EDI sur le serveur Linux sur lequel vous vous êtes connecté en SSH.
 
- 
Autres options
 
- 
Système Web IDE
* AWS Cloud9
 
Communication cryptée
- Prérequis
 
- Accès au WEB (HTTPS)
 
- Conditions de bienvenue
 
- Je ne veux pas écrire le problème
 
- Je veux réduire les coûts
 
- Conclusion
 
- freenom (domaine d'origine) + Route53 (DNS) + Caddy (serveur Web HTTPS)
 
- freenom: domaine gratuit
 
- Vous pouvez obtenir un domaine gratuitement avec un TLD spécifique
 
- Réf: Obtenir le domaine avec freenom
 
1 .tk Tokerau, territoire néo-zélandais en Australie
2 .ml Mali
3 .ga Gabon
4 .cf Afrique centrale
5 .gq Guinée équatoriale
* Route53
[WIP] VPN
- Prérequis
 
- Je souhaite crypter tous les contenus de communication du client
 
- Nouvel emplacement: je ne veux pas ajouter / supprimer des groupes de sécurité chaque fois que je me connecte à partir d'une nouvelle adresse IP
 
- Conditions de bienvenue
 
- La vitesse de fonctionnement / communication est rapide
 
- Peut être connecté à divers terminaux tels que les smartphones et les tablettes
 
- Exemple: iPad / Android / ChromeOS
 
- Sondage
 
- Wireguard est bon
 
- Il semble que le fonctionnement et la communication soient rapides et que l'installation soit facile.
 
- 614th Construire un serveur VPN avec WireGuard
 
- Compatible avec Mac / Windows / Linux / iOS / Android
* https://www.wireguard.com/install/
 
- Chrome OS semble pouvoir utiliser les applications Android
* Add docs that cover using Wireguard from ChromeOS
 
[WIP] À développer à tout moment
- 
Prérequis
 
- 
Exécuter sur Windows / Mac / ChromeOS / Android / iOS
 
- 
Conditions de bienvenue
 
- 
Fonctionne uniquement avec le navigateur
 
- 
Je serais heureux s'il pouvait être développé avec Oculus Quest ou un système d'exploitation personnalisé original.
 
- 
enquête
 
- 
Connectez "Development Environment Server" à VSCode Online en tant qu'environnement auto-hébergé
 
- 
Utilisez «Visual Studio Online» dans un environnement auto-hébergé
 
- 
△: VS Code lui-même doit être installé sur le serveur
 
- 
Nécessite l'installation d'un environnement de bureau (Gnome / LXDE)
 
- 
△: VSCode Online (espaces de codes) semble être intégré dans GitHub Codespace, donc je ne suis pas sûr de l'avenir.
 
- 
Microsoft va intégrer «Visual Studio Codespaecs» de WebIDE dans «GitHub Codespaces»
 
- 
Une version serveur Web d'un VS Code tiers
 
- 
△: Les plug-ins pouvant être utilisés sont limités
 
- 
Je ne peux pas utiliser Visual Studio Intellicode
 
[WIP] Arrêtez le serveur lorsqu'il n'est pas en cours d'exécution
- Je veux faire quelque chose comme heroku
 
- Une demande de connexion de redirection de port SSH se produit vers le "serveur d'étape"
 
- Certification terminée
 
- "Step server" démarre "Development Environment Server"
 
- Environ 30 secondes?
 
- Connexion