본문 바로가기

AWS18

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.
[의사결정, 일일회고] 22.06.15 - "백엔드(Spring) 배포와 아키텍처" 📚 배운 것 백엔드(Spring) 배포 방법 고민 어제는 FE 배포를 하였다. 오늘은 BE를 배포한다. 아직 초기 프로젝트 세팅만 하고 구현 코드는 없지만 CI/CD 자동화 배포를 구축한 뒤 프로젝트 기능이 추가될 때 마다 배포하고 싶어서였다. 제약 사항 - 비용(aws 프리티어) 고민한 배포는 아래와 같다. Case 1 : Docker + Docker hub 도커 이미지를 도커 허브에 올려 사용한다. 이전 프로젝트를 이 방법으로 배포했다. 장점 - 간단하다 - DockerFile만 만들면 끝난다. - Docker 환경이라 배포가 자유롭다. - 이미지 저장소 free 단점 - 무료로 사용하면 배포 이미지가 노출된다. - 단순 EC2 오토 스케일링을 한다면 모든 EC2에 도커가 설치된 뒤 그 위에 올라가.. 2022. 6. 16.
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.
[일일회고] 22.06.13 - "AWS Auto Scaling, 코드 스쿼드에서의 마지막 프로젝트 시작" 📚 배운 것 AWS Auto Scaling 호눅스 마스터 클래스에서 AWS의 Auto Scaling을 배웠다. 기억에 남는 내용을 정리하고자 한다. 스케일링의 종류 : 수평, 수직 확장 - 수평 확장 : AWS는 수평 확장만 제공한다. - 수직 확장 : AWS 기본 제공되지 않는다. 하고 싶다면 직접 커스텀하여 CloudWatch 모니터링 스크립트를 작성해 사용할 수 있다. 왜 오토 스케일링이 중요하고 사용할까? IT 회사의 서버 사용은 일정하지 않다. 회사마다 유형이 다르다. 클라우드 이전에는 자원을 효과적으로 사용하지 못했다. AWS 오토 스케일링 이후 사용자는 자유롭게 서버를 늘리고 줄일 수 있다. Auto Scaling 구성 요소와 원리 Auto Scaling는 ELB(탄력적 로드 밸런싱) + C.. 2022. 6. 13.
[서버 장애] AWS 프리티어 배포 후 장애 - CPU 사용률 100%, 크레딧 0개 이후 ssh 접속도 안되는 상황과 해결 (HW / SW(페이징 limit 문제) 상황 ec2 환경 ec2 : AWS 프리티어 t2.micro app : Docker 위에 Spring Server + Nginx 외부 DB : 약 10만개 데이터가 있는 MySQL airbnb와 유사한 숙박 앱 프로젝트를 했다. DB에 약 10만여개 더미 데이터를 넣고 배포했다. AWS 프리티어 ec2에 spring 배포하여 사용하던 중 클라이언트의 많은 요청 이후 서버가 아예 멈춰 응답을 해주지 않았고 ssh 접속도 되지 않았다. 문제 클라이언트의 많은 요청으로 CPU 사용률이 90% 이상으로 사용하다 CPU 크레딧을 모두 사용하여 CPU 성능이 떨어져 서버 응답이 매우 늦거나 아예 ssh 접속까지 안 되는 상황 발생 해결하기 위한 시도 HW적 해결 1 : CPU 크레딧 초기화하기 위한 단순한 방법 (.. 2022. 6. 9.