[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