728x90
반응형

개발/AWS

Elastic Beanstalk Amazon Linux 2 마이그레이션 방법 (Migrating your Elastic Beanstalk Linux application)

기존에 사용중인 Amazon Linux AMI 플랫폼이 Deprecated됨에 따라서 Amazon Linux 2로 마이그레이션을 진행하게 되었습니다. 개발환경 Node@12.21.0 Nuxt@2.11.0 as-is Node.js running on 64bit Amazon Linux/4.17.7 to-be Node.js 12 running on 64bit Amazon Linux 2/5.4.2 기존 구성 파일 files: # Found at https://stackoverflow.com/a/42096244/9074640 # Runs right before `npm install` in '.../50npm.sh' "/opt/elasticbeanstalk/hooks/appdeploy/pre/49_yarn.sh"..

2021.07.20 게시됨

개발/AWS

AWS HTTPS 인증서 발급받는 방법 (AWS Certificate Manager(ACM) SSL)

웹서비스를 구현하고 서비스를 배포하는 순간 HTTPS 인증서를 받아서 등록해야되는 시점이 오게됩니다. AWS를 사용하고 있다면 Certificate Manager를 활용하면 굉장히 간편하게 SSL 인증서를 발급받을 수 있습니다. 이번 포스팅에서는 AWS Certificate Manager(ACM)을 활용해 도메인에 SSL 인증서를 발급하는 방법에 대해서 소개하도록 하겠습니다. 인증서 발급받는 방법 인증서를 발급받는 절차는 아래와 같습니다. 도메인 이름 추가 검증 방법 선택 태그 추가 검토 및 요청 검증 Certificate Manager 서비스로 이동 우선 인증서를 발급받기 위해 AWS 콘솔에서 certificate Manager를 검색해서 해당 서비스로 이동합니다. certificate Manager ..

2021.02.13 게시됨

개발/AWS

AWS S3 정적 웹사이트 호스팅하는 방법 (Hosting a static website on Amazon S3)

정적 웹 사이트를 호스팅하기 위한 방법에는 다양한 방법이 있습니다. Netlify를 활용하거나 Github를 활용해서 제한적이긴 하지만 무료 웹 사이트 호스팅이 가능합니다. 이외에도 GCP(구글 클라우드 플랫폼, Google Cloud Platform)이나 마이크로소프트 애저 그리고 AWS(Amazon Web Service)에서도 정적 웹사이트를 호스팅하는 환경을 제공하고 있습니다. 이번 포스팅에서는 Amazon S3 버킷에 정적 웹 사이트를 호스팅하는 방법에 대해서 소개하도록 하겠습니다. 서버 측 처리에 의존하지 않는다면 S3 버킷에 정적 웹 사이트를 호스팅하는 방법도 여러 방법 중 선택할 수 있는 좋은 대안 중 하나입니다. Amazon S3 버킷에 정적 웹사이트 호스팅하는 방법 Amazon S3 버킷..

2020.11.08 게시됨

개발/AWS

AWS CloudFront에서 사용자 기반 정보 사용하는 방법 (feat. CloudFront-Viewer)

AWS CloudFront 새로운 캐시 정책에서 사용자 위치 정보 헤더가 추가되었습니다. 이제 CloudFront를 구성해서 캐싱 및 원본 요청 정책을 더욱 세밀하게 지정할 수 있는 추가적인 위치 정보 헤더를 추가할 수 있습니다. 새로운 헤더를 사용하면 사용자의 국가 이름, 지역, 도시, 우편번호, 위도, 경도에 대한 원본 액세스와 캐시 동작을 더욱 세밀하게 제어할 수 있으며, 모든 것은 시청자의 IP 주소를 기반으로 합니다. 추가된 위치 정보 헤더와 샘플 값은 아래와 같습니다. 사용자의 디바이스 타입 감지를 위한 헤더 CloudFront-Is-Android-Viewer - CloudFront에서 사용자가 Android 운영 체제를 사용하는 디바이스라고 판단하면 true로 설정합니다. CloudFront..

2020.10.05 게시됨

개발/AWS

Elastic Beanstalk(EB)에 HTTPS 적용하는 방법

Elastic Beanstalk(EB) 환경에 HTTPS를 적용하기 위해서 사전에 AWS Certificate Manager(ACM)에서 SSL 인증서를 발급받아야 합니다. SSL 인증서를 발급받지 않았다면 인증서부터 발급하고 다음 단계들을 진행해주세요. 해결 방법 우선 준비된 Elastic Beanstalk 환경으로 이동합니다. Elastic Beanstalk 환경 좌측 메뉴에 구성을 클릭합니다. 구성으로 이동한 후 로드 밸런서에 Application Load Balancer에 대한 리스너를 추가할 것입니다. 로드 밸런서를 수정하기 위해 로드 밸런서 편집을 선택합니다. 만약 로드 밸런서가 없다면 용량 수정에서 로드 밸런서를 추가해주세요. 로드 밸런서 편집으로 이동하면 로드 밸런서에 대해 리스너를 지정할..

2020.09.17 게시됨

개발/AWS

코그니토 커스텀 속성 삭제하는 방법 (AWS Cognito delete-custom-attributes)

회사에서 AWS Cognito를 활용해서 회원 인증처리를 하고 있는데 작업을 하다보니 커스텀 속성 값을 삭제해야될 상황이 생겼습니다. 그래서 구글링을 해봤는데... Custom attributes cannot be removed or changed once they are added to the user pool. 커스텀 속성값들을 삭제할 수 없다니 이건 너무 불편한 것 아닙니까? 커스텀 속성값을 삭제하려면 유저 풀을 다시 생성해야된다니요... 확장성은 개나줘버리라는 정책을 가지고 서비스하고 있네요. 개선이 필요한 부분이라고 생각하빈다. 사내에서 Cognito를 활용해서 인증 프로세스를 구현할 때 내부 정책을 제대로 정하고 사용하지 않으면 꽤나 골치아플 수 있다고 생각합니다. 코그니토를 사용하시면 이 부..

2020.09.11 게시됨

개발/AWS

[AWS Cognito] A client attempted to write unauthorized attribute 에러 해결방법

Cognito Custom Attribute를 추가하는 과정에서 A client attempted to write unauthorized attribute 에러가 발생 attributes 목록을 구성해서 cognitoUser의 updateAttributes 메서드를 활용해서 속성을 업데이트를 하려고 했으나 실패 attributes = [ { Name: 'name', Value: '박경두' }, { Name: 'first_ename', Value: 'KYUNGDOO' }, { Name: 'last_ename', Value: 'PARK' }, { Name: 'phone', Value: '01047595398' }, { Name: 'gender', Value: 'm' } ] const list = attrib..

2020.03.12 게시됨

개발/AWS

[AWS Cognito] 이메일 인증 안하고 사전 로그인 시키는 방법 (Cognito without Verifying Email)

AWS Cognito의 기본 인증 프로세스에서는 이메일 가입을 할 때 이메일 인증절차를 거치게 되어있습니다. 하지만, 이메일 인증절차 없이 가입을 시켜야 될 상황이 생길 수 있습니다. 이번 포스팅에서는 이메일 인증을 하지 않고 사전 로그인시키는 방법에 대해서 알려드리도록 하겠습니다. 우선 Cognito UserPool에 진입한 후 Triggers/Pre sign-up을 보시면 가입 전 람다 함수를 설정할 수 있는 패널을 확인하실 수 있습니다. 람다 함수를 추가하기 위해서는 함수를 생성해야됩니다. 아래처럼 람다 함수를 작성해주고 함수를 배포합니다. exports.handler = (event, context, callback) => { // autoConfirmUser 플래그를 true로 설정해주면 인증없..

2020.03.12 게시됨

개발/AWS

Elastic Beanstalk EACCES: permission denied 에러 해결방법(.npmrc unsafe-perm)

Elastic Beanstalk 배포 과정에서 아래와 같은 에러가 발생했습니다. 기존에는 에러없이 정상적으로 배포가 되었고, 특정 npm 라이브러리를 설치하고 올리는 과정에서 배포가 되지 않는 이슈가 발생했습니다. 간략하게 노출되는 에러메시지가 굉장히 불친절하고 어디서 에러가 발생했는지 정확하게 판단할 수 없어서 전체 로그를 파악할 필요성이 있었습니다. eb-activity.log를 확인해봅시다. 쭉 로그를 확인하다가 하단에 permission denied 에러가 발생했음을 확인할 수 있었습니다. Error: EACCES: permission denied 너가 여기서 왜 나오니..... 해결방법 루트 디렉토리에 .npmrc 파일을 생성하고 아래와 같이 작성하고 배포하니 해결이 되었습니다. unsafe-p..

2020.02.28 게시됨

개발/AWS

AWS Cognito 사용자 지정 속성 추가하는 방법

사용자 지정 속성 사용자 풀에 사용자 지정 속성 25개까지 추가할 수 있습니다. 사용자 지정 속성의 최소 및/또는 최대 길이를 지정할 수 있습니다. 단, 사용자 지정 속성의 최대 길이는 2,048자를 넘을 수 없습니다. 각 사용자 지정 속성: 문자열 또는 숫자로 정의할 수 있습니다. 필수 항목이 될 수 없습니다. 사용자 풀에 추가된 후에는 삭제 또는 변경할 수 없습니다. Amazon Cognito 허용 한도 내에 있는 문자 길이의 이름을 가질 수 있습니다. 자세한 내용은 Amazon Cognito의 제한 값 단원을 참조하세요. 참고 역할 기반 액세스 제어에 대한 규칙 설정 및 코드에서는 표준 속성과 구분하기 위해 사용자 지정 속성에 custom: 접두사가 필요합니다. 사용자 지정 속성 추가를 하게 되면 ..

2020.02.14 게시됨

728x90
반응형