분류 전체보기

· AWS
문제 AWS의 EC2를 사용하여 서버들을 도커에 올리던 도중 발생했던 문제 왜이런지 몰라서 찾아보던 도중 발견한 해결방법이다. 원인 EC2 프리티어는 ram 용량이 1GB 밖에 안되서 메모리가 부족해 서버가 그대로 멈춰버리는 현상이었다. 때문에 ssh 접속도 먹통이고 방법이 없어 인스턴스를 정지시키고 다시 키기를 반복했었다. 해결방법 SWAP 가상 메모리를 사용하여 메모리를 늘려줄 수 있다. 실제 메모리는 가득차있지만 많은 메모리가 필요할 때 디스크 공간을 가져와서 메모리로 사용함으로써 EC2의 멈춤 현상을 해결할 수 있습니다. RAM보다는 속도가 많이 느릴 수 있지만 EC2의 멈춤 현상은 발생하지 않았습니다! 1. SWAP 메모리를 추가하여 줍니다. $ sudo dd if=/dev/zero of=/sw..
· 데브옵스
네이버 클라우드 플랫폼에서 쿠버네티스 클러스터를 구성하는 방법에 대해서 소개하겠습니다. 클러스터 생성 클러스터 이름 : 사용자가 하고싶은 클러스터 이름을 설정하여 줍니다. VPC : VPC를 생성하여 줍니다. 저는 10.1.0.0/16 서브넷 마스크를 가지는 VPC를 생성하여 사용하였습니다. Subnet : Subnet을 자신의 네트워크 타입에 맞게 생성하여 줍니다. 저는 /24 서브넷 마스크를 가지는 서브넷으로 생성하였습니다. LB Private 서브넷 : private 타입의 서브넷 중에서 LoadBalancer를 생성하여 줍니다. 로드밸런서는 무조건 Internet Gateway 전용 여부를 private로 해야만 선택이 됩니다.! 여기서 주의할점은 서브넷과 LB private 서브넷과 동일한 가용..
· 웹
Spring Cloud Gateway에서 인증, 인가처리를 하는 Filter를 만들어보겠습니다. 저는 먼저 MSA구조에서 Auth, User 서비스를 담당하는 서버를 미리 만들어 로그인, 회원가입을 처리하고 로그인처리 후 발급한 JWT 토큰을 Gateway에서 인증 및 인가처리를 해주기 위해서 만들게 되었습니다. Auth Service JWT 발급 public String createToken(String userUid, List roles){ logger.info("[JwtTokenProvider] createToken, 토큰 생성"); // Jwt token의 값을 넣기 위한 claims, sub 속성(제목)에 유저의 ID 삽입 Claims claims = Jwts.claims().setSubject..
· 웹
에러 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class java.io.FileDescriptor]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.io.F..
· 데브옵스
컨테이너 내부에서 도커를 사용하는 방법 Jenkins 이미지를 이용하여 파이프라인을 구현하려고 했으나 젠킨스를 실행시키는 컨테이너 내부에서 도커 명령어를 사용할 수 없다는 문제가 있었습니다. 도커 컨테이너 내부에서 도커를 실행히키는 방법은 크게 두 가지가 있습니다. Docker in Docker (DinD 방법) 도커 컨테이너 내부에 도커를 설치하는 방법입니다. 실제로 도커 데몬을 실행시켜야 하기 때문에 권한을 설정해주어야 합니다. 자세한 사항은 아래 링크를 참고해주세요! https://sreeninet.wordpress.com/2016/12/23/docker-in-docker-and-play-with-docker/ Docker out of Docker (DooD 방법) 도커 컨테이너 내부에 도커를 설치..
· 데브옵스
젠킨스를 이용하여 간단한 파이프라인을 구성했다. 이번 포스트에서 진행할 파이프라인은 github 레포지토리에 커밋트리거가 발생하면 젠킨스로 웹 훅을 보내 알리고 젠킨스가 자동으로 체크아웃, 빌드, 이미지 빌드, 도커 허브에 푸시까지 진행하는 파이프라인입니다. 저는 NCP로 Ubuntu 18.04를 제공받아 사용했다. 먼저 네이버 클라우드 서버에 접속한다. ssh root@ip주소 네이버 클라우드 키를 이용하여 관리자 비밀번호를 확인하고 ssh로 접속해준다. 젠킨스는 도커 이미지를 통하여 설치하였다. 먼저 ubuntu에 도커를 설치해야 한다. 필요한 패키지 설치 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl..
· 웹
Spring Cloud Eureka 오늘은 스프링 클라우드 유레카 서버를 생성하고 설정하는 방법, 유레카 클라이언트가 연결설정 및 서버 인스턴스 정보를 받아오는 방법에 대해서 설명해보겠습니다. 유레카는 서버의 인스턴스 정보(ip, port, 상태 등..)를 담아두고 동적으로 관리하는 서버로써 MSA 환경에 특화되어 관리자 없이도 쉽게 서비스를 확장, 축소하고 그에따른 인스턴스를 자동으로 관리할 수 있습니다. 또한 서버의 주소를 여러 전략을 통하여 로드밸런싱 작업도 수행할 수 있습니다. 즉, 유레카를 사용하여 코드를 개발하면 관리자는 서버가 확장될 때마다 코드를 수정할 필요가 없고 동적으로 서버가 등록되어 관리되게 됩니다. Eureka 서버 생성 dependency ext { set('springCloud..
· 웹
JWT를 모르시는 분들은 지난 포스트 ()를 간단하게 읽고 와주세요! JWT는 Header, Payload, Signature 3가지로 나뉩니다. Header는 토큰의 타입과 Signature에 사용된 서명 알고리즘을 정의합니다. Payload는 Registered, Public, Private 3가지 클레임으로 나뉩니다. 각각은 여러 정보들을 담고 있습니다. Signature는 Base64Url로 인코딩된 헤더, 페이로드를 합쳐 SecretKey로 서명된 값을 저장합니다. 이번 포스트에서는 Spring Boot에서 로그인을 위한 JWT를 발급하는 방법에 대해서 살펴보도록 하겠습니다. Dependency 저는 https://github.com/jwtk/jjwt를 사용하여 JWT를 발급하였습니다. MAVE..
창e
'분류 전체보기' 카테고리의 글 목록 (22 Page)