stevejkang / infra-subway-deploy

A submission repository for 4th woowahan tech camp pro mission-4 task.

Home Page:https://github.com/next-step/infra-subway-deploy/pulls?q=author%3Astevejkang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm node Website GitHub


인프라공방 샘플 서비스 - 지하철 노선도


🚀 Getting Started

Install

npm 설치

cd frontend
npm install

frontend 디렉토리에서 수행해야 합니다.

Usage

webpack server 구동

npm run dev

application 구동

./gradlew clean build

미션

  • 미션 진행 후에 아래 질문의 답을 README.md 파일에 작성하여 PR을 보내주세요.

0단계 - pem 키 생성하기

  1. 서버에 접속을 위한 pem키를 구글드라이브에 업로드해주세요

  2. 업로드한 pem키는 무엇인가요.

  • stevejkang.pem

1단계 - 망 구성하기

  1. 구성한 망의 서브넷 대역을 알려주세요
  • 대역 :
    • [VPC] 192.168.9.0/24
    • [subnet] public-1(stevejkang-subnet-public-1): 192.168.9.0/26
    • [subnet] public-2(stevejkang-subnet-public-2): 192.168.9.64/26
    • [subnet] private(stevejkang-subnet-private): 192.168.9.128/27
    • [subnet] manage(stevejkang-subnet-manage): 192.168.9.160/27
  1. 배포한 서비스의 공인 IP(혹은 URL)를 알려주세요

2단계 - 배포하기

  1. TLS가 적용된 URL을 알려주세요

3단계 - 배포 스크립트 작성하기

  1. 작성한 배포 스크립트를 공유해주세요.
  • deploy.sh

1단계 - 지하철역 인수 테스트 작성

기능 요구사항

  • 웹 서비스를 운영할 네트워크 망 구성하기
  • 웹 애플리케이션 배포하기

망 구성

  • VPC 생성
    • CIDR은 C class(x.x.x.x/24)로 생성. 이 때, 다른 사람과 겹치지 않게 생성
  • Subnet 생성
    • 외부망으로 사용할 Subnet : 64개씩 2개 (AZ를 다르게 구성)
    • 내부망으로 사용할 Subnet : 32개씩 1개
    • 관리용으로 사용할 Subnet : 32개씩 1개
  • Internet Gateway 연결
  • Route Table 생성
  • Security Group 설정
    • 외부망
      • 전체 대역 : 8080 포트 오픈
      • 관리망 : 22번 포트 오픈
    • 내부망
      • 외부망 : 3306 포트 오픈
      • 관리망 : 22번 포트 오픈
    • 관리망
      • 자신의 공인 IP : 22번 포트 오픈
  • 서버 생성
    • 외부망에 웹 서비스용도의 EC2 생성
    • 내부망에 데이터베이스용도의 EC2 생성
    • 관리망에 베스쳔 서버용도의 EC2 생성
    • 베스쳔 서버에 Session Timeout 600s 설정
    • 베스쳔 서버에 Command 감사로그 설정

웹 애플리케이션 배포

  • 외부망에 웹 애플리케이션을 배포
  • DNS 설정

2단계 - 서비스 배포하기

기능 요구사항

  • 운영 환경 구성하기
    • 웹 애플리케이션 앞단에 Reverse Proxy 구성하기
      • 외부망에 Nginx로 Reverse Proxy를 구성
      • Reverse Proxy에 TLS 설정
    • 운영 데이터베이스 구성하기
  • 개발 환경 구성하기
    • 설정 파일 나누기
      • JUnit => h2 / Local => docker(mysql) / Prod => 운영 DB를 사용하도록 설정

3단계 - 배포 스크립트 작성하기

기능 요구사항

  • 배포 스크립트 작성하기

About

A submission repository for 4th woowahan tech camp pro mission-4 task.

https://github.com/next-step/infra-subway-deploy/pulls?q=author%3Astevejkang

License:MIT License


Languages

Language:SCSS 35.7%Language:Java 35.1%Language:Vue 20.8%Language:JavaScript 7.6%Language:Shell 0.4%Language:HTML 0.3%