개발 초기에는 AWS 구성을 하는 것도 일이기에, 지금까지는 프론트 개발자가 백엔드 소스를 받아서 local에서 서버를 띄우는 방식으로 진행했습니다. 물론 매번 DB를 올리지 않아도 되도록 local h2 구성을 해주고, 실행 편의 방법과 README를 제공해줬지만 프론트 개발자 입장에서는 불편한 게 현실이었습니다.
그러던 중 슬슬 목표한 앱의 한바퀴가 성공했기에 AWS 구성을 해보았고 그 기록을 남겨봅니다.
⚠️ 주의!
이 글은 사이드 프로젝트 구성을 위한 삽질기이기에 접근 제어 및 보안이 실무 수준에 미치지 못합니다. 실무에서 고려해야될 사항이나 도움이 될만한 내용은 코멘트했지만, 개인적인 경험에서 나온 기록이기에 선별적으로 이해해주시면 감사하겠습니다.
# 계획
작업 전 배경 지식
실물 장비 기반의 인프라 구성/운영 경험 (IDC)
이미 구성된 AWS 시스템의 운영 경험
EC2 - RDS 의 단일 구성 및 배포 경험
VPC - 보안그룹 - 라우팅 테이블 등 네트워크에 대한 포괄적인 이해
목표
Elastic Beanstalk 으로 EC2 - RDS 로 구성하자
개발 편의성을 우선하며, 고가용성과 보안 등은 차후 과제로 남겨둡니다
AWS 알기 전에는 기초적인 파티션 나누기와 웹 서버 설정부터 심지어 자바 설치까지 직접 했었는데요. AWS에서는 이런 기본적인 것들은 디폴트 설정으로 제공하거나 GUI 환경에서 간단히 수정할 수 있게 도와줍니다.
공부할 때는 EC2 - RDS를 각각 구성했었지만, 이번 기회에 Elastic Beanstalk을 설정해보려고 합니다.
# Elastic Beanstalk
바로 진행해도 되지만, 저는 서버에 들어가는 것을 좋아하기에 서버에 들어갈 수 있는 '키 페어' 생성을 먼저 해보겠습니다.
1. EC2 키 페어 만들기
저는 EC2 에 직접 연결하는 몇 가지 방법 중 'SSH 클라이언트'로 접근하는 방법을 선호합니다. 익숙한 환경이기도 하고 제일 빠르게 작업할 수 있기 때문이죠.