⚙️ Ops/MSA2023. 5. 1. 00:52gRPC Protocol - Spring Boot

💡 gRPC gRPC는 Google에서 개발한 고성능, 오픈 소스, 다목적 Remote Procedure Call(RPC) 프레임워크입니다. gRPC는 Protocol Buffers를 사용하여 서비스 정의를 작성하고, HTTP/2를 통해 효율적인 통신을 제공합니다. 이것은 분산 시스템에서의 클라이언트-서버 통신에 사용되며, 멀티 플랫폼, 멀티 언어 지원을 통해 쉬운 개발 및 통합을 제공합니다. gRPC의 주요 특징과 이점은 다음과 같습니다. 다양한 언어 지원: gRPC는 C++, Java, Python, Go, Ruby, C#, Node.js, Android Java, Objective-C, PHP, Dart, Kotlin, Swift, JavaScript 등 다양한 언어를 지원합니다. 효율적인 통신: ..

⚙️ Ops/AWS2023. 4. 17. 12:55AWS Parameter Store

💡 AWS Parameter Store 디스코드 봇 토큰을 AWS Parameter Store를 이용해서 Spring Boot로 값을 가져온다. Dependency 설정 ext { set('springCloudVersion', "Hoxton.SR6") } implementation 'org.springframework.cloud:spring-cloud-starter-aws-parameter-store src/main/resources 아래에 bootstrap.yml 파일 생성 prefix 파라미터의 접두사를 지정할 수 있다. 주의해야할 점은 해당값은 /로 시작해야한다. default : /config name 파라미터의 식별자 애플리케이션이름이다. 해당 파라미터를 어떤 애플리케이션에..

⚙️ Ops/CI & CD2023. 4. 16. 00:54[CI & CD - AWS] 5 - Automated Deployment

💡 Automated Deployment 배포 파이프라인을 구성하는 단계(stage)와 작업(actions) Source단계 : 원격 저장소에 관리되고 있는 소스 코드에 변경이 생길 경우, 감지하고 다음 단계로 전달 Build단계 : 소스단계에서 받은 코드 컴파일 빌드 테스트 -> 가공 -> 결과물 전달 Deploy단계 : 전달받은 결과물을 실제 서비스에 반영 * 실제 단계와 과정은 상황에 따라 세분화 & 간소화 AWS Development Tool CodeCommit Source단계 구성 시 사용하며, 버전 관리 도구이다 보안에 강점 FreeTier이상 사용시 과금 CodeBuild Build 단계 구성 시 사용하며, 유닛 테스트 & 컴파일 & 빌드 작업을 CLI를 통해 실행 CodeDeploy Dep..

⚙️ Ops/CI & CD2023. 4. 16. 00:47[CI & CD - AWS] 4 - ELB & Cert & Route53

💡 ELB 생성 EC2 - Application LoadBalancer 생성 Listener에 80,443 추가 아래 나온 리전들 전부 선택 Request new ACM Cetificate 도메인이름, DNS 검증 체크 도메인 요청 후, Route 53에서 Record 요청 인증서 발급 완료 후 LoadBalancer에 적용 Default VPC 사용X, Custom VPC 생성 로드밸런스 그룹 이름 지정 고급 상태 검사 설정 - Success Code(201) 설정 인스턴스 지정 생성 완료 로드밸런서가 적용된 도메인으로 접속 테스트 💡 호스팅 영역에 Alias Record 생성 Route53 콘솔 이동 DNS 관리 - 호스팅 영역 레코드 생성 - 별칭 ON (Application/Classic Load..

⚙️ Ops/CI & CD2023. 4. 16. 00:43[CI & CD - AWS] 3 - Connect RDS

💡 RDS 생성 RDS Console RDS 콘솔 - DB 생성 Free Tier 선택 계정 설정 인스턴스 타입 t2.micro로 설정 Public Access 허용 보안그룹 Default, 포트 = 임의설정 초기 DB 네임 설정 - DB 생성 💡 RDS 연결 RDS 연결 시, DB인스턴스의 ID,PW & 포트 & 엔드포인트 주소가 필요함 연결 RDS콘솔 - DB인스턴스의 엔드포인트 주소 확인 로컬 서버의 방화벽 13306 포트 오픈 로컬 서버 -> mysql -u [Master_Name] --host [Endpoint] -P [Port] -p 접속이 안될 시, RDS 인스턴스의 보안그룹 인바운드 포트 오픈 DB 접속 💡 Main 서버 설정 application.properties 수정 applicati..

⚙️ Ops/CI & CD2023. 4. 16. 00:37[CI & CD - AWS] 2 - Deploy Client

💡 클라이언트 배포 준비사항 3 버킷 생성 (로컬) npm install S3 버킷 생성 Public Access 차단 해제 & ACL비활성화 -> 생성 npm 설치 (로컬환경) 가지고있는 nvm스크립트 실행 NVM 설치 스크립트 받아서 설치 nvm install -lts or nvm install 15 -> nodejs 설치 npm install -> 의존성 모듈 설치 환경변수 설정 mv .env.example .env 인스턴스 ip + port 작성 nvm run build .env.example -> .env로 변경 .env 파일 내에 환경변수 설정 nvm run build 실행 빌드가 완료되면 build 디렉토리가 생긴다 S3 설정 변경 정적 웹 사이트 호스팅 On 버킷에 파일 업로드 Public..

⚙️ Ops/CI & CD2023. 4. 16. 00:27[CI & CD - AWS] 1 - Deploy Server

💡 AWS 환경이 아닐경우 & AWS 환경일 경우 AWS 환경이 아닐 경우 jdk11.tar.gz 다운 tar xvfz openjdk-11+28_linux-x64_bin.tar.gz vi /etc/profile (환경변수 잡아주기) source /etc/profile # java export JAVA_HOME=/JAVA 설치경로/jdk-11 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar AWS CLI 환경일 경우 curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip["](https://awscli.amazonaws.com/awscli-exe-linux-x8..

image