전체 글
현재 상황 정리
프로젝트명: 메이플 가디언 사용 기술: Node.js, Express.js, Nexon Open API, Firebase, Vercel 요약: MVP 제작 후 배포 완료. 단, 수정할 부분들이 많다. (https://www.mapleguardian.kr/) 수정하는 부분들을 고쳐가는 김에 Ver.2 를 만들려고 한다. 즉, 코드 정리를 하고 리펙토링을 하면서 새롭게 만들 것이다. 1. Express 방식과 Vercel 서버리스 방식이 뒤섞여 있는 것을 통일시킬 것이다. 현재는 server.js 와 api/*.js 방식으로 나뉘어져 설정과 코드가 혼재되어있다. 2. 키 값이나, 파라미터 등 잘못 사용되고 있는 부분들을 수정할 것이다. 3. 비용을 줄일 방법을 생각해볼 것이다. 4. 코드를 더욱 보기 쉽게 ..
EC2란? / EC2를 왜 배울까? / 현업에서 EC2는 주로 언제 사용할까?
EC2(Clastic Compute Cloud)란 하나의 컴퓨터를 의미하며, 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다. 서버를 배포하기 위해서는 컴퓨터가 필요하다. 내가 가진 컴퓨터에서 서버를 배포해 다른 사용자들이 인터넷에 접근할 수 있게 만들 수 있지만, 24시간 동안 컴퓨터를 켜놔야 하고, 인터넷을 통해 내 컴퓨터에 접근할 수 있게 만들다보니 보안적으로도 위험할 수 있다. 이러한 불편함 때문에 AWS EC2라는 컴퓨터를 빌려서 사용하는 것이다. 현업에서도 실제 백엔드 서버를 배포할 때 EC2를 많이 사용한다. 프론트엔드 웹 페이지를 사용할 때도 사용은 가능하지만 주로 vercel, netlify 또는 AWS S3를 사용하여 배포한다. 헷갈리는 경우 “AWS EC2는 백엔드 서버를 배포할 ..
배포(Deployment)란 무엇인가?
배포(Deployment)란 다른 사용자들이 인터넷을 통해서 사용할 수 있게 만드는 것을 의미한다. 쉽게 얘기해서 우리가 만든 웹 페이지나 서버를 다른 사람들이 사용하려면 인터넷 상에 배포가 되어있어야 한다. 자신의 컴퓨터에서 개발을 할 때는 localhost라는 주소로 테스트도 하고 개발을 한다. 하지만 이 localhost는 다른 컴퓨터에서는 접근이 불가능한 주소이다. 배포를 하게 되면 IP(ex. 127.16.2.1)나 도메인(ex. www.naver.com)과 같이 고유의 주소를 부여받게 되고, 다른 컴퓨터에서 그 주소로 접속할 수 있게 된다. 이게 바로 배포다. 따라서 어떤 서비스를 완성했다면, 그 다음 단계로 하는 것이 배포이다.
우분투 환경으로 클러스터 구성 설명 1 - 노드 설정
쿠버네티스 설치 시 필요 사항GCP의 인스턴스나 VMware 이미지를 사용해 구성마스터 노드 1대: 쿠퍼네티스의 마스터노드가 설정될 호스트워커 노드 2대: 클러스터에 컨테이너를 띄울 Work 노드 추가가상 머신은 2CPU, 4GB 메모리 사용 필요시작하기 전 점검해야 하는 체크리스트호환되는 리눅스 머신. 쿠버네티스 프로젝트는 데비안 기반 배포판, 레드햇 기반 배포판, 그리고 패키지 매니저를 사용하지 않는 경우에 대한 일반적인 가이드를 제공한다. 2GB 이상의 램을 장착한 머신. (이 보다 작으면 사용자의 앱을 위한 공간이 거의 남지 않음) 2 이상의 CPU 클러스터의 모든 머신에 걸친 전체 네트워크 연결. (공용 또는 사설 네트워크면 괜찮음) 모든 노드에 대해 고유한 호스트 이름, MAC 주소 및 ..
GKE 클러스터 사용과 애플리케이션 배포 실습
우측 상단 콘솔 모양(G + S)를 누르면 콘솔 터미널 창이 생기는 것을 확인할 수 있다.컨테이너의 메뉴 중 연결을 누르면 다음과 같이 명령줄 엑섹스를 확인할 수 있다. 명령어를 복사하여 콘솔창에 넣고 실행하여 원격으로 접속하거나, Cloud Shell에서 실행을 눌러 실행할 수 있다.kubectl get nodes 명령어를 이용하여 노드의 갯수가 3개 있는 것을 확인할 수 있다.- kubectl get nodes: 클러스터에 접근하여 노드를 출력한다.다음 명령어들을 이용해 컨테이너 및 포트포워딩을 구성한다.kubectl create deploy tc --image=consol/tomcat-9.0 --replicas=5create deploy: 컨테이너 구성 tc: 컨테이너 명 --image=~~: 해..
구글 클라우드에서 GKE 클러스터 생성하기
프로젝트 생성GoogleCloud 좌측 상단에 보면 프로젝트를 선택할 수 있는 버튼이 존재한다. 이를 클릭하여 프로젝트를 선택하거나 생성할 수 있다.새 프로젝트를 클릭하여 프로젝트 명을 'username-날짜'로 지정하고 만들기를 누른다.프로젝트 선택을 누르면 프로젝트가 username-오늘 날짜 로 변한 것을 확인할 수 있다.Kubernetes Engine API 이용좌측 상단의 메뉴바를 눌러 Kubernetes Engine을 클릭한다.사용을 클릭하면 Kubernetes Engine API를 시작할 수 있는 환경에 접속하게 된다.좌측 메뉴의 클러스터를 클릭하고 만들기를 누른다.‘Standard: 사용자가 클러스터 관리’의 구성을 클릭한다.Autopilot: 노드를 빌려주지 않는다. 구글이 관리하며, 대..
구글 쿠버네티스 엔진 소개 및 회원가입 안내
Google Kubernetes Engine(GKE)이란?Google Kubernetes Engine(GKE)이란 Google cloud의 관리형 Kubernetes 서비스이다. 이는 다음과 같은 특징을 가지고 있습니다.GKE는 Kubernetes를 쉽게 사용자가 활용할 수 있도록 관리형으로 제공한다.규모에 맞춘 컨테이너식 애플리케이션을 관리한다. 다양한 애플리케이션 배포를 할 수 있다. 고가용성을 통한 원활한 운영이 가능하다. 수요에 맞게 간편하게 확장이 가능하다.Google 네트워크에서의 안전한 실행이 가능하다.온프레미스 및 클라우드 간의 자유로운 이동이 가능하다. 회원가입 방법https://console.cloud.google.com/ 에 접속하여 개인 메일로 GCP 회원 가입을 진행합니다.신용카드..
학습을 위해 GKE와 온프레미스 클러스터를 병행하는 이유
쿠버네티스를 학습할 때 하나의 클러스터만으로는 한계가 있다. 따라서 이번 학습에서는 GKE와 온프레미스 클러스터 두 가지를 병행하려 한다.GKE(구글 쿠버네티스 엔진)구글에서 관리하는 관리형 클러스터단점으로 클러스터 세부 설정을 직접 할 수 없으므로 공부를 하는데 걸림돌이 될 수 있다.장점으로 클라우드 네이티브를 어느정도 바로 사용할 수 있도록 세팅되어 있다. 온프레미스(우분투)단점으로 클라우드 네이티브에 필요한 모든 구성 요소를 직접 세팅해야 한다.장점으로 쿠버네티스 클러스터의 모든 설정을 직접 조작할 수 있으므로 서비스를 구성하는 다양한 기능 테스트가 가능하다. GKE 환경이나 온프레미스 환경에서만 사용이 가능한 것들이 있기 때문에 두 가지를 나눠서 진행할 예정이다.또한, 어느 쪽에서 실행해도 관계가..
쿠버네티스 소개
쿠버네티스란?쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 지원 그리고 도구들은 광범위하게 제공된다. 쿠버네티스 시작오랜 세월 동안 구글은 보그(Borf)라는 내부 시스템을 개발했다.애플리케이션 개발자와 시스템 관리자가 수천 개의 애플리케이션과 서비스를 관리하는 데 도움을 줬다.조직 규모가 클 때 엄청난 가치를 발휘했다. 수십만 대의 시스템을 가동할 때 사용률이 조금만 향상돼도 수백만 달러의 비용 절감 효과를 얻기 때문이다.구글은 보그와 오메가를 15년 동안 비밀로 유지하였다.이후 2014년 구글 시스템을 얻은 경험을 바탕으로..
도커 기초(8) - 풀스택 워드프레스 컨테이너 이미지 만들기
xampp 이미지 설치하기tomsik68/xampp 이미지를 WP 이름을 가진 컨테이너를 생성한다.설치가 완료된 후 127.0.0.1로 접속해보면 설치가 된 것을 확인할 수 있다.wordpress 설치하기인터넷 웹브라우저에 wordpress download를 검색한 후 tar.gz의 링크 주소를 복사하고 wget를 사용하여 다운로드한다.tar -xf 명령어를 사용하여 압축을 풀어준다. 풀어주면 wordpress 폴더가 생성되는 것을 확인할 수 있다.컨테이너 파일 변경하기bash를 이용해 WP 컨테이너에 접속한다.소유 권한은 변경해준다.소유 권한을 준 폴더로 이동한 후 백업 폴더를 생성하고, 기존에 있던 파일들을 전부 옮겨준다.컨테이너에서 나간 후 wordpress 파일을 WP 컨테이너 안으로 옮겨주고 다..