본문 바로가기

Others/인프라

(17)
AWS DMS를 사용하여 데이터베이스 Migration 하기 🛠 준비물 : AWS 계정, SSH 연결 프로그램 시작 전 목표 : On-premise DB서버를 AWS의 RDS로 Migration하기 여기를 눌러 기본 VPC & EC2 환경을 구성할 수 있다. 이 포스팅은 DMS에 대한 가장 기초적인 On-premise to RDS 마이그레이션을 위한 최소환경으로 구성하였다. DMS란? DMS란? : 각종 데이터베이스를 DMS를 사용하여 AWS Cloud로 마이그레이션하거나, 온-프레미스 인스턴스 간에(AWS 클라우드 설정을 통해) 또는 클라우드와 온-프레미스 설정의 조합 간에 마이그레이션할 수 있다. DMS는 Free-Tier를 제공하지 않는 서비스이기 때문에 약간의 과금이 필요하다. (실습만 진행하고 삭제하면 1$ 이내로 가능하다) DMS Migration을 간..
[AWS] ElastiCache Redis 생성 및 접속 테스트 절차 1단계 - Bastion용 EC2 인스턴스 생성 ElastiCache의 경우 AWS 외부에서 접속이 불가능하므로 AWS VPC 내부에 인스턴스를 통해서 접속 가능 Bastion용으로 EC2 인스턴스를 생성 01. EC2 서비스로 이동해서 [인스턴스 시작] 버튼 클릭 02. 프리티어의 Amazon Linux 2 AMI (HVM), SSD Volume Type 선택 03. t2.micro 선택 후 [다음: 인스턴스 세부 정보 구성] 선택 04. 인스턴스 세부 정보 구성 네트워크의 경우 인스턴스가 생성될 VPC 선택 서브넷의 경우 Bastion용 EC2이기 때문에 퍼블릭 서브넷 선택 외부에서 접속을 위해서 [퍼블릭 IP 자동 할당] 기능 활성화 05. 스토리지 추가 30GB까지 프리 티어에서 사용가능하므로 3..
AWS ElasticSearch 구축 및 기초 세팅 1. ElasticSearch 란? 아파치 루씬 기반의 검색 엔진이다. 자바로 개발되어 있으며 오픈 소스로 활용이 가능하다. 2. ElasticSearch 특징 분산 방식 페타바이트의 데이터 처리가 가능하다. 역색인(inverted index) 방식 키워드를 통해 문서를 찾아내는 방식이다. 아주 빠른 전체 텍스트 검색이 가능하다. 문서에 나타나는 모든 고유한 단어 목록을 만들고, 각 단어가 발생하는 모든 문서를 식별한다. 실시간에 가까운 검색 제공, 빠르다 해쉬테이블 방식이어서 검색시 O(1)의 효과를 낸다 RDB 같은 경우 O(n) 기타 기본 기능 - 리밸런싱 및 라우팅은 자동 수행, 복원력, 인덱스 수명 관리, 데이터 롤업 등 3. ElasticSearch 구조 인덱스(색인) ex. 고객 인덱스, 주..
[letsencrypt] https 인증서 갱신 중에 pip 오류 내부 소스의 뭔가 정책 때문에 `pip --version` 으로 실행하지 않고 `venv/bin/python -m pip --version` 으로 실행시킬 때 오류가 나는 문제로 보여지는데 마침 [구글링 해 보니](https://community.letsencrypt.org/t/pip-error-with-certbot-auto/88200) 유사 사례와 해결(?) 방법이 나와 있었고, 여기 나온 대로 `letsencrypt-auto` 파일을 에디터로 열어서 `pip_version = StrictVersion(check_output([‘pip’, ‘–version’]).decode(‘utf-8’).split()[1])` 부분과 `command = ['pip', 'install', '--no-index', '..
우분투 리눅스 타임존 설정 (ubuntu linux timezone setting) timezonectl 사용 한국으로 설정 timedatectl set-timezone 'Asia/Seoul' GMT 로 설정 timedatectl set-timezone 'GMT' 전체 타임존 목록은 list-timezones 옵션 사용 timedatectl list-timezones tzdata 를 ln 으로 링크 tzdata 설치 sudo apt install tzdata symbolic link 한국 ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime GMT ln -sf /usr/share/zoneinfo/GMT /etc/localtime Ref https://askubuntu.com/questions/3375/how-to-change-time-zone-s..
우분투(ubuntu) kernel 업그레이드 시 boot 용량 부족, 의존성 문제 사용하는 패키지를 최신 버전으로 업데이트 받기 위해 apt-get upgrade를 했는데 이후 재부팅하니 검은 화면에서 멈추는 현상 발생 grub에서 'Ubuntu용 고급 설정'으로 들어가 최신 커널이 아닌 직전 구 버전 커널로 들어가니 vfs unable to mount root fs on unknown-block(0 0) 오류 나오며 부팅 안됨 전전 구 버전 커널로 들어가 부팅 성공 df -h 로 용량 확인해보니 /boot 가 100% 인 것을 확인 리눅스 커널이 업데이트 될 때 /boot 용량 부족으로 일부 패키지가 설치되지 않은 것 /boot 용량 확보를 위해 dpkg -l "*4.4.0-*" | grep ^ii 명령어로 삭제하기 위한 예전 커널 목록 확인 아래와 같은 apt-get purge 명..
Nginx를 사용하여 프록시 서버 만들기 서론안녕하세요, 영훈입니다. 회사에 입사한 후 인프라에 중요성에 대해서 깨닳게된 후 꾸준히 공부하고 있습니다.오늘은 제가 공부한 Nginx의 개념에 대해서 간단히 정리한 후 Nginx 설치 및 사용하여 Node.js의 프록시 서버를 만들어 보도록 하겠습니다.이론Nginx 개념Nginx는 Event-Driven 방식으로 클라이언트에 요청을 처리해주는 웹 서버 입니다. 그렇기에 Apache 보다 더 좋은 성능을 가진다고 합니다.Nginx와 같은 웹 서버를 왜 사용할까요?클라이언트의 요청 처리를 분산시킬 수 있는 로드 밸런스를 사용함으로써 효율적인 처리를 합니다.정적파일을 다이렉트로 제공해주기 때문에 백엔드 서버에 부담을 주지 않습니다.클라이언트는 Ngnix 포트로만 백엔드 서버에 접근할 수 있어 보안에 도움..
SSH PASSWD 없이 접속하기 [출처] https://kimdoky.github.io/deploy/2017/06/06/ssh-nonpass-connect.html [출처] https://kimdoky.github.io/deploy/2017/06/06/ssh-nonpass-connect.htmlTDD 스터디하는중 2부의 내용은 배포와 관련된 내용이 진행됩니다. AUTOMATING DEPLOYMENT WITH FABRIC진행 도중 SSH로 접속시 패스워드 때문에 진행이 막히게 되었습니다.AWS EC2로 진행하였고, EC2는 기본적으로 Keypair를 이용하여 접속하게 됩니다.fabric으로 접속시 Keypair를 사용할 수 없었기 때문에 EC2 접속에서 패스워드 부분에서 접속이 막혀 더이상 진행되지 못하였습니다.Python Korea, ..