항해 99 - 2023.02.25 TIL
미니 프로젝트 주가 시작 되었다.
이전에 작은 프로젝트를 2회 정도 진행했었지만, 주특기를 학습한 후에 처음으로 진행하는 프로젝트였다.
프론트와 백엔드와 상의하며 와이어프레임, ERD, API 명세 등을 작성했다.
기존과 다른 점은 EC2 + RDS + S3 를 사용해서 배포를 진행해야한다는 것이다.
EC2 외에는 듣도 보도 못한 기술들이였는지라, 가장 어렵고 막막했던 것 같다.
RDS (Relational Database Service)
관계형 데이터베이스를 제공하는 서비스로, 서버에 직접 데이터 베이스를 설치하지 않고도 RDS에 연결하여 관계형 데이터베이스를 사용할 수 있다.
DB 버전 관리라던지 자동 백업 등 기존 사용자가 직접 해야했던 DB 관리를 대행해주는 서비스이다.
AWS에서는 이러한 RDS를 제공하고 있다.
정리하자면, 클라우드 환경에 데이터베이스를 세팅 후 연결하여 사용하는 것이라고 보면 될 것 같다.
AWS S3 (Simple Storage Service)
파일서버의 역할을 하는 서비스이다. 파일을 객체화 하여 Bucket이라는 공간에 담아둔다.
저장된 파일은 고유한 객체 URL이 생성되는데, 이 주소로 접근하면 파일을 로컬에 바로 다운로드 받을 수 있다.
즉, EC2 (서버) + RDS (데이터베이스) + S3 (파일 서버) 를 서로 연결해서 서버 환경을 구축하는 것이 이번 주의 주된 목표인 것이다.
모두 AWS에서 제공하는 서비스이다보니, 한 계정으로 연결해서 사용할 수 있었다.
현재 상황은 EC2와 RDS는 연결이 되었고, S3는 설정을 완료하고 로컬 환경에서 테스트를 완료했는데 EC2 환경에 연결하지는 못한 상태이다.
가장 어렵게 느껴졌던 게 AWS 내 보안 설정이다.
보안그룹, VPC, IAM 등 각 기술마다 적용해야하는 네트워크 및 보안 설정이 있고, 공개 범위나 권한도 따로 설정해주어야한다.
우선은 구글링을 통해서 최대한 따라해보는 식으로 학습을 진행했다..
현재 프로젝트가 진행 중이므로 모르는 내용들을 전부 다 정리하고 지나갈 수 는 없을 것 같다.
느낀 점
간단히 EC2에 배포만 해본 상태 였는데, 갑자기 덜컥 하라고 주제를 주니 팀원들 모두 당혹스러워 했다.
구글링에만 의존하다보니 개념도 정리되지 않은 상태이고, 따라하기 급급한 것 같다.
차라리 학습 주에 하루 이틀이라도 따로 편성을 하던지, 참고 자료를 주면서 구현해보라고 했다면 좋았을텐데..
목표하는 것은 EC2 배포 자동화를 하는 것인데.. 구현할 수 있을지는 의문이 든다.