본문 바로가기

AWS13

[AWS]CLoudFront로 한 개의 도메인으로 두 개의 웹 실행하기

개요 한 개의 도메인으로 두 개의 다른 웹 사이트를 띄워야 하는 상황이 생겨서 CloudFront로 이를 구현했다. cloudFront 도메인 설정을 해주면 된다. 한 개의 cloudFront에 원본 두 개를 올린다. 그리고, 동작에서 경로에 따라서 사용할 원본을 매핑해주면 된다. 방법 동작 생성으로, 다음처럼 만들어주면 된다. 이러면, /class로 유입되는 경우, A 웹으로 이동하고, /*로 유입은 B 웹으로 이동되게 할 수 있다. 그런데, 안 되는 경우가 있었다. 해결 방법으로는. 이미 원본이 다른 클라우드프론트에서 사용하고 있다면, 그 원본이 매핑된 경로 패턴으로 가도 안 뜰 것이다. 원래 매핑되어 있던 CloudFront의 원본과 동작을 제거하면 잘 뜬다. 2022. 11. 22.

[AWS] EC2로 클래식 콘솔 시작하기

https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/getting-started-ecs-ec2.html Amazon EC2를 사용하여 클래식 콘솔 시작하기 - Amazon Elastic Container Service Amazon EC2를 사용하여 클래식 콘솔 시작하기 Amazon Elastic Container Service(Amazon ECS)는 컨테이너를 손쉽게 시작 및 관리할 수 있게 하는 컨테이너 관리 서비스로서 속도와 확장성이 뛰어납니다. Amazon ECS docs.aws.amazon.com 2022. 11. 18.

[AWS] ECR에 도커 이미지 푸시하는 방법

작업 순서 1. aws 웹에서 ecr에서 레포지토리를 생성함. 2. 내 로컬(내 컴퓨터)에 aws-cli와 docker를 설치함. 3. 내 웹 프로젝트 홈 경로에 dockerfile 폴더를 만들고, 설정 작성한다. 4. docker를 실행한 상태에서 도커 빌드를 해서 이미지 파일을 만든다. 5. aws ecr에 만든 레포지토리에 push한다. ecr에 레포 페이지에 들어가보면 [푸시 명령 보기] 버튼이 있다. 눌러보면, 모달에 4개 순서가 뜬다. 그대로 하면 된다. 도커 명령어 실행하는데, 다음처럼 에러가 발생했다. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 출처: http.. 2022. 10. 21.

[AWS] CloudFront + S3(Vuejs) Access Denied 에러 해결

개요 S3 버킷을 사용하여 웹 사이트를 호스팅하거나 요청을 리디렉션할 수 있다. 정적 웹 사이트 호스팅이 가능한건데, S3 > bucket > 타겟버킷 페이지에서 '속성' 탭에 제일 아래로 내리면, 정적 웹 사이트 호스팅 설정을 할 수 있다. vue.js로 개발된 앱을 S3 bucket에 올렸다. 브라우저에서 S3 버킷 웹 사이트 엔드포인트로 접근하면, 웹이 잘 켜진다. S3원본을 CloudFront에 붙여서 CloudFront 도메인으로 접근하니, 다음처럼 Access Denied가 발생하였다. 원인 CloudFront의 작업하는 배포의 원본 설정에 보면, 원본 도메인을 선택하게 되어 있다. 나는 검색하면 나오는 작업한 S3 버킷을 선택하였다. CloudFront URL로 접근하니까, Access De.. 2022. 10. 5.

[AWS] Amazon Elastic Container Registry(Amazon ECR)

난 오늘 ECR을 처음 알았다. AWS의 도커 정도로 생각하고 있다. 문서를 보니, ECR에 컨테이너 이미지만 푸시하면 되는 것 같다. ECR에 컨테이너 이미지를 올리고, 컨테이너를 실행하고, Amazon EC2의 요청을 받을 수 있도록 설정하면, EC2로 들어오는 요청을 받아서, 웹을 응답해줄 수 있는 듯 하다. 나 같은 경우, Nuxtjs의 웹 애플리케이션을 S3에 빌드 파일을 올려서 사용하고 있는데, 팀에서 ECR을 도입하였다. NUxtjs를 컨테이너 이미지 파일로 만들어 ECR에 업로드하고, ECR과 EC2를 연결했다. 그리고, EC2의 요청을 CloudFront가 받도록 하였고, CloudFront는 Route53에의해서, 특정 도메인 요청에 의해서 호출되게 해놨다. 좀 더, ECR을 파보면, .. 2022. 9. 26.

[AWS] s3 + cloudfront 웹 띄운 거, 원하는 도메인 설정

클라우드프론트 도메인을 Route53에서 도메인을 할당하면 된다. 2022. 9. 15.

[AWS]api gateWAY -> EC2 CORS 에러 문제

mvp를 진행하면서, 기존 dev 환경 서버에서 mvp 기능을 위한 서버 환경이 새로 만들어 졌다. 그런데, 어떤때는 데이터가 잘 넘어오고, 어떤 때는 데이터가 잘 넘어오지 않았다. 이상했다. 원인을 서버 개발자와 함께 찾기 시작했다. cors 에러가 브라우저에서 발생했다. 504로 응답이 넘어왔다. EC2와 gateway의 설정을 막 뒤졌다. 원인을 찾을 수 없었다. 그런데, cloudwatch로 로그를 찍어보니, 통신이 안 되는 에러 로그가 계속 찍혔다. nuxt.js에서 proxy 설정으로 request headers의 orgin을 바꾸려는 시도도 해보았지만, 잘 되지 않았다. 원인을 찾지 못한 채... 다른 일을 보았다.. 다음 날 아침. 서버 개발자분이 문제가 해결되었다고 나에게 기쁜 소식을 전.. 2022. 7. 20.

[Nuxtjs&Vuejs]AWS S3 업로드한 파일 브라우저에서 다운로드 버튼으로 다운로드 하는 기능 만들기

요규사항 사용자가 s3에 업로드한 파일을 브라우저 상에서 버튼을 클릭해서 다운로드 Vue 컴포넌트 파일 구현 코드 html 저장 · 다른 이름으로 저장 script export default ({ // ... async mounted() { await fetch(this.feedback.attachment, { method: 'GET' }) .then(res => { return res.blob(); }) .then(blob => { const url = window.URL.createObjectURL(blob); this.$refs.save.href = url; }); }, }) 2022. 4. 15.

jar파일을 docker를 사용해서 aws에 배포하는 명령어

안녕하세요. 이번 포스팅에서는 제가 jar 앱을 docker 사용해서 aws에 배포하면서 사용한 명령어를 순서대로 알아보겠습니다. 아래 사진은 제가 만들어 본, 시스템 구성도입니다. 1. IDE에서 jar 패키징 > mvn clean package //테스트 뺴고 패키징하려면 옵션으로 -DskipTests를 주면 됩니다. 2. docker로 패키징한 jar를 docker 이미지로 빌드합니다. - 해당 명령어는 로컬 PC에 설치된 docker에 이미지가 생성되는 것입니다. - Docker Hub에 이미지를 올리려면 이미지 이름을 /: 형식으로 생성해야 합니다. 아무 사용자 이름이나 사용할 수 있지만 내 계정 이름과 일치해야 이미지를 올릴 수 있습니다. 태그를 지정하지 않으면 latest가 됩니다. > do.. 2020. 10. 20.

aws 인스턴스 서버에 [처음]Spring Boot jar를 올린다면 알아야할 주의 사항

스프링부트 애플리케이션을 prod.properties로 docker 이미지로 빌드하고, aws-lightsail에 docker 이미지를 올려서 컨테이너를 실행해서 앱을 서비스하는 작업을 끝냈습니다. 실제로 제가 서버에 올리는 작업을 하면서 만든 구성도입니다. 이대로 작업했습니다. IDE에서는 잘 동작했던 앱이 패키징한 jar로 실행하니 많은 문제가 발생했습니다. 실무에서 이런 일이 터졌다면, 정말.. 상상도 하기 싫습니다. 이번 포스팅에서는 이번 작업을 수행하면서 발생한 문제와 해결방법들을 얘기해보려고 합니다. 제가 마주한 문제는 다섯 가지였습니다. 1. spring boot application-prod.properties로 설정해서 어떻게 앱을 jar패키징하고 도커에 빌드해서 서버에 올릴 것인지 [해.. 2020. 10. 16.