본문 바로가기

전체 글

(1200)
Github 업로드 방법 1. 깃 저장 폴더로 이동 → git init 2. 파일 추가 → git add . 3. git commit -m "처음 저장소에 올림" 4. git branch - M main # 존재 하고 있다고 나옴, 실행 안해도 됨. 5. git remote add origin https://github.com/Nanninggu/github-webhook-.git - 만약 아래와 같은 에러가 발생 한다면, 브랜치를 새로 만들어서 업로드 해야한다. 최초의 브랜치는 main 브랜치가 default로 지정 되어 있다. main 외에 브랜치로 올리는게 좋다. git push -u origin master 명령어로 업로드를 하면 master 브랜치가 신규로 생성되며 생성된 master 브랜치에 파일이 업로드 된다. $ g..
AWS SDK를 활용하여 S3에 이미지 업로드 # AWS 라이브러리를 활용하여 S3에 이미지를 저장 및 삭제하는 모듈을 만들어보자. # 개발 환경은 InteliJ를 기반으로 한다. - InteliJ를 실행 후 pom.xml파일에 Dependency를 추가해준다. com.amazonaws aws-java-sdk 1.10.63 - 타임존 문제를 해결하기 위해 joda 라이브러리를 추가해준다. joda-time joda-time 2.4 - 코드에 S3 서비스 엑세스를 위해 IAM Role을 생성하자 - S3 서비스 → 사용자 생성하기 → 프로그래밍방식 엑세스 → 기존 정책 직접연결 → S3 Full Access 정책 선택 → 사용자 만들기 → .CSV로된 키값 다운받아 보관 - 그러면 일단 S3 버킷을 생성하자, 일반 구성에 값들 설정하고 생성을 하자. ..
S3 주기적 파일 삭제 - 수명주기 기반으로 주기적 파일을 삭제하는 프로세스를 구현해보자. - AWS -> S3 -> 버킷 -> 관리로 이동하여 수명주기 정책을 생성하자. - 접두사 라는것은 규칙 범위를 지정할 수 있다. 하나 이상의 필터를 사용하여 이 규칙의 범위를 제한 -> 특정 디렉터리의 파일들만 규칙을 적용시키기 위한 옵션이다. 접두사 설정 규칙 -> 버킷 하위에 모든 디렉토리에 영향을 준다. 모든 하위 디렉토리에 영향을 주는 건 의도하지 않은 파일이 삭제될 수 있으므로, 특정한 목적이 있는 게 아닌 한, 특정 디렉터리에만 규칙을 정해주자. 예를 들어, 버킷명/logs 라는 디렉터리에 로그 파일들이 쌓여있다면 해당 칸에는 logs/를 적어주면 된다. 버킷명이 루트 디렉터리가 되고 적용하고자하는 디렉터리가 대상이 되는 구..
S3 수명 규칙을 생성하여 데이터 관리 # 예를들어, 기간이 지나면 삭제해야할 파일들이 존재한다. 그럴경우 수명주기를 설정하여 파일을 자동 삭제 할 수 있다. # 이렇듯, 데이터를 자동으로 관리하기 위해서 수명주기 규칙을 설정할 수 있다. - AWS에서 S3를 검색하고, S3 버킷으로 이동한다. - 생성된 버킷이 존재하면, 버킷명을 클릭하여 버킷의 상세정보를 확인 할 수 있는 정보 창으로 이동한다. - 버킷의 설정 탭에서 관리 탭으로 이동하여 수명주기 규칙을 생성하자. - 수명주기의 이름과 옵션을 설정 후 규칙을 생성한다. - 생성된 규칙의 모습, 다양한 설정을 통해 데이터를 동적으로 관리 가능하다.
Grafana와 CloudWatch 연동 # 그라파나에 클라우드 와치를 연동하여 데이터 지표를 확인하는 방법에 대해서 알아보자. - AWS 로그인 후 EC2 인스턴스에서 마우스 우 클릭 후 보안 탭으로 이동한다. 보안 탭에서 IAM 역할 수정을 클릭하여 IAM 정책을 등록하자. - 중요한것은 클라우드 와치 지표를 그라파나에서 확인하고자 하는 모든 인스턴스는 보안 탭에서 IAM 역할 수정을 해줘야 한다. 위에서부터 3개의 인스턴스에 IAM 역할 수정을 한 후 저자을 하자. - 그라파나에 접속 후 데이터소스 생성을 클릭하여 지표로 사용할 데이터를 생성 합니다. - add data soucre를 클릭하여 데이터 소스를 생성할 서비스를 선택합니다. 검색에 cloudwacth를 검색하여 클라우드 지표 데이터를 가져옵니다. - 지표 이름을 입력하고, Pr..
Grafana 설치 및 Grafana를 활용한 EC2 모니터링 (EC2 환경) // 설치 전 확인 # sudo apt-get update # sudo apt-get upgrade # apt-get install -y software-properties-common # sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" # wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - # sudo apt-get update // 그라파나 설치 # sudo apt-get install grafana # sudo apt-get install -y apt-transport-https # sudo ls /usr/lib/systemd/sys..
MSA (LoadBalencer를 위한 설정) 1. first-service 와 second-service의 application.yml 파일에 아래의 내용을 각각 추가해 줍니다. eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka - 위와같이 설정해 주는 이유는 eureka 매니저 서버에서 first-service와 second-service와의 통신을 통해 서비스를 관리하기위한 설정 입니다. server: port: 8081 spring: application : name: my-first-service eureka: client: register-with-eureka: true fetc..
MSA (LoggingFilter) 1. GlobalFilter 파일을 복사하고, LoggingFilter로 이름을 바꿔줍니다. 2. 아래의 소스코드를 입력 합니다. package com.example.apigatewayservice.filter; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.OrderedGatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import..