AWS
AWS EC2 Swap File로 메모리 부족 대처(feat. EC2 Build 멈춤 해결)
EC2에서 빌드 중 계속 멈추는 현상이 발생했습니다. 문제는 프리티어는 RAM 1GB만 지원해주기 때문이었습니다. 이러한 메모리 부족 현상은 Amazon Docs에 설명되어 있듯이 하드디스크를 가상 메모리로 변환시켜 사용(Swapping)하여 해결할 수 있었습니다. 1. 메모리의 상태 확인 $ free 2. Swap File 생성 $ sudo dd if=/dev/zero of=/swapfile bs=128M count=32 dd 명령을 통한 루트 파일 시스템에 Swap File 생성 bs: 블록 크기, bs는 인스턴스에서 사용 가능한 메모리보다 작아야 합니다. count: 블록 개수 bs(128M) * count(16) = 4GB(4,096MB) 3. 생성한 Swap File 권한 설정 사용자의 읽기 및..
AWS Amazon RDS DBeaver에 연결 (+ EC2에서 접속)
DBeaver 1. 새 데이터베이스 연결 2. 자신 환경에 맞게 선택 3. Connection Settings RDS 인스턴스 들어가 정보를 확인한 후 아래에 기입해줍니다. 엔드포인트 및 포트 확인 [RDS 인스턴스] > [연결 & 보안] 탭 > 엔드포인트 및 포트 확인 이를 통해 연결을 할 수 있습니다. DB 이름 & RDS Username 확인 [RDS 인스턴스] > [구성] 탭 > DB 이름 & 마스터 사용자 이름 EC2에서 접속 EC2에 mariaDB 설치 # mariadb 설치 $ sudo yum install mariadb # RDS 접근 $ mysql -u {username} -p -h {엔드포인트}
AWS Amazon RDS (feat. MariaDB)
Amazon RDS(Relational Database Service) AWS에서 제공하는 관계형 데이터베이스 서비스입니다. EC2 인스턴스(서버) 안에 DB를 같이 두어 서비스할 수도 있는데 왜 RDS를 사용할까요? 만약 서비스를 운영하다가 서버에 문제가 생기면 서비스를 중단해야 하는 경우, 또는 트래픽에 따라 서버를 줄이고 늘리는 경우 등 서버와 DB를 분리하는 것이 유리합니다. 이를 좀 더 개념적이고 자세하게 설명하면 다음과 같습니다. 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하면서, 비용 효율적이고 크기 조정 가능한 용량을 제공합니다. 사용자가 애플리케이션에 집중해..
AWS EC2에 Spring Boot 배포하기 (Amazon Linux)
작업한 프로젝트를 AWS EC2에 배포하기 위해서 다음과 같은 절차로 진행합니다. EC2 서버로 Github에서 코드를 가져옵니다. build하여 jar 파일을 생성합니다. 물론 로컬에서 build하여 jar 파일을 생성한 후 EC2 서버로 보내는 방법도 가능합니다. 1. 환경셋팅: Java 설치 / Git 설치 1-1) Git 설치 $ sudo yum install git 1-2) Java 설치 (JDK 11) yum은 jdk 1.8 까지만 설치가 가능합니다. 때문에 다음과 같은 방식으로 jdk11를 설치해주어야 합니다. 참고 yum 사용: CentOS, Red Hat 계열 apt-get 사용: Debian, Ubuntu # Amazon Corretto를 이용한 jdk 11 파일 다운로드 # -o 옵션..
AWS Window 환경에서 EC2 인스턴스에 접속하기 (feat. PuTTY)
Window 환경에서 SSH 접속을 하기 위한 방법으로 PuTTY를 사용하여 설명하겠습니다. RDP를 사용하여 연결하는 방법은 Amazon Docs를 참고하면 됩니다. 1. PuTTY 설치 https://putty.softonic.kr/ PuTTY 완전하고 안정적인 텔넷 및 SSH 클라이언트 putty.softonic.kr 2. PuTTYgen으로 .pem 파일 .ppk 파일로 변환 키 페어를 생성할 때 .ppk로 생성한 경우 이 부분은 생략하셔도 됩니다. PuTTY에서 키 페어를 이용하여 접속하기 위해서는 .ppk 확장자이어야 합니다. 만약 .pem 파일로 생성한 경우 .ppk 파일로 변환해주어야 합니다. PuTTYgen 접속 후 [Conversions] > [Import key] > .pem 파일 선..
AWS EC2 개념 및 인스턴스 생성
EC2 (Elastic Compute Cloud) AWS에서 제공하는 클라우드 컴퓨팅 서비스 입니다. AWS로부터 독립된 가상의 컴퓨터를 한 대 빌리는 것입니다. 장점 원하는 스펙만큼 구축할 수 있고, 사용한 만큼 비용을 지불합니다. (탄력성: Elastic) 클릭 몇 번으로 서버를 구축할 수 있기 때문에 매우 효율적입니다. 사용자가 (CLI , Command를 통해) 인스턴스를 완전히 제어할 수 있습니다. EC2 인스턴스 생성 AWS EC2 인스턴스를 생성했다면 우리는 그 인스턴스를 구성 및 실행하기 위한 OS, CPU, RAM, 용량 등을 구성해주어야 합니다. AMI는 이러한 서버에 필요한 OS, CPU, 소프트웨어 등을 구성 해놓은 템플릿입니다. 즉 우리는 AWS EC2 인스턴스를 생성할 때 AMI..