분류 (1204) 썸네일형 리스트형 Springboot 백엔드 세션을 Redis 서버에 저장하기 with gradle # Springboot로 구성된 웹 애플리케이션의 세션을 Redis에 저장하기 세션 클러스터링을 위해서 세션 스토리지를 따로 구성하는 경우가 많다. 대표적인 서비스로 레디스가 존재한다. # Redis의 특징 Mysql, PostgreSQL, Oracle 등 대부분의 데이터 베이스는 디스크 또는 SSD에 저장하지만 Redis는 서버의 주 메모리에 저장된다. 메모리에 저장되므로 더 빠른 응답속도를 유지할 수 있다. 1. Redis를 docker로 실행하기 - 우분투에서 아래의 명령어로 redis를 docker로 실행한다. docker pull redis - redis의 기본포트인 6379번 포트를 활용해 서비스를 실행 시킨다. sudo docker run -p 6379:6379 redis - redis do.. ModelMapper 관련 내용 정리 # ModelMapper란? 어떤 오브젝트에 있는 필드값들을 자동으로 원하는 오브젝트로 맵핑 시켜준다. 보통 원하는 인풋값과 아웃풋 값이 다를때 getter/setter를 통해 데이터를 맵핑 시켜준다. 그런데 만약 결과값 중 일부만 옮길때 일일이 하나씩 확인해야 하는 번거로움이 존재한다. 이러한 작업들을 매우 비효율적인 작업일 가능성이 크다. 그래서 자동으로 맵핑해주는 라이브러리가 ModelMapper이다. - 모델맵퍼의 사용은 총 3가지로 나뉜다. - MatchingStrategies.STANDARD지능적으로 매핑 해준다. - MatchingStrategies.STRICT정확히 일치하는 필드만 매핑 해준다 - MatchingStrategies.LOOSE느슨하게 매핑 해준다 그외 다양한 기능을 활용 가능.. 자바 개인공부 # 자바 개인공부 - 초기화 메소드 영역 에서는 반드시 초기화를 해줘야 한다. 클래스 영역에서는 컴파일러가 자동으로 값을 할당해 준다. 하지만 메소드 영역에서는 값이 자동으로 할당되지 않기 때문에 에러가 발생한다. 즉 메소드 영역 에서는 반드시 초기화를 해줘야 한다. public class InitializationTest { int a; // int, String, Boolean 선언 String b; Boolean c; public static void main(String[] args) { InitializationTest it = new InitializationTest(); // 객체화 System.out.println(it.a); System.out.println(it.b); System.ou.. CoreDNS란? 그리고 역할은? # CoreDNS란 무엇인가? 1. 사족 네이버에서 검색해보니 책이 한권 있더라... 그만큼 내용이 방대하다? 라는 뜻이겠지... - 목차를 잠시 봤는데 음... 목차 내용들이 매우 심오하다. 간단하게 알고 넘어가쟈~ 2. CoreDNS란 무엇인가? - 나는 주로 클라우드 환경에서 그리고 EKS에서 CoreDNS와 접하는 경우가 많다. 뭐 특별히 CoreDNS와 작업을 하거나 그런건 아니고, (RBAC 처럼 Config 파일에 사용자 정보나 Role을 만들고 바인딩하는) 그냥 kubectl get pod -A 로 조회 했을때 항상 아래와 같이 조회가 되곤 해서 항상 궁금했다. kube-system coredns-556f6dffc4-784rd 1/1 Running 0 13d kube-system cored.. IRSA를 활용하여 Pod에 특정 사용자만 접근 하도록 설정하기 # IRSA (IAM Roles for Service Accounts)를 활용한 pod 접근 권한 관리 - IRSA는 pod에 특정 IAM Accounts를 매핑하여 특정 사용자만이 해당 pod에 접근이 가능하도록 구성하는 작업 이다. 설정은 간단하다 아래의 샘플을 보면 확인이 가능하다. - IAM Open ID Connect provider를 추가한다. eksctl utils associate-iam-oidc-provider --region=ap-northeast-2 --cluster={cluster_name} --approve - 결과 - ServiceAccount를 생성한다. (default 네임스페이스에만 접근가능) eksctl create iamserviceaccount --cluster={cl.. 클러스터 접근을 위한 사용자 생성 및 특정 NameSpace에 접근하도록 설정하기 # 클러스터 User 생성 및 특정 NamaSpace에만 접근하도록 설정하기 1. 유저 확인 및 롤 확인하기 - 일단 기본 템플릿은 아래와 같다. apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: default name: pod-reader rules: - apiGroups: [""] # "" indicates the core API group resources: ["pods"] verbs: ["get", "watch", "list"] - 특정 user에 대한 접근 템플릿 apiVersion: rbac.authorization.k8s.io/v1 # This role binding allows "dave" to read sec.. RBAC 권한의 종류 # RBAC 권한의 종류 - RBAC 권한의 종류는 아래와 같다. - cluster-admin : system:masters group - admin : None - edit : None - view : None 위와 같이 총 4개의 권한을 부여 할 수 있다. 그리고 권한을 아래와 같이 만들수도 있다. (특정 네임스페이스에 대해서 적용 가능한 항목들이다. "*" 를 부여하면 전체 권한이 부여된다.) kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: dev-was namespace: dev-was rules: - apiGroups: ["", "extensions", "apps"] resources: ["deployments", "rep.. boto3를 활용한 VPC 생성 # boto3를 활용하여 AWS VPC 생성 - boto3 사용방법은 아래의 링크 확인 https://boto3.amazonaws.com/v1/documentation/api/latest/index.html# Boto3 1.28.11 documentation Next Quickstart boto3.amazonaws.com - ec2 인스턴스 검색 - 다양한 유형의 리소스가 확인 가능하고 리소스 리스트를 확인할 수 있다. - boto3를 활용하여 vpc를 생성하는 코드는 아래와 같다. 샘플 코드이며, 다양한 옵션을 추가하여 생성이 가능하다. import boto3 client = boto3.client('ec2') response = client.create_vpc( CidrBlock='10.0.0.0/1.. 이전 1 ··· 33 34 35 36 37 38 39 ··· 151 다음