[AWS] Private EC2에서 Oauth2.0 네이버 로그인 구현 ?!
·
CS/백엔드
들어가며Private EC2는 Private VPC Subnet 환경으로, 외부 인터넷 연결이 되지 않는다.이는, AWS Cloud에서, 가상 공간인 "VPC" 에서 Private Subnet을 구성하고, 내부에 공인 IP가 할당되지 않는 EC2 서버를 구축하는 방식이다. 외부 인터넷과 연결이 되지않고, AWS Cloud VPC 내부에만 생성되어 있는 Private EC2는 네이버 로그인 API와 같은 외부 API와 송신을 할 수 있을까? ? ?? ? 우리는 당연히, 이러한 의문점이 생긴다. 이번 포스팅은 이러한 의문점을 통쾌하게~ 해소되도록AWS Private EC2 아키텍처를 실제로 운영/관리하면서 네이버 로그인 API를 구현했던 과정들을 A부터 Z까지 설명한다.문제상황: 네이버 로그인 API 호출이..
[AWS] 스케줄러로 EC2 인스턴스 비용 절약하기
·
CS/백엔드
여는 글클라우드 인프라를 운영할 때 가장 중요한 요소 중 하나는 바로 "비용관리"이다.특히 AWS EC2 인스턴스처럼 사용량에 따라 과금되는 서비스는, 어떤 설정과 운영 방식을 선택하느냐에 따라 매달 지출이 크게 달라진다. 아래는 EC2 인스턴스의 한달 비용을 정리했다.t2.small$0.023/시간월간 예상 비용$16.79한달 서버를 중단없이 배포했을 때 비용이 $16.79이다. (한화 약, 24,429원) EC2 인스턴스는 시간당 과금 정책으로, 인스턴스 서버가 활성화된 시간 기준을 비용이 산정된다. 따라서 이번 포스팅에서는비활성화 시간대에는 인스턴스 서버가 다운되도록 설정해주는 AWS 스케줄러 서비스를 도입하여 비용절약하는 방법을 상세히 소개한다.1. Instance Scheduler 스택 설치 (..
[CI/CD] self-hosted runner 기반 EC2 자동화 배포 구축하기
·
CS/백엔드
[CI/CD] AWS EC2 자동화 배포 파이프라인 구축하기실무환경에선 소프트웨어 개발(Development)과 ""운영(Operation)""이 결합되어있다.쉽게말해, 효율적이고 "지속 가능한" 소프트웨어 제공을 목표로 한다.(기업이 시장에서 생존하기 위해선,실적을 높ceo-uk22.tistory.com여는글프로젝트 초기에는 빠른 개발과 배포에 집중하기 위해, CI/CD 파이프라인을 AWS CodeDeploy 기반으로 구성했었다.빌드된 애플리케이션을 Docker 이미지로 변환하고,ECR 업로드 후 S3에 저장된 배포 스크립트를 토대로 EC2에 배포하는 구조였다.아래는 deploy.yml 스크립트 동작 요약이다.1. Spring Boot 애플리케이션 빌드  2. Docker 이미지 변환  3. ECR 업..
[AWS] 서버 보안 : 팀원의 EC2 접근, 어떻게 열어줘야 할까?
·
CS/백엔드
AWS에서 프라이빗 서브넷에 EC2를 배포하고 Bastion Host를 통해 관리자가 SSH 접속하는 구조는 보안성과 실용성 면에서 굉장히 유리하다.하지만 실무에서는 혼자만 접속하는 게 아니라, 팀원 혹은 다른 개발자와도 EC2를 함께 사용해야 하는 상황이 생긴다."팀원이 내 EC2에 접속하려고 하는데, PEM 키는 공유해도 되는 걸까?"답은 절대 아니다. 이번 글에서는 개발자에게 받은 Public Key를 활용해 별도의 EC2 사용자 계정(backend-dev)을 만들고, Bastion Host를 통해 접속할 수 있도록 구성하는 과정을 소개한다.왜 PEM 키를 공유하면 안될까?PEM 키는 EC2 인스턴스의 루트 권한에 해당하는 키로, 이를 공유하는 건 비밀번호를 공유하는 것보다 더 위험하다.1. 접속자..
[AWS] 서버 보안 : Bastion Host 기반 Private EC2 구축하기
·
CS/백엔드
프라이빗 환경에서 AWS 클라우드 리소스를 관리하는 방법은실무/운영환경에서 ""필수""이다. 프라이빗 환경은 외부 인터넷과 분리되어, 특정 기업이나 사용자만 접근할 수 있는 독립된 클라우드 인프라 환경이다.외부 인터넷으로 프라이빗 환경 리소스에 접근이 불가능하여, 보안상 민감한 정보들을 주로 프라이빗 환경으로 관리한다. 이전 포스팅에서, VPC에 대한 기본 개념과 서버 보안을 위한 프라이빗 환경으로 리소스를 분리하여 관리하는 전략에 대한 여러 전략들을 소개했다. [AWS] VPC로 클라우드 리소스 보호하기클라우드 자원 (AWS, GCP, Microsoft Azure 등)을 활용해서,서비스 배포환경(웹/앱 서버 & 백엔드 서버)를 쉽고 간편하게 구성할 수 있다.이와 같은 서비스를 "클라우드 호스팅" 서비스..
[AWS] VPC로 클라우드 리소스 보호하기
·
CS/백엔드
클라우드 자원 (AWS, GCP, Microsoft Azure 등)을 활용해서,서비스 배포환경(웹/앱 서버 & 백엔드 서버)를 쉽고 간편하게 구성할 수 있다.이와 같은 서비스를 "클라우드 호스팅" 서비스라고 한다.대표적으로 AWS (아마존 웹 서비스) / Google Cloud Platform (GCP) / Microsoft Azure 가 있다.따라서, 클라우드 호스팅 서비스를 통해, 누구나 일정 금액을 지불하여""누구나 접근할 수 있는 서비스 환경""을 구축할 수 있다.그럼, 서비스 배포작업은 클라우드 호스팅?클라우드 호스팅을 토대로 서버환경을 구축하여누구나 접근할 수 있게 만들 수 있다. 하지만, 실제 운영 중인 서비스 (토스, 카카오, 쿠팡, 네이버 등등)는단순 클라우드 호스팅 서비스 구축 후, 서..