AWS 이벤트 사이트 구성

Joshua_s·2021년 11월 18일
0
post-thumbnail

사이트 개요

  1. 1개월 한정 사용
  2. 사이트 사용자는 개인 사용자로
  3. 접속자 수는 많지 않음
  4. 웹서버로 LAMP(Linux, Apache, MySQL, PHP)환경을 사용
  5. 비용 우선, 다중화 백업 고려x

핵심 설계 사항

  1. 리전 선택
  2. EC2 인스턴스 설정
  3. 고정IP
  4. 네트워크 구성
  5. 웹 서버로서의 OS 환경설정

EC2 인스턴스 작성

-웹서버에 적합한 AMI들 중 Amazon Linux 2 AMI(HVM)을 이용할 예정이다. Amazon Linux는 AWS 관련 도구가 모두 설치되어 있고 AWS환경 내 패키지 리포지토리를 사용할 수 있다. 하지만 AWS이외에 환경에서는 사용이 불가능하기 때문에 온프레미스 환경에서는 사용할 수 없다.

HVM과 PV의 차이점
HVM = 완전가상화, 성능이 더 좋다.
PV = 반 가상화

작은 LAMP환경이라면 OS 약 1GB, MySQL등 미들웨어에 1GB정도 사용될 예정이므로 CPU는 1~2개 메모리는 3GB정도가 적당하다. 조건에 맞는 EC2 인스턴스를 사용한다.

인스턴스 세부구성

네트워크 default VPC를 설정하고 퍼블릭 IP를 비활성화한다. 퍼블릭 IP를 활성화하게되면 동적으로 IP가 부여되기 때문에 DNS지정에 문제가 생긴다. 따라서 후에 Elastic IP를 부여할 예정이다. 또한 우발적인 종료로 부터 보호를 켜 관리자의 조작 실수로 인스턴스 삭제를 막아 안정적인 상태를 유지시킨다.

보안그룹설정 통신

0.0.0.0/0의 경우 어떤 IP든지 접속 가능하도록 하는 것이다. SSH의 경우 관리하는 자신만 접속하면 되므로 자신의 IP로 설정하고 HTTP/HTTPS는 사용자들이 접속하는 부분이므로 모든 IP의 접속을 허용한다. 이 이후에 가지고 있는 키페어를 이용하여 보안한다.

고정 IP 부여

현재 상태는 EC2 인스턴스에 접속할 수 없는 상태이다. 접속하려면 고정 퍼블릭 IP를 부여해야 하는데 AWS에서는 이를 EIP(Elastic IP)라고 칭한다. EIP를 하나 만든후 EC2 인스턴스와 연결한다.

연결하게 되면 EC2 인스턴스를 확인시 아래와 같이 탄력적 IP(고정 퍼블릭 IP)가 부여된 것을 볼 수 있다.

이 이후에 Route53을 이용하여 EIP와 도메인을 연결한다.

Route 53연결

우선 Route 53에서 호스팅 영역을 선택한 후 호스팅 영역을 생성한다. TYPE은 인터넷 공개를 위해 퍼블릭 호스팅 영역을 선택하고 웹 서버를 등록한다.

라우팅 정책은 단순 레코드 정의로 설정한 후 Record name에 서브 도메인 이름을 적는다(안써도됨) 'Value/Route traffic to'에 IP address or another value ... 을 선택한 후 생성한 EIP를 적어 넣고 define하면 등록이 된다.

VPC설정으로 인터넷 접속 설정

인터넷 접속을 위해 두가지 설정이 더 필요하다. VPC의 DNS관련 설정인데 VPC 설정 화면에서 DNS 호스트 이름과 확인을 활성화 하는 것이다.

또한 라우팅 설정을 해야하는데 라우팅 테이블에 인터넷 게이트웨이가 설정되어 있지 않으면 인터넷 접속이 불가능하다. 라우팅 테이블로 가서 아래의 조합이 있는지 확인하고 없으면 등록한다.

OS환경 웹서버로 설정

EC2 인스턴스의 OS환경을 설정한다. 초기 아마존 리눅스는 AWS도구만 설치되어 있고 LAMP 환경은 설치되어 있지 않다. 따라서 설정을 하도록한다. 일단 초기 접속은 SSH를 이용하여 AWS Linux로 접속한 후 LAMP환경을 인스톨, 프로세스 자동 시작 설정, MySQL 보안 설치로 이루어진다.

sudo passwd 로 root의 비밀번호를 설정
sudo yum update로 소프트웨어 업데이트를 한다.

이후에
sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
를 입력하여 lamp-mariadb10.2-php7.2 및 php7.2 Amazon Linux Extras 리포지토리를 설치하여 Amazon Linux 2용 LAMP MariaDB 및 PHP 패키지의 최신 버전을 가져온다.

이제 인스턴스가 최신 상태이므로 Apache 웹 서버, MariaDB, PHP 소프트웨어 패키지를 설치할 수 있습니다. yum install 명령을 사용하여 여러 소프트웨어 패키지와 모든 관련 종속 프로그램을 동시에 설치합니다.
sudo yum install -y httpd mariadb-server

이후에 systemctl start httpd
systemctl enable httpd하면 아파치 서버는 부팅후 바로 시작이 될 것이다.
이것으로 이벤트 사이트 웹에 사용할 최소한의 서버가 준비되었습니다.
사용자와 디렉터리등을 설정하고 컨텐츠와 CGI, 데이터등을 준비하면 이벤트 사이트가 완성될 것입니다.

profile
devops engineer가 되기 위해

0개의 댓글