8000 GitHub - loop-study/infra-subway-deploy at loop-step2
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

loop-study/infra-subway-deploy

 
 

Repository files navigation

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키를 알려주세요.
  • KEY-loopstudy
  1. 생성한 pem키는 구글드라이브에 업로드해주세요 img.png

1단계 - 망 구성하기

요구사항

망 구성

  • VPC 생성
    • CIDR은 C class(x.x.x.x/24)로 생성. 이 때, 다른 사람과 겹치지 않게 생성
  • Subnet 생성
    • 외부망으로 사용할 Subnet : 64개씩 2개 (AZ를 다르게 구성)
    • 내부망으로 사용할 Subnet : 32개씩 1개
    • 관리용으로 사용할 Subnet : 32개씩 1개
  • Internet Gateway 연결
    • VPC 연결
  • Route Table 생성
    • IGW 연결용 라우팅 테이블 - 외부망 Subnet
    • 내부망 라우팅 테이블 - 내부망 Subnet, 관리망 Subnet
  • Security Group 설정
    • 외부망 public
      • 전체 대역 : 8080 포트 오픈
      • 관리망 : 22번 포트 오픈 (관리망에 접근해야함)
    • 내부망 internal
      • 외부망 : 3306 포트 오픈 (관리망과 외부망에서 접근)
      • 관리망 : 22번 포트 오픈 (관리망에 접근해야함)
    • 관리망 bastion
      • 자신의 공인 IP : 22번 포트 오픈
  • 서버 생성
    • 외부망에 웹 서비스용도의 EC2 생성
    • 내부망에 데이터베이스용도의 EC2 생성
    • 관리망에 베스쳔 서버용도의 EC2 생성
      • 내부망 접근을 위한 KEY 파일 복사
    • 베스쳔 서버에 Session Timeout 600s 설정
      • ~/.profile로 로그인한 유저만 설정하기
      • 서버 구분 추가 ~/.bashrc
    • 베스쳔 서버에 Command 감사로그 설정

웹 애플리케이션 배포

  • 외부망에 웹 애플리케이션을 배포
    • 외부망 a,b 환경세팅
    • 외부망 a,b 깃허브 레포지토리 클론 및 빌드
    • 애플리케이션 실행 확인
    • 애플리케이션 로그 확인
  • DNS 설정
    • 내도메인.한국으로 도메인 생성
    • 외부망 연결 및 접속 확인
  1. 구성한 망의 서브넷 대역을 알려주세요
  • 외부망1 : 192.168.8.0/26 (loopstudy-public-a)
  • 외부망2 : 192.168.8.64/26 (loopstudy-public-b)
  • 내부망 : 192.168.8.128/27 (loopstudy-private-db-a)
  • 관리망 : 192.168.8.160/27 (loopstudy-bastion-a)
  1. 배포한 서비스의 공인 IP(혹은 URL)를 알려주세요
  1. 베스천 서버에 접속을 위한 pem키는 구글드라이브에 업로드해주세요
  • KEY-loopstudy

2단계 - 배포하기

요구사항

운영 환경 구성하기

  • 도커 설치
  • 웹 애플리케이션 앞단에 Reverse Proxy 구성하기
    • 외부망에 Nginx로 Reverse Proxy를 구성
    • Reverse Proxy에 TLS 설정
      • 인증서 생성
  • 운영 데이터베이스 구성하기
    • 도커 컨테이너 사용하기

개발 환경 구성하기

  • 설정 파일 나누기
    • JUnit : h2, Local : docker(mysql), Prod : 운영 DB를 사용하도록 설정
  1. TLS가 적용된 URL을 알려주세요

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

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

  2. cronjob 설정을 공유해주세요.

About

인프라 공방

Resources

57D0

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SCSS 35.9%
  • Java 35.3%
  • Vue 20.9%
  • JavaScript 7.6%
  • HTML 0.3%
0