본문 바로가기

👾 Server/☁️AWS15

서브 도메인과 AWS 서비스 연결하기 1. Route 53에서 도메인 네임 구입 방법 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 사이드 프로젝트를 하며 프론트 엔드 웹 서비스와 백엔드 서버에 각각 Domain name이 필요하게 되었습니다. 루트 도메인(jikmuk.com)을 활용하여 서브 도메인 2개를 만들어 CloudFront(sikdorak.jjikmuk.com)와 백엔드 서버(api.jjikmuk.com)에 각각 연결하여 HTTPS 통신하려고 합니다. 위 과정을 3가지로 나누어 글을 작성하려 합니다. 1. 현재 글 : AWS Route 53에서 Domain name(root) 구입하기 2. 다음 글 : CloudFront에 SubDomain 연결하여 HTTPS 통신하기 3. 다음 글 : 로드 밸런서에 SubDomain 연결하여 HTTPS 통신하기 이번 글은 세 가지 글 .. 2022. 9. 13.
S3에 이미지 업로드 기능 아키텍처 비교 (서버에 직접 전송, presigned URL 활용) 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 사이드 프로젝트를 하며 유저 프로필이나 음식점 리뷰 사진 등 이미지 업로드 기능이 필요했습니다. 처음엔 이미지를 업로드 기능을 단순하다고 느꼈지만 생각보다 고려할 것이 많았습니다.😵‍💫 떠올랐던 Check List - 이미지 업로드/삭제 , 원본 파일 크기 제한(저장 공간 제약, 비정상적인 요청 방지) - UI 마다 이미지 사이즈를 다르게 저장(리사이징) - 빠른 응답을 위한 CDN 사용 - 파일 접근 권한 (비공개 이미지에 익명의 사용자가 접근하는 문제) 이번 글에서는 이미지 업로드 기능을 구현하는 간단한 세 가지 방법(아키텍처)을 소개/비교하고자 합니다. 이미지 업로드 유저가 자신의 프로필 사진을 수정한다고 가정합니다. 이미지는 클라우드 스토리지(.. 2022. 9. 4.
VPC Peering(피어링) 이전 글 2022.03.31 - [👾 Server/☁️AWS] - AWS - VPC(Virtual Private Cloud)이란? : AWS에서 독립된 가상 네트워크 만들기 2022.07.11 - [👾 Server/☁️AWS] - VPC Endpoint(엔드포인트) 을 통해서 VPC와 VPC 엔드포인트에 대해 알아보았다. 정리하자면 VPC란 독립된 가상의 클라우트 네트워크로, AWS 사용자가 VPC 서비스를 활용해 리전 단위로 네트워크 환경 설계가 가능하다. 또한 VPC 리소스에서 Subnet(서브넷)을 나누어 AZ(Availability Zone, 가용영역) 단위로 네트워크 망을 분리할 수 있다. VPC Endpoint(엔드포인트)란 사용자가 생성한 VPC에서 다른 AWS 퍼블릭 서비스와 통신하거나 다.. 2022. 8. 1.
VPC Endpoint(엔드포인트) 이전 글 2022.03.31 - [👾 Server/☁️AWS] - AWS - VPC(Virtual Private Cloud)이란? : AWS에서 독립된 가상 네트워크 만들기에 이어 VPC 고급, 엔드 포인트에 대해 알아보고자 한다. VPC Endpoint(엔드포인트)란? 사용자가 생성한 VPC에서 AWS 퍼블릭 서비스와 통신 하거나 다른 VPC 통신이 필요한 경우 일반적으로 외부 인터넷 구간(퍼블릭 네트워크)를 통해 통신이 이루어진다. 하지만 보안과 직결된 통신에서는 외부 인터넷 구간 없이 통신이 필요할 때가 많다. 이때 VPC 엔드포인트를 사용하면 된다. VPC 엔드포인트란 AWS의 퍼블릭 서비스나 직접적으로 생성한 AWS 서비스에 대해 외부 인터넷 구간을 통한 접근이 아닌 직접적으로 접근할 수 있는 .. 2022. 7. 11.
GitHub Actions를 활용해 React를 S3, CloudFront를 사용해 배포하기 이 글은 AWS의 S3, CloudFront를 사용해 리액트 프로젝트를 배포한다. 이 과정을 Github Actions를 활용해 자동 배포를 소개하고자 한다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 들어가기에 앞서 배포 방법은 다음과 같다. React 프로젝트의 빌드 결과는 정적 리소스 파일(.html, .js, .css ...)이다. 이를 S3에 올린다. 정적 리소스 파일이기에 S3의 baseURL에 index.html를 연결시켜주면 클라이언트는 baseURL에 들어왔을 때 index.html를 받게 된다. 이때 보통 CSR(클라이언트 사이드 렌더링)로 작동하기에 클라이언트의 브라우저는 S3에 필요한 리소스(. js,. css...)를 요청한다. 마치 nginx가 정적 리소스 전달하는 것처럼 보.. 2022. 6. 14.