목록Cloud (14)
우당탕탕 개발일지
도커 컴포즈를 사용하려면 도커 컴포즈가 관리할 docker-compose 파일을 생성해야 한다. 물론 각 서비스들의 도커 파일이 생성되어 있어야 한다. 1. Docker-Compose 파일 작성 로컬에서 MSA를 구성했을 때는 호스트 이름이 localhost 포트 번호가 모두 달랐다. 이전 글에서는 단일 마이크로서비스만 실행했기에 포트 번호를 다르게 해도 됐었지만, MSA는 핵심 서비스를 찾아야 하기에 도커에서 실행할 때는 각 서비스의 호스트 이름이 모두 다르고 포트 번호가 8080으로 같다. 현재 내가 구성하려는 서비스의 각 포트 번호는 다음과 같다.ServicePortEureka8761Api-Gateway8000Hospital-Service9001User-Service9002Emergency-Serv..
MSA 프로젝트 진행 후, 배포에서 가장 어려움을 겪었다. MSA의 의도대로라면 각 서비스를 서비스 단위로 배포를 해야하는데 그렇게 될 경우 ec2의 개수가 10개 이상 필요하고, 그러한 요금을 감당하면서까지 개인 프로젝트를 배포할 필요성은 없다고 판단하였다. 그래서 최대한 AWS 프리티어를 사용하며 배포하기로 결정하였고, 프론트는 CloudFront를, 데이터베이스는 RDS를 사용하였다. Eureka, Api-Gateway 외 다른 서비스는 Docker Compose를 이용할 계획이다. 1. Docker 설치처음에는 ec2 프리티어로 진행하고자 했으나 t2.micro 성능이 너무 작아 컨테이너 두개를 띄우면 멈춰버렸다. 그래서 윈도우에 도커를 직접 설치하여 진행한 후, 완료된 상태를 보고 그에 맞는 ..
서버리스 방식으로 SpringBoot를 쉽게 배포할 수 있는 방법이 없을까 찾아보다가 AWS API Gateway와 Lambda서비스를 사용하기로 하였다. * Lambda로 SpringBoot 실행 시 Cold Start 가 발생하게 되는데, 이 부분 때문에 Snap Start라는 기능이 추가되었다. 즉, SpringBoot 실행이 가능하지만 Snap Start의 경우 Java만 적용이 가능해 컨테이너 진행에 실패하였다. AWS Labda 함수 생성 방식은 3가지가 있었고, 이 중 컨테이너 이미지로 함수 생성을 했다. 기존에 도커 허브에 이미지를 올려뒀었는데, Lambda의 경우 ECR 이미지 URI가 필요하여 ECR로 변경해주었다. Github Action을 통해 Docker 이미지를 생성한 후 ..
AWS S3 + CloudFront AWS 프리티어 요금제에서는 S3의 경우 5GB가 넘지 않으면 12개월 무료로 사용이 가능하고, CloudFront의 경우, 데이터 송신량이 1TB 이하이고 요청 수가 10,000,000건 이하라면 무료로 사용이 가능하다. 그래서 프론트는 AWS S3 + CloudFront + Route53 을 사용하여 배포할 계획이다. Route53 호스팅 영역 생성 먼저 가비아에서 도메인 구매를 진행한 후, 호스팅 영역을 생성해준다. 가비아 네임서버 등록호스팅 영역을 생성하면 ns 유형으로 값/트래픽 라우팅 대상이 나오는데 이 값들을 가비아의 네임 서버 1차 ~ 4차에 등록해주어야 한다. 참고로 값 맨 뒤에 붙는 .은 빼주어야 등록이 가능하다. AWS S3버킷 이름 : docto..
Firebase는 Google에서 개발한 클라우드 기반 애플리케이션 개발 플랫폼이다. 애플리케이션 기능 개발에만 집중할 수 있도록 백엔드의 부가적인 부분을 처리해준다. AWS와 같은 클라우드 서비스는 유연하지만, 사용량이 적어도 과금이 발생할 수 있는 위험이 있다. Firebase는 초기 단계의 프로젝트나 유저풀이 적은 경우에 적합하다. Firebase는 무료로 시작할 수 있고, 유료 전환도 사용량에 따라 유연하게 조정할 수 있어 초기 리스크를 최소화할 수 있다. 이러한 이유로 Firebase를 사용하게 되었다. 현재 제공하고 있는 Firebase의 기능들은 다음과 같다. 이 중에서 Cloud Functions, Cloud Firestore, Hosting 세 가지를 사용한다. 1. Cloud Func..
네이버 클라우드 플랫폼에서는 vCPU 1개 / 메모리 1GB / HDD 50GB 사양의 Micro Server를 1년간 무료로 테스트 용도로 활용할 수 있다. 우분투를 사용하고 싶었으나 CentOS 밖에 뜨지 않아서 CentOS로 진행하였다. SSD 서버는 Micro 타입 서버를 지원하지 않기 때문에 HHD를 선택한 후, 기본값으로 진행하였다. 외부에서 Micro Server에 접속하기 위해서는 별도의 유료 서비스를 할당시켜줘야 한다. 결제 수단 최초 등록시 지급되는 100,000 크레딧으로 3개월 무료 서버를 사용할 수 있다. 1. 공인 IP 생성 및 할당 공인 IP 신청을 클릭 후 IP 주소를 발급 받는다. 2. ACG 설정 기본적인 8080 포트와 3306 포트를 설정해 주었다. 3. 관리자 비..
https://experienced-candy-562.notion.site/b38d79ea526d40dfbc3e3529993ea08a?pvs=4 개념 정리 | Notion Analystics - (17) experienced-candy-562.notion.site Analystics - (17) 1. Amaon Kinesis Kinesis Data Streams : 데이터 스트림을 캡쳐, 처리, 저장 Kinesis Data Firehose : AWS 데이터 스토어에 데이터 스트림 분석 Kinesis Data Analytics : SQL이나 Apache Flink로 데이터 스트림 분석 Kinesis Video Streams : 비디오 스트림 캡쳐, 처리, 저장 역할 Amazon Kinesis Data Fi..
RDS 생성 1. RDS 데이터베이스 생성 [주의] 프리티어는 AZ db.t2.micro 인스턴스 기준으로 750시간 까지 무료이다. 2. 프리 티어가 제공되는 MariaDB 선택 3. 프리티어 선택 및 DB 설정 DB Name : dv-serverUser Name : adminUser Password : soldesk1. 4. 스토리지 용량 설정 과금 요인 중 하나이기 때문에 자동 조정을 비활성화 해주었다. 5. DB 연결 설정 및 퍼블릭 액세스 허용 6. 초기 DB 설정 백업도 과금 요인이기 때문에 비활성화 해주었다.RDS 설정 1. 보안 그룹 설정 2. 인바운드 규칙 편집 3. Workbench 연결 등록 Connection Name : to-do-serverHostname : ..