본문 바로가기

혼자하는 프로젝트

(27)
Java 이메일 보내기 (1. SMTP 설정(Gmail 보안 설정)) # Java 이메일 보내기 SMTP 설정 관련 내용 정리 1. 코딩 전 구글 계정에서 보안 설정 진행 구글 계정관리 → 보안 메뉴로 이동하면 아래와 같은 화면이 나온다. 아래와 같이 2단계 인증을 사용으로 설정해야 하므로 설정 진행 2. 앱 비밀번호 설정 2단계 인증이 끝나면 하단에 앱 비밀번호 항목을 클릭하여 앱 비밀번호 설정을 진행한다. 여기서는 아래와 같이 test-app이라는 이름으로 앱 비밀번호를 생성 하였고, 정상적으로 진행 시 아래와 같이 나온다. 3. 부여 받은 앱 비밀번호를 JAVA 코드에 적용하는 예시는 아래와 같다. username은 email 정보를 넣으면 되고, password에는 위에서 부여받은 앱 비밀번호를 입력하면 된다. - 끝 -
EKS에 Wordpress(워드프레스) 설치하기 # EKS에 워드프레스 설치하기 1. Helm CLI 설치 - Helm CLI 설치 전 Helm CLI란? Kubernetes를 위한 패키지 매니징 툴, Kubernets용으로 제작된 소프트웨어를 찾고 공유하고 사용하는 툴이다. node.js의 npm과 비슷한 형태로 Kubernetes의 패키지 배포를 가능하게 하는 툴이라고 보면 된다. chart라고 부르는 패키지 포맷을 사용하는데 chart는 Kubernetes 리소스를 describe하는 파일들의 집합이다. - 설치 전, 상호 작용할 command line 툴 설치 curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash - 버전 확인 helm vers..
EC2에 워드프레스 설치 하기 # EC2에 워드프레스 설치하기 1. ec2 인스턴스를 생성한다. # docker가 설치가 안되어 있다면 docker를 설치한다. sudo apt update sudo apt install -y docker sudo apt install docker.io 2. docker-compose 설치 sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 3. docker-compose.yml 파일을 작성한다. nano docker-compose.yml 파일을 생성한다. 생성한 파일에 아래와 같은 코드를 입력한..
(시나리오) EC2 환경의 서비스를 TG를 활용하여 EKS로 부하분산 하기 # 시나리오는 아래와 같다. # 현재 상황 EC2로 서비스 하고 있는 쇼핑몰이 있다고 치자. 근데 이 쇼핑몰은 분기별 재고를 처리하기 위해 분기별로 대폭 할인 이벤트를 약 5일간 실시한다. 근데 문제는 이벤트를 할때마다 사용자가 몰려서 매번 다운이 된다. (물론 현재 대기자가 몇명 입니다... 라는 안내메세지를 출력하여 부하를 줄일수는 있다.) 현재 해결책으로는 CloudWatch의 로그를 분석하여 이벤트가 발생하기 하루전에 인스턴스를 추가로 생성하거나 타입을 고사양으로 올리는 작업을 수동으로 진행중이다. AG를 물론 걸어 놓았지만 일시적 트래픽이 증가하는 구간에는 서비스 단절이 발생하므로, 서비스가 중지가 되는건 어쩔수 없는 상태이다. 이를 어떻게 극복할 수 있을까? - 현재 상황을 설명 # 개선을 해..
K8S Master Node HA 구성 (2개의 Worker Node 참여) # EC2 인스턴스를 생성 (t3.samll - 2개) 1. Swap을 사용하지 않도록 설정한다. (모든 노드 공통) swapoff -a echo 0 > /proc/sys/vm/swappiness sed -e '/swap/ s/^#*/#/' -i /etc/fstab 2. docker 설치 (모든 노드 공통) sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker 3. docker 데몬 교체 (모든 노드 공통) # Docker 데몬이 사용하는 드라이버를 cgroupfs 대신 systemd를 사용하도록 설정 cat
K8S Master Node HA 구성 (MasterNode:3) # 쿠버네티스 클러스터링 환경 구성을 위해 k8s Master Node : 3, k8s Worker Node : 3 으로 k8s 클러스터링 환경을 만든다. 1. Swap을 사용하지 않도록 설정한다. (모든 노드 공통) swapoff -a echo 0 > /proc/sys/vm/swappiness sed -e '/swap/ s/^#*/#/' -i /etc/fstab 2. docker 설치 (모든 노드 공통) sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker 3. docker 데몬 교체 (모든 노드 공통) # Docker 데몬이 사용하는 드라이버를 cgroupfs 대신 system..
Django 기본요소 학습 (url과 view) # 게시판 역할을 할 pybo 앱을 생성한다. (mysite) C:\projects\mysite>django-admin startapp pybo (mysite) C:\projects\mysite> - 명령을 실행하면 아무런 반응이 없지만 파이참 소스파일 리스트에서는 pybo 폴더가 생성된 것을 확인 할 수 있다. # 장고 프로그램을 개발해보자 url 창에 http://localhost:8000/pybo 주소를 입력했을때, "안녕하세요 pybo에 오신것을 환영합니다."라는 문자열이 출력 되도록 만들어보자. - 로컬 서버를 먼저 구동한다. (mysite) C:\projects\mysite> python manage.py runserver - 그리고 브라우저에 http://localhost:8000/pybo ..
Django 기본설정 # 로컬 환경에서 가상의 환경을 세팅하여 구성 하기위한 파이썬 가상환경 설정 cd / mkdir venv python -m venv mysite # 생성한 가상환경 진입하기 C:\venvs>cd C:\venvs\mysite\Scripts C:\venvs\mysite\Scripts> activate (mysite) C:\venvs\mysite\Scripts> # activate 환경 빠져나오기 (mysite) C:\venvs\mysite\Scripts>deactivate # 장고 설치하기 (mysite) C:\venvs\mysite\Scripts>pip install django==3.1.3 # pip 업그레이드 (mysite) C:\venvs\mysite\Scripts>python -m pip insta..