1주차에는 웹서버를 구축하고 웹 페이지의 기획서를 작성해보았다.

웹서버 구축을 통해 AWS에 처음 가입하여 사용해보았고 VPC, 서브넷, EC2 등의 개념을 알 수 있었다.

 

기존에 프론트엔드를 위주로 학습하다보니 Google Firebase를 이용하여 간편하게 서버리스 아키텍처를 구현한 적은 있으나

이렇게 직접 네트워크를 설정하고 서버를 열어서 웹 페이지에 접속해본건 처음이었다.

전공 과목 내장형시스템 수업에서 PuTTY를 이용해본 적은 있으나, 왜 사용하는지 잘 이해가 되지 않았는데 이번에 과제를 수행하면서 알게 되었다.

개발 지식에 비해 상대적으로 부족했던 네트워크 개념을 학습할 수 있는 시간이었다.

 

또한, 웹 페이지 기획서를 직접 작성하면서 기획 과정에서 고려해야할 부분에 대해 생각해볼 수 있었다.

AWS Calculator을 이용하여 처음으로 비용 산정을 하는게 낯설었지만 비용 산정 시 고려할 값에는 어떤 것이 있는지 알게 되었다.

 


 

웹서버 만들기

네트워크 설정

VPC 생성하기

  • VPC(Virtual Private Cloud) : 사용자의 AWS 계정 전용 가상 네트워크
  • 하나의 VPC는 하나의 Region 내에서만 생성 가능
  • Default VPC는 실무에서 사용하지 않는다, 큰 서비스 단위로 VPC를 생성하여 사용한다.
  • VPC이름 / IPv4 CIDR 블록 (IP 대역대) 지정 후 생성 완료

서브넷 만들기

  • Public 서브넷과 Private 서브넷으로 나뉘어짐
  • Private 서브넷은 인터넷 inbound/outbound가 불가능하고 다른 서브넷과의 연결은 가능함
  • Public 서브넷 생성하기
    • 생성한 VPC 선택
    • 가용 영역 설정 (프리티어는 a존만 이용 가능하다)
    • IPv4 CIDR 블록 지정

인터넷 게이트웨이 생성

  • VPC의 구성 요소로 인스턴스와 인터넷 간의 통신을 가능하게 함
  • 만들었던 VPC와 연결하는 작업 필요

 

EC2 설정

  • EC2로 AWS의 컴퓨터 한대를 빌려서 사용할 수 있음
  • 원하는 스펙의 가상 서버를 구축하고 사용한 만큼의 비용을 지불함

보안그룹 만들기

  • 만들었던 VPC와 연결하기
  • 인바운드 규칙 : EC2로 들어오는 방향의 제어를 설정함
    • TCP 포트번호 22 (SSH) / 소스 : 내 IP
    • TCP 포트번호 80 (HTTP) / 소스 : 내 IP
  • 다른 사람에게 공개할 목적으로 구축하는 것이 아니므로 내 IP로 설정한 것

EC2 인스턴스 만들기

1단계 : AMI (Amazon Machine Image) 선택하기

  • AMI란 EC2가 만들어낼 때 사용하는 OS 정보가 담긴 이미지 파일
  • Linux2 AMI가 가장 일반적으로 사용된다.

2단계 : 인스턴스 유형 선택

  • EC2의 제품 스펙을 설정하는 단계
  • vCPU란 실제 물리 CPU를 논리적으로 쪼개서 사용하는 가상 CPU임
  • 프리티어로 이용

3단계 : 인스턴스 세부 정보 구성

  • 인스턴스 개수는 1개로, 네트워크와 서브넷은 만들었던 VPC와 서브넷 선택
  • 퍼블릭 IP 자동 할당을 활성화하여 인터넷망을 사용한다.
  • 인스턴스 종료 시 자동으로 삭제되도록 종료 방식 설정

4단계 : 스토리지 추가

  • EBS(Elastic Block Storage)는 EC2에 주로 사용되는 스토리지 유형으로, 용량 증설은 가능하나 축소는 불가능하다.
  • EBS옵션은 GP2나 GP3 중 아무거나 선택
    • GP2 : 일반적인 SSD 방식
    • GP3 : 업그레이드 된 SSD 방식으로, 1TB 미만일 때도 최저 네트워크를 보장한다.
  • 30GB까지 무료로 이용 가능하다.

5단계 : 태그 설정

  • 관리자가 확인하기 편하도록 구분하는 것, 반드시 설정할 필요는 없음

6단계 : 보안 그룹 구성

  • 미리 만들었던 보안 그룹 선택

7단계 : 인스턴스 시작 검토

  • 앞서 선택한 옵션을 확인하고 생성하기
  • 새 키 페어 생성 - 키 페어 이름 설정 후 다운로드 (.pem 파일)
  • 키 페어 파일은 재발급되지 않으므로 잘 보관해야함

 

서버 열기

  • Windows에서는 pem 파일을 직접 사용할 수 없음
  • 따라서 ppk 파일로 변환하는 작업을 거쳐야한다.

PuTTY 다운로드

pem -> ppk 파일 변환

  • PuTTYgen 실행
  • File - Load private key에서 pem 파일을 불러온 후 save private key 버튼 클릭
  • ppk 파일은 C드라이브의 aws 폴더 안에 보관하는게 국룰이라고 함

PuTTY에서 서버 설정하기

  • PuTTY는 서버에 접속할 수 있는 툴
  • 관리자가 작업하기에 가장 좋은 환경은 SSH 클라이언트이다.
    • EC2에서 할 수 있는 대부분의 작업 수행 가능
    • 개발자가 가장 선호하는 서버 접근 방식
  • Connection - SSH - Auth 메뉴에서 ppk 파일 불러오기
  • Session 설정
    • Host Name (for IP address) : EC2 인스턴스의 Public IPv4 주소 입력
    • Saved Sessions에 현재 세션을 Save, 설정한 정보는 Load를 통해 불러올 수 있음
  • Open 버튼을 클릭해서 서버에 접속한다.

EC2 접속하기

  • 아이디는 ec2-user (AWS Linux를 사용할 때 최고 권한을 가진 사용자 계정)
  • EC2를 웹서버로 바꾸기 위해 Apache 다운
sudo yum install httpd -y
  • Apache 시작하기
sudo service httpd start
  • http://(EC2 Public IP):80 으로 웹사이트 접속 가능

 


 

EC2 추가 관리 기능

고정 IP 부여하기

  • 기본적으로 EC2를 중지하면 재시작할 때 IP 주소가 변경됨
  • 이것을 방지하기 위해 고정 IP를 설정함
  • 탄력적 IP 주소 연결 - 생성한 인스턴스 선택해서 연결하기

백업본 이미지 만들기

  • EC2 백업은 AMI + EBS 백업을 통해 이루어진다.
    • AMI : OST 정보가 담겨있음
    • EBS : 스토리지 백업으로 웹서버가 백엄됨
  • 인스턴스 선택 후 작업 - 이미지 및 템플릿 - 이미지 생성 선택
  • 이미지 이름과 설명 입력 후 생성 완료 (AMI, EBS는 자동 생성됨)
  • 백업된 AMI 이미지를 복원해서 새 EC2를 만들 수 있다.

 


웹 페이지 기획하기

1. 웹 페이지 기획 목적

  • 웹 페이지 디자인 및 구현 경험
  • 공부한 기술 스택 목록 정리
  • 진행했던 프로젝트 목록 정리

2. 트래픽 목표 수치 산정

  • 일주일에 한 번 접속, 한 번 접속 시 평균 5분의 사용 시간을 예상함
  • 누구나 접속할 수 있는 페이지이므로 24시간 내내 오픈되어야 함
  • 1개월에 최대 1시간의 사용량을 가질 것

3. 컨텐츠 종류 파악

  • 텍스트 박스
  • 이미지 파일 : 파비콘(.ico) 1개, 픽토그램(.png) 약 5개, 프로필 이미지(.jpg) 1개, 프로젝트 썸네일(.png) 약 5개

4. 기술 선정

  • HTML, CSS, Javascript 언어 사용
  • AWS EC2 웹서버

5. 비용 산정

  • AWS 프리티어 이용 시 처음 12개월 동안은 무료로 사용
  • AWS Simple Monthly Calculator을 이용하여 인스턴스 비용 산정

  • t3.xlarge Linux 유형의 인스턴스 1개가 1개월에 1시간의 사용량을 가진다면 월별 비용은 $0.21일 것으로 나타남

+ Recent posts