S3의 의미와 S3를 활용한 아키텍처 구성.
·
Server&load/AWS
S3란?S3는 파일 저장 서비스를 의미한다.사진과 동영상 같은 파일을 드라이브에 저장하는데 S3는 이런 종류의 서비스라고 볼 수 있다.S3를 사용하는 이유백엔드 서버를 구현하다보면, 이미지 업로드 기능을 구현할 때가 많음.S3는 파일 저장에 특화된 서비스로, 파일을 저장하고 최적화하기 위해 S3를 많이 사용한다.S3를 활용한 아키텍처 이해하기이미지 파일 업로드 과정사용자가 이미지 업로드 API로 요청을 전송한다.백엔드 서버에서 S3에 이미지를 업로드한다.S3에 파일이 전달되자마자 이미기가 저장된 URL을 리턴시킨다.RDS(DB) 에 이미지가 저장된 URL을 저장한다.이미지 업로드를 하면 DB자체에 이미지 파일을 저장하는 것이 아닌, S3의 주소를 저장하는 것이다.이미지 파일 다운로드 과정사용자가 이미지 ..
Express 서버에 RDS 연결 및 종료하기
·
Server&load/AWS
IDE 에서 기존에 가지고있던 프로젝트 열기node app.js 로 DB 연결하기비밀번호 오류 혹은 주소 잘못 작성 시 아래와 같은 에러코드를 확인할 수 있다.EC2에 연결하기위 상태로 배포하면, EC2의 컴퓨터가 기존 RDS 와 연결하여 서비스를 운연할 수 있다.RDS 종료하기데이터베이스에서 삭제 선택스냅샷과 백업 보존 여부실제 운영 DB 라면 안정적인 운영 및 실수방지를 위해 남겨두는 것이 좋다.연습용 DB 라면 남기지 않아야 비용이 안나가게 하기 위해 남기지 않는것이 좋다.
RDS에 접속하기
·
Server&load/AWS
DB 관리도구와 연결하여 DB 작동을 확인해야 한다.DB 관리도구workbenchDatagripDBeaver DBeaver로 RDS 인스턴스에 접속하기DB 관리도구와 연결하여 DB 작동을 확인할 수 있다.RDS > 데이터베이스 의 엔드포인트 확인하기엔드포인트(Endpoint)란?특정 리소스에 접근할 수 있도록 해주는 URL을 의미.EC2나 RDS 와 같은 리소스에 접근할 때 특정 주소를 통해 접근하는데, 그 주소가 리소스의 문같은 역할을 함.문 안에서는 내부의 코드나 데이터를 자세하게 확인할 수 있다. DBeaver (DB관리도구) 에서 인스턴스 접속하기LNB 에서 Connectiion createMySQL선택Server Host 에 엔드포인트 입력Username 및 PW 입력 후 Test connect..
RDS 생성, 보안 그룹 및 파라미터 그룹 설정
·
Server&load/AWS
RDS 생성하기RDS 검색하여 Aurora and RDS 선택데이터베이스 생성엔진 옵션 - MySQL 선택템플릿 > 프리 티어 선택테스트 뿐 아니라 실무에서도 프리 티어는 많이 사용된다. (하루 2000명 정도) 설정 > 식별자 및 마스터 암호 입력스토리지 유형 > 범용 SSD(gp3) 선택연결 > 퍼블릭 엑세스 > 예 선택외부에서 접근하여 RDS의 정보를 파악할 수 있다.추후 보안을 위해 아니오를 선택하고, VPC 내부에서만 RDS를 접속할 수 있도데이터베이스 생성 선택생성 완료보안 그룹 생성하기EC2 > 보안 그룹 > 보안 그룹 생성하기 선택인바운드 규칙에 MYSQL 추가하기기존 RDS에 보안 그룹 적용하기RDS 수정하기연결에서 새로 생성한 보안 그룹 선택하기파라미터 그룹 추가하기파라미터 그룹이란?D..
RDS 의 의미와 아키텍처 구성
·
Server&load/AWS
RDS란?DB 와 관련된 서비스로, 관계형 DB Service 를 의미함Mysql, MariDB 와 같은 여러 관계형 데이터베이스 서비스를 AWS로 빌려서 사용하는 형태.RDS를 사용하는 이유.서버를 배포하고 난 뒤 서버에서는 로컬 환경에 설치된 DB 를 연결할 수 없다.외부 서비스는 로컬 호스트 환경에 접근할 수 없게 세팅되어있음.따라서 DB도 외부 인터넷에서 접근할 수 있게 함께 배포해야 하므로 AWS라는 DB 를 빌려서 사용한다.또한 AWS RDS 는 백업, 모니터링, DB 업그레이드 등 여러 부가서비스를 제공한다.현업에서의 RDS EC2에 Mysql을 직접 설치해서 운영하기 별도 RDS 비용이 나오지 않아 비용 절감의 장점이 있다.백엔드 서버에 장애가 발생하면 EC2 인스턴스 컴퓨터가 죽을 수 있..
HTTPS 연결 시, ELB vs Certbot, Nginx
·
Server&load/AWS
현업에서 가장 많이 사용되는 방법현업에서는 ELB 를 활용하여 HTTPS적용을 많이함.설정이 편리하고, 인증서 만료기간이 지나도 자동으로 갱신시켜줄 수 있음.Nginx 를 사용하는 이유Nginx와 Certbot 을 사용하는 이유ELB는 사용하는것 자체로 비용이 나가는 반면 Nginx 와 Certbot 은 HTTPS를 적용에 비용이 소요되지 않는다.즉, 비용 절감의 목적으로 사용된다.Nginx 와 Certbot으로 HTTPS 적용하기app.js 의 port 번호 수정하기EC2 > 인스턴스 > 보안 그룹의 인바운드 규칙에 3000포트 있는지 확인없는 경우 보안그룹으로 이동하여 아래와같은 인바운드 규칙을 추가한다.유형프로토콜포트 범위소스커스텀 TCPTCP30000.0.0.0/0이후 pm2 restart 진행i..
HTTPS 적용을 위한 인증서 발급받고 HTTPS 설정하기
·
Server&load/AWS
인증서 발급받기Certificate Manager 로 이동인증서 요청 선택퍼블릭 인증서 요청 선택도메인 입력 후 다른 사항 변경없이 요청 버튼 선택Route 53 에서 레코드 생성 선택검증 대기중은 CNAME 을 통해 본인이 해당 도메인의 주인임을 인증하기를 기다리는 상태이다.CNAME 을 사용하여 본인이 해당 도메인의 주인임을 인증할 수 있다.레코드 생성 선택인증 성공 확인HTTPS 적용하기로드밸런서 > 항목 선택 > 리스너 및 규칙 추가하기리스너 구성 > HTTPS 로 상태 변경ELB 로 요청이 들어오는데, HTTPS 프로토콜을 활용한 443 포트로 요청이 들어오면 대상그룹에 트래픽 전달보안 리스너 설정 > 인증서 추가HTTPS 적용 확인HTTP로 접근되어도 HTTPS로 연결되도록 설정하기리스너 추가..
ELB 에 도메인 연결하기
·
Server&load/AWS
ELB 에 도메인 연결하기연결하는 이유기존에는 EC2 인스턴스에 주소의 도메인을 직접 연결EC2인스턴스에 직접 요청을 보내지 않고, ELB를 거쳐 보내기 때문에 ELB에 도메인 연연결 방법Route 53 에서 EC2에 연결되어있던 레코드 삭제Route 53 에서 ELB 에 도메인 연결하기별칭을 활성화하면 하단에 엔드포인트, 리전 및 로드밸런서를 선택할 수 있다.엔드포인트는 Application/Classic Load Balancer 에 대한 별칭으로 선택한다.