AWS


서버와 클라우드 컴퓨팅

서버란?

  • IT 업계에서 말하는 서버란 무언가를 제공해주는 컴퓨터 이다.
  • 서버 컴퓨터는 특정 프로그램을 실행시켜서 외부에서 우리의 서비스에 접근할 수 있도록 한다.
  • 서버를 운영하는 두 가지 방법

  • 온 프레미스 (On-Premise)
  • 클라우드 컴퓨팅 (Cloud Computing)
  • 클라우드 컴퓨팅의 구분

  • IaaS(Infrastructure as a Service)
  • PaaS(Platform as a Service)
  • SaaS(Software as a Service)
  • S3를 이용한 배포

    (Simple Storage Service)

    CSR을 통해 동작하는 정적 웹사이트는 S3를 이용한 배포가 가능하다.

  • S3 → 버킷 만들기
  • 버킷에 build 폴더 안 내용물 업로드
  • 버킷에 들어가서 권한 탭의 퍼블릭 액세스 차단 풀어주기
  • 속성 탭의 정적 웹 사이트 호스팅 활성화
  • 권한 탭의 버킷 정책 입력해주기
  • 정적 웹 사이트 호스팅 부분의 주소로 접속
  • CI/CD

  • CI/CD는 Continuous Integration와 Continuous Delivery/Deployment의 약자로, 개발 과정에서 필요한 빌드, 테스트, 배포등의 과정을 자동화 하는 것이다.
  • AWS - 우측 위 계정 클릭 - 보안 자격 증명 - 액세스 키 만들기 - 액세스 키 따로 메모
  • AWS cli 설치
  • 콘솔에서 다음 실행
  • 우선 package.json에 다음과 같은 script 추가
  • .github/workflows 폴더에 CICD.yml 생성
  • EC2를 이용한 배포

    (Elastic Compute Cloud)

  • AWS 접속, 루트 사용자로 로그인, 지역 서울로 설정
  • EC2 → 인스턴스 시작
  • 키페어 사용하여 인스턴스 생성
  • 퍼블릭 IPv4 복사
  • 키페어 권한은 키페어 파일 저장한 폴더에서 chmod 400 키페어이름.pem 으로 권한 설정
  • SSH를 이용하여 서버 접속
  • EC2에 접속하여 설정하기
  • 인스턴스 설정 창의 보안 - 보안그룹 - 인바운드 규칙 편집에서 규칙을 추가하여 포트번호 지정
  • EC2 퍼블릭 IP주소:포트번호 로 접속