목록인프라/Amazon AWS (7)
훈훈훈
Introduction 이번 글은 AWS Aurora MySQL 를 사용할 때 어떤 MySQL JDBC driver 라이브러리 사용할지 고민하면서 찾아보게 된 내용을 정리해보기로 하였다. 간단하게 요약하자면 MariaDB connector / J 와 AWS MySQL JDBC 사이에 고민을 했고, 두 라이브러리를 비교해보게 되었다. MariaDB connector / J MariaDB Connector / J 공식문서를 보면 아래와 같이 auroa 옵션을 부여할 경우 replication 과 failover 기능을 사용할 수 있는 것을 알 수 있다. 해당 기능의 장점은 별 다른 구현 없이 failover 와 replication 를 쉽게 이용할 수 있다는 점이다. 하지만, MariaDB JDBC drvi..
이번에 프로젝트를 진행하면서 REST API를 만들어 backend 서버를 AWS를 사용하여 배포하게되었다. 처음에는 로컬 환경에서 진행하듯이 python manage.py runserver 명령어를 사용하였지만, 터미널 종료 후에 서버도 같이 종료되는 현상이 발생하였다. 만약 실제 서비스를 제공하고 있다면 서버가 다운되는 현상은 기업 입장에서 매우 큰 크리티컬일 수 밖에 없다. 따라서 다음과 같은 조건을 만족 시켜야 한다. # Django 배포 조건 1. Terminal 이 종료되어도 서버는 24/365 유지되어야한다. 2. Request 혹은 Response 시 로그가 남아야한다. 이제 아래와 같은 배포 방법을 소개하려고 한다. # 배포 방법 1. gunicorn - gunicorn 이란 ? pyth..
# 글을 쓴 계기 - 프로젝트 진행 중 지인의 RDS에 저장된 Scheme가 랜섬웨어에 감염되었다는 소식을 듣게 된다 ........ # 원인 1. Security Group 상에서 any open 정책 2. 아주 간단한 password 사용 그렇기 때문에 해커가 간단하게 RDS서버에 접근하지 않았나 싶다 .. # 대응 방안 1. MySQL Default Port 변경 RDS 생성 시 Default Port가 3306으로 설정되어있다. 따라서 RDS서버에는 3306포트가 오픈되어 있다는 점은 예상하기 쉽다. 따라서 AWS Console에서 포트를 하는 것이 좋다. 필자는 15001 포트로 변경하였다. 참고로 MySQL Default Port를 번경하였다면, my_settings.py에 등록된 Port도 ..
1. EC2 인스턴스에 mysqlclient 모듈 설치 Django에서 mysql을 연동하기 위해서는 mysqlcinent 모듈이 필요하다. 로컬환경에서는 pip 로 바로 설치가 가능하지만, EC2 인스턴스에서는 gcc 및 libmysqlclient-dev 설치가 선행되어야한다. 이 두개가 설치 되었다면, git에서 받은 파일에 첨부된 requirement.txt 파일에 있는 리스트들을 그대로 설치하거나, pip install mysqlclient를 진행해주면 된다. sudo apt install gcc sudo apt install libmysqlclient-dev /*conda 가상환경에서 */ pip install -r requirement.txt 2. my_settings 생성 및 설정 보통 gi..
1. Key.pem file 권한 설정 파일 소유자 읽기 권한으로 설정 chmod -R 400 [KEY_NAME.pem] 2. EC2 인스턴스 접속 ssh -i [KEY_NAME] ubuntu@[EC2.IP] 3. Mini conda install conda env 상에서 Django server를 실행 시키기 위해 Mini conda install 필요 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod -R 755 Miniconda3-latest-Linux-x86_64.sh ./Miniconda3-latest-Linux-x86_64.sh 4. conda 가상 환경 생성 #파이썬3 버전의 환경만들기 conda ..
1. Console 접속 AWS에 로그인 후, 콘솔에 접속하여 EC2 서비스 항목으로 이동하여 인스턴스 시작을 클릭한다. 2. AMI(Amazon Machine Image) 선택 원하는 OS 종류를 선택할 수 있다. 필자는 서버 배포 목적이기 때문에 Ubuntu를 선택하였다. 3. AMI 스팩 설정 AMI에 설치될 OS의 스팩을 설정할 수 있다. 4. 세부 정보 설정 인스턴스 개수, 네트워크 등에 대한 항목을 설정 할 수 있다. 고급 세부 정보에는 사용자 데이터 항목에 원하는 스크립트를 입력하면 인스턴스가 실행될 때 자동으로 스크립트가 실행되게 할 수 있다. 4. 스토리지 설정 AMI 스토리지 항목에 대해 설정이 가능하다. 5. 태그 설정 태그를 설정할 수 있으며, 태그는 인스턴스를 식별하는데 사용되며,..
https://aws.amazon.com/ko/ > URL 접속 후 AWS 계정 생성 클릭 ! 이메일 주소, 패스워드, 계정 명을 입력 계정 유형, 이름, 국가, 주소 등 입력 - 계정 유형 : 저는 개인 선택했습니다, 저 처럼 학습용으로 하시는 분이라면 개인으로 선택 후 항목 입력 !! - 주소 : 영어로 입력해야합니다. 영문 주소는 네이버 영문 주소 변환 기능 이용 !! 결제 정보 입력, 항목 작성 후 검증 및 추가를 클릭 시 1$ 정도 출금됩니다 ...... 마지막으로 저는 학습용이기 때문에 기본 플랜 선택 후 완료