cloud

· Spring
개요 업무상 Amazon SQS를 적용할 일이 있어 예전에 정리한 SQS 설정 방법대로 설정했지만 Listener이 작동하지 않는 이슈가 있었습니다. 서칭해본 결과 Spring Cloud AWS 2.x 버전은 Spring Boot 3.x에 완전히 호환되지 않는 것처럼 보입니다. AWS @SqsListener not working with spring cloud (using springboot 3) Currently, we have an SQS client configured using an IAM Role that is picked up on the cluster. However, migrating over to Springboot 3 the @SqsListener is no longer consumin..
· Spring
개요 기존에 Jenkins 자동화 배포를 할때 민감한 정보(db 정보 및 암호화 키 ...)가 기입되어 있는 설정파일(yml, properties ...) 파일은 gitignore를 적용하고 직접 Jenkins 서버에 접속해 넣어주고 빌드를 시켰다. 하지만 프로젝트가 많아졌을때 설정파일을 최신화 하게 되면 직접 프로젝트 루트에 설정파일을 직접 넣기 너무 귀찮고 빌드도 다시 시켜야 했다. Spring Cloud Config를 사용하게 되면 한 곳에서 모든 설정파일을 관리하고, 수정이 있더라도 다시 배포하지 않아도 되는 장점이 있다. 단점은 한마디로 보안이 굉장히 중요하다. 물론 보안은 어느곳에도 중요하지만 만약 Spring Cloud Config 암호화 대칭값이 노출되거나, 암호화 및 복호화 기능에 적용한..
· Spring
Spring Cloud Config란? 각 Application의 설정 파일(property, yum...)을 저장하고 Config Server를 통해 전달해주는 구조 분산 시스템에서 설정 파일을 외부로 분리할 수 있도록 해준다. 그림 처럼 설정 파일의 저장소는 Git이 될수도 있고 서버상의 저장할수도 있다. 실행 중인 Application이 Config Server에서 설정 정보를 받아와 갱신하는 방식이다. 즉 실행 중에 설정값 변경이 필요해지면, 설정 서버만 변경하고 애플리케이션은 갱신하도록 해주기만 하면 된다. 따라서 설정이 바뀔 때마다 빌드와 배포가 필요 없는 구조이다. 구현 예제 Config Server를 구축하고 Client Server에서 설정값을 받아와 DB연결까지 구현해 보았다. 이번 예..
· AWS
Amazon EBS(Elastic Block Storage)란? 빠른 속도로 데이터를 저장 보관할 수 있는 서비스 주로 서비스에 디스크로 추가하여 데이터를 보관 제공할 수 있으며, 기본으로 SSD를 사용하여 데이터 입출력 속도가 매우 빠르고, 고성능의 서비스를 필요로 하는 스토리지 서비스에 적합한 서비스 Amazon EC2(Elastic Compute Cloud)에 연결되는 Block Level의 스토리지 서비스 주요 특징 크기는 1GB~1TB 까지 선택 가능 크기/사용 기간을 기준으로 비용 과금 마그네틱의 경우 발생하는 I/O 횟수에도 비용 과금 Amazon EC2(Elastic Compute Cloud) 인스턴스와 독립적으로 사용 가능하며, 다른 EC2 인스턴스에 교체 가능 데이터는 영구적으로 저장되..
· AWS
Amazon EC2(Elastic Compute Cloud)란? Amazon Web Service 상에서 안정적이며, 크기를 조정 가능한 컴퓨팅 파워를 제공하는 웹 서비스 이러한 가상화 서버(Virtual Server)를 '인스턴트(Instance)'라 부르며, 필요에 따라 한개의 인스턴스에서 수천 개의 인스턴스로 손쉽게 컴퓨팅 파워를 확장 가능 주요 특징 한 개에서 수천 개의 인스턴스로 확장 가능 모든 공개된 AWS Region에서 사용 가능 필요에 따라 인스턴스의 생성, 시작, 중단, 삭제 기능 Linux/Windows OS에서 사용 가능하며 모든 소프트웨어 설치 기능 사용한 사용량에 대해서만 시간 단위 비용 과금 다양한 비용 모델(온디맨드, 스팟, 예약) 선택 기능 프리티어(Free Tier) Li..
· AWS
AWS 클라우드 용어 AWS는 전세계를 대상으로 클라우드 서비스를 제공하기 위해 전세계 주요 지역에 IDC(Internet Data Center)를 자체적으로 구축하여 운영한다. 이러한 클라우드 서비스를 위한 인프라 환경을 크게 리전(Region) 가용 영역(Availability Zone) 엣지 로케이션(Edge Location) 으로 구분한다. 리전(Region) 만약 서버가 한 지역에 있다면 자연재해 또는 불가항력으로 서버가 정지되었을때 대처할 수 없거나, 물리적 거리로 인해 빠른 속도를 낼 수 없다. 이러한 이유로 아마존은 전세계 주요 국가에 리전(Region)을 구축하여 해당 위치에서 가장 가까운 곳에서 클라우드 서비스를 이용할 수 있도록 서비스 제공한다. 가용 영역(Availability Zo..
· AWS
클라우드 컴퓨팅이란? 인터넷이라는 통신 서비스를 활용한 컴퓨팅 서비스의 종류 개인용 컴퓨터가 아닌, 인터넷을 통해 연결된 원격 컴퓨터를 활용하는 기술 클라우드 컴퓨팅을 배워야 하는 이유 기업 입장에서 많은 초기 투자 및 운영 비용과 인력이 필요하지만 클라우드 컴퓨팅은 인프라 운영을 위한 환경(데이터 센터, 항온/항습, 전기시설 및 설비 등)이 필요하지 않는다. 클라우드 컴퓨팅 서비스 이용 방식 클라우드 서비스는 이용 방식에 따라 크게 3가지로 분류할 수 있습니다. 1. IaaS(Infrastructure as a Services) 서버를 운영하기 위해서는 서버 자원, IP, Network, Storage, 전력 등등 인프라를 구축하기 위해 여러가지가 필요 IaaS는 이러한 것들을 가상의 환경에서 쉽고 편..
· MSA
Spring Cloud Feign 이란? Netflix에서 개발된 Http client binder RestTemplate 호출 등을 JPA Repository 처럼 interface로 단순화 가능 Spring Data JPA 에서 실제 쿼리를 작성하지 않고 Interface 만 지정하여 쿼리실행 구현체를 자동으로 만들어주는 것과 유사 사용법 1. Feign Dependency 추가 ServiceA build.gradle dependencies { ... compile('org.springframework.cloud:spring-cloud-starter-openfeign') } 2. Main Class에 @EnableFeignClients 추가 ServiceA main class @EnableEureka..
beekei
'cloud' 태그의 글 목록