개발-사용기 (13) 썸네일형 리스트형 nestjs - Role Guard 구현 nestjs를 사용하면서 회원의 Role을 기준으로 api를 제공하는 로직을 구현했다. role guard 구현은 공식 홈페이지에도 예제가 있지만 내가 필요로 하는 guard의 형태는 다음과 같았다. 1. Controller 전체에 적용되는 Guard 2. Api에 Role을 명시할 경우, 명시된 Role을 기준으로 검사를 하는 Guard 한마디로 Controller 전체에 기본적인 Role을 지정해놓고, 특정 Api에서는 다른 기준의 Role을 적용시키고 싶었다. 구글링 결과 내가 원하는 Guard는 mixin 함수를 통해 구현이 가능했다. 1. mixin을 통한 Guard 구현 위의 코드를 RoleGuard 함수 안에 RoleGuardMixin이라는 클래스를 만들어서 mixin함수를 통해 Guard를.. AWS ECS 구성 서론 Codepipeline을 통해 자동배포를 구현하려면 먼저 ECS가 구성되어 있어야 한다. 여기선 ECS의 클러스터, 작업, 서비스 설정을 다뤄보려 한다. 사전작업 -- 키 페어 생성 EC2 인스턴스를 띄우고 인스턴스에 ssh접속할 경우 Key pair를 통해 접속 가능하게 설정할 것이기 때문에 Key pair를 발급해보자. EC2 - 네트워크 및 보안 - 키 페어 항목으로 들어가보면 다음과 같은 화면을 볼 수 있다. 우상단의 키 페어 생성 버튼을 누르고 키 페어 생성 화면으로 이동하자. 키 페어 이름입력 후 키 페어 생성 버튼을 누르면 자동으로 파일이 다운로드 되며 키 페어 목록 화면으로 이동된다. -- ACM 인증서 발급 Load Balancer를 생성할 때 ACM 인증서가 필요하기 때문에, 먼저.. AWS Certificate Manager (https 적용하기) 서론 서비스 운영을 위해 도메인을 구입하고 여기에 https 적용을 할 계획이다. 사전작업 --도메인 구입 https를 적용할 도메인을 구입해야 한다. 필자는 Route53에서 직접 구입했는데, 도메인 구입 방법에 따라서 https 적용하는 방법이 조금씩 다를 수 있다. 이 글의 과정을 따라하려 한다면 Route53에서 도메인을 구입하도록 하자. AWS Certificate Manager https 적용은 ACM(AWS Certificate Manager)을 통해 적용할 수 있다. 일단 해당 서비스를 검색해서 들어가면 다음과 같은 화면을 볼 수 있다. 여기서 우리는 인증서 프로비저닝을 통해 인증서를 만들것이기 때문에 인증서 프로비저닝의 시작하기를 누른다. 다음으로 나오는 화면인데, 공인 인증서 요청을 선.. AWS Codebuild 서론 AWS에 서버를 자동으로 배포하는 서비스로 Codepipeline이 있다. Codepipeline을 통해 서버 docker를 만들고, docker를 ECS와 연동시켜서 최종적으로는 배포자동화 시키려 한다. 우선 Codepipeline은 각각 배포 단계를 관리하는 서비스로 그 과정은 소스 가져오기 -> 빌드 -> 배포 정도로 볼 수 있고 각각 과정에 해당하는 서비스로는 Codepipeline = 소스 가져오기(Codecommit) -> 빌드(Codebuild) -> 배포(Codedeploy) 이렇게 이해하는게 빠를듯 하다. 필자는 Github을 통해 소스를 관리하고 Codebuild를 통해 docker 이미지를 생성할 계획이다. 사전 작업 -- ECR 생성 Codebuild를 하기전에 먼저 사전작업이.. AWS ECR 사용기 서론 aws에는 ECS, EKS, ECK 같은 container관리 도구가 있다. 여기서 ECR을 알아보고 활용하는 방법을 정리해보려 한다. ECR 이란? ECR에 관한 설명이 되어있는 공식문서링크 docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/what-is-ecr.html 란 무엇인가요?Amazon Elastic Container Registry? - Amazon ECR 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오. docs.aws.amazon.com ECR은 AWS 관리형 컨테이너 이미지 레지스트리 서비스 라고 정의되어 있다. 간단히 AW.. AWS credential, configure, cli, profile 서론 AWS에서 credential을 생성하고 aws-cli 설치, aws-cli configure 과정 및 사용하는 방법을 정리해보려 한다. AWS를 CLI 환경에서 사용하려 하면 접속 가능한 credential이 필요하다. 먼저 credential을 생성하는것 부터 시작해보자 Credential 생성 1. aws 콘솔에 접속 2. 우상단에 본인의 계정명을 클릭 3. 펼쳐진 메뉴박스에서 '내 보안 자격증명' 을 클릭 4. 보안 자격 증명 페이지가 나오고, 아코디언 메뉴중에 '액세스 키'가 있는데 열어보면 다음과 같은 화면이 나온다. 5. '새 액세스 키 만들기' 를 클릭하면 우리가 원하는 credential 파일을 다운받을 수 있다. 생성하는 시점에만 다운받을 수 있기 때문에 다운받은 후 잘 보관해야한.. 7. Typescript & Serverless 사용기 - CORS CORS는 교차 출처 리소스 공유(Corss-Origin Resource Sharing)의 약자로 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. http 요청 시 웹 페이지의 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 http 요청을 실행합니다. 보안상의 이유로, 브라우저에서 교차 출처 http 요청을 제한하는데, 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 CORS헤더를 포함해야 합니다.(설명참조: https://developer.mozilla.org/ko/docs/Web/HTTP/CORS) CORS문제가 serverless에서 문제가 되는 이유는 서.. 6. Typescript & Serverless 사용기 - 스테이지 관리 일단 정리를 하려고 보니 이미 잘 설명이 되어있는 블로그가 있었다. 링크: https://velog.io/@doondoony/Serverless-Framework-serverless.yml-%EC%84% A4% EC% A0%95-%EC% A0%95% EB% B3% B4-%EC%88% A8% EA% B8% B0% EA% B8% B0-2 hjmsx7 nal [Serverless Framework] serverless.yml 설정 정보 숨기기 serverless.yml 파일의 중요 설정값을 감춰보자! velog.io 대부분의 내용이 위 블로그에 나온 것과 비슷할 듯하다. 그래도 필자 나름대로 어떤 식으로 사용했는지 정리해보겠다. 1. serverless.yml 1.1 serverless-offline 옵션 추.. 이전 1 2 다음