반응형

Infra 42

[AWS] SES를 이용한 메일 전송 기능 구현

해당 글에서는 Spring Boot 환경에서 aws SES를 이용한 메일 전송 기능 구현에 대해 다룹니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 모카콩의 초기 프로세스 로직에 이메일 인증 기능이 있었다는 사실. 알고 계셨나요? 원래 모카콩에 회원가입하려면 이메일을 인증해야 됐었어요. (지금은 번거롭다..

Infra/Aws 2023.04.25

[AWS] CloudWatch + Lambda로 slow query 발생 시 Slack 알림 보내기

해당 글에서는 AWS RDS MySQL 환경에서 CloudWatch, Lambda를 이용합니다. 람다 함수는 Node.js 14 환경에서 작성됐습니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 최근 AWS RDS 환경의 로깅에 대해 생각해보는 시간을 가져봤습니다. 처음에는 RDS에 기록되는 쿼리 전체를..

Infra/Aws 2023.04.21

[AWS] S3 연동 후 Spring Boot 파일 업로드 구현 일지

해당 글에서는 AWS S3 연동 및 @MockBean을 이용한 테스트 코드에 대해 다룹니다. S3 버킷 정책, 퍼블릭 액세스에 대한 추측 및 의문이 존재합니다. 사이드 프로젝트 `모카콩`의 Wiki에 작성한 글에 해당된다. 해당 프로젝트 github: https://github.com/mocacong/Mocacong-Backend GitHub - mocacong/Mocacong-Backend: 모카콩 백엔드 모카콩 백엔드. Contribute to mocacong/Mocacong-Backend development by creating an account on GitHub. github.com 들어가며 모카콩에서는 프로필 이미지를 업로드할 수 있습니다. 마이페이지에서 프로필 이미지 수정을 클릭해서, 언제..

Infra/Aws 2023.04.09

[NCP] Naver Cloud platform (NCP) 1개월 이용 후기

넥스터즈 동아리에서 20만원 상당의 NCP 크레딧을 제공해줘서 1개월 간 Naver Cloud Platform을 이용해볼 기회가 생겼다. 넥스터즈에서 진행한 프로젝트 및 동아리 후기는 아래 글을 참고하자. https://kth990303.tistory.com/429 [Nexters] 넥스터즈 22기 최종 이수 후기 3월 4일, 마지막 8주차가 지나가고 넥스터즈 22기를 최종적으로 이수했다. 넥스터즈를 두 기수 이상 이수해야 받을 수 있는 `수료` 조건을 만족한 것은 아니지만, 나름 한 기수를 좋은 점수로 `이 kth990303.tistory.com 넥스터즈 동아리에서 출석체크 애플리케이션을 만들면서 NCP의 Storage, Public IP, Cloud DB for PostgreSQL, VPC Serve..

Infra/NCP 2023.03.06

[NCP] Global DNS로 Aws Route 53처럼 가비아 도메인 붙이기

Naver Cloud Platform에서는 퍼블릭 ip 대신 구입한 도메인 주소로 라우팅할 수 있게 해주는 Global DNS 서비스를 제공해준다. NCP에서의 도메인 붙이는 방법은 Aws Route 53에 비해서는 비교적 간단하다. 적용 방법 1. Global DNS 접속 -> 도메인 추가 -> 도메인 주소 입력 도메인 추가를 눌러준 후, 구입한 도메인 이름을 입력해준다. 좌측 도메인 주소 옆 상태를 확인하고 파란색이 될 때까지 대기한다. 해당 도메인에 대해 2개의 레코드가 자동으로 추가가 됐을 것이다. 하나는 SOA 레코드 (해당 도메인의 모든 정보와 권한을 책임지는 필수 레코드)이며, 다른 하나는 NS 레코드(네임서버 레코드)이다. 2. A 레코드 생성 이제 우리는 구입한 도메인 주소가 우리 서버의..

Infra/NCP 2023.02.21

[AWS] 프리티어 사용중에 Route 53 요금 발생? (feat. aws 프리티어 아키텍처)

aws를 사용하던 중 아래와 같이 요금이 발생했다. 참고로 도메인 구매 비용은 아니다. 나는 가비아에서 별도로 구입해둔 도메인이 있다. 그럼 왜 비용이 발생한 것일까? 배경 및 아키텍처 요금 발생 이유만 궁금한 사람은 이 부분은 건너뛰고 아래로 넘겨도 된다. 나는 사이드 프로젝트를 AWS 클라우드 환경에서 배포하고 있다. 별도 요금을 내기 싫었기 때문에 AWS 프리티어 환경을 사용했으며, 아키텍처는 아래와 같다. aws 프리티어는 최대 1개의 EC2를 제공해준다. 그렇기 때문에 WAS ec2에 추가로 웹서버 ec2를 띄우면 비용이 발생한다. 다행히 aws에서는 ec2 외에도 RDS, ELB (ALB, NLB 등), Route 53, CloudFront를 프리티어 범위 내에 지원해준다. NGinx를 설치할..

Infra/Aws 2023.02.06

[Aws] 프리티어 Aws RDS를 이용해보자

Aws에서는 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있는 관리형 서비스인 Relational Database Service(이하 RDS)를 제공해준다. 즉, EC2 인스턴스에 DB를 직접 설치하고 운영할 필요 없이 RDS를 사용하여 관리를 클라우드에 위임할 수 있는 것이다. 이번 포스팅에선 프리티어를 이용하여 RDS를 생성하는 방법을 기록해보려 한다. RDS 사용 이유 1. aws ec2 프리티어 용량이 작아서 가장 큰 이유다. aws ec2 프리티어는 ec2를 최대 1개, 그마저도 용량은 RAM 1GB까지만 지원해준다. 따라서 서버 배포용 ec2 외에 별도로 DB 인스턴스를 생성할 수가 없으며, 서버 ec2에 mysql을 설치하고 운영했다간 서버가 터질 것이 뻔하다. 스토리지 용..

Infra/Aws 2023.01.27

[Ubuntu] Aws Ubuntu 계정 추가 및 권한 부여하기

aws ubuntu 계정에 처음으로 접속하면 (당연하겠지만) ubuntu 계정으로 접속된다. 이 ubuntu 계정은 기본적으로 root 권한이 막혀있다. 루트 권한을 사용하기 위해선 명령어 앞에 sudo를 붙이거나, 아래 명령어로 루트 권한 계정으로 접속하는 방법이 있다. $ sudo sh 참고로 $은 일반 계정 권한, #은 관리자(루트) 권한을 가진 계정이라는 의미이다. 그런데 매번 sudo sh 또는 sudo를 치기 귀찮기도 하고, 우분투 계정이 아닌 다른 관리자 권한 계정을 따로 만들어두면 좋을 것 같다는 생각이 들었다. 따라서 이번에는 이 ubuntu 서버에 사용자를 추가하고, 권한을 부여해볼 예정이다. 1. 사용자 추가 $ sudo adduser {유저명} Full Name, Room Numbe..

Infra/Aws 2023.01.23

[Github] PRO 학생 계정 만료 기간 연장하기

깃허브 측으로부터 [GitHub] Coupon expiration reminder 라는 제목으로 메일이 한 통 도착했다. 2021년 2월부터 약 2년간 학생 계정으로 github PRO 기능 및 github student developer pack을 사용해왔었는데, 이게 2주 후에 만료된다는 메일이었다. 만료되는 시점부터는 월 4달러 씩 빠져나갈 예정이니 downgrade를 하든 학생인증을 별도로 하라는 안내였다. 학생 계정으로 누릴 수 있는 Github Pro의 혜택은 아래와 같다. GitHub Pro In addition to the features available with GitHub Free for personal accounts, GitHub Pro includes: GitHub Support..

Infra/Git 2023.01.23

[Sonarqube][Error] Process exited with exit value [es]: 1 에러 해결

sonarqube(소나큐브)를 스프링부트 프로젝트와 연동해서 띄우려는데 아래 에러가 발생했다. Process exited with exit value [es]: 1 Process[es] is stopped SonarQube is stopped 해당 에러가 발생하는 이유는 여러가지가 있는 듯하다. 내가 겪고 이 에러를 해결할 수 있었던 방법을 모두 써보겠다. 아쉬운 점은 이 에러의 정확한 발생 경위 및 원인은 잘 모르겠다는 것이고, 해결 방법만 적어보려 한다. 1. 소나큐브와 JDK (Java) 버전 호환성 문제 소나큐브 9.6 버전 기준, JDK 8과 JDK 17은 호환되지 않는다. 공식문서에서 자신의 자바 버전이 소나큐브와 호환되는지 확인해보자. (공식문서 링크: https://docs.sonarqub..

Infra/CI | CD 2022.08.20
반응형