brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Sep 14. 2016

[AWS]27.간단한 게임웹사이트 인프라구축,ELB

VPC,ELB 이중화구성

게임웹 서비스를 하기 위한 간단한 AWS구성을 해보자.


사업계획하고

개발하고

인프라구축해 서비스를 하게 된다.


인프라구축을 AWS로 해보자.


우선 전통적인 인프라 구조를 알아보자.

네트워크, 보안, L4 , 서버, DB,스토리지,DNS,CDN 등등이 사용 된다.


AWS인프라와 비교해보자


우선 네트워크,보안,L4,서버,DNS 이용해 구축하는것을 해보자.


다른 부분은 다음에  하나씩 해보도록 하겠다.


0. 구성도

서버는 EC2로 생성한다.

web1 와  web2는 동일한  기능을 하는 게임 웹서버이다.

L4는 서버2대를 이중화해주는 장비이다.



자 이제 기본 네트워크부터 구성해보자.


1. 네트워크 vpc 설정하기

VPC는 네트워크이다.

Virtual Private Cloud로 가상 개인 네트워크를 구축하게 해준다.

외부와 연동이 되는 Public과 외부에서 접속하지 못하는  DB 서버 네트워크인 Private를 구축하게 해준다.

VPC에서 서버넷(subnet)을 나누어 정책을 적용한다.


VPC - Create VPC

10.0.0.0/16 으로 B class 를 기본 네트워크로 설정한다.




2.  이중화를 위해  C-class단위 2개로 서브넷을 나눈다.


이중화를 위해  2a 지역과  2c 지역중  2a로 지정한다.

10.0.10.0/24  C-class하나 만든다.



3.  서브넷 하나를 더 만든다.


이중화를 위해 2a 지역과  2c 지역중  2c로 지정한다.

10.0.20.0/24  C-class하나 만든다


4. 게이트웨이를 생성하고 해당 네트워크에 연결한다.

Create Internet Gateway 클릭해서  게이트웨이를 생성한다.

 Attach to VPC 클릭해서  기본네트워크 10.0.0.0/16의  게이트웨이를  지정한다.






5.  모든 패킷을(0.0.0.0/0)  게이트웨이(game-web-igw1)로 가도록 설정한다.


외부에서 접속했을때 응답을 주려면 디폴트(0.0.0.0/0)가 설정되어 있어야한다.

여기선  Routes Tab에서  이처럼  모든 패킷 (0.0.0.0/0)을  게이트웨이 igw로  가도록 꼭 설정하도록 한다.


Route Talble ID는 처음에 VPC를 만들면 자동 생성되는 부분이다.

oㅅ



6. 이제   만들어진 서브넷에  각각 서버 1대를 생성해보해자.

ec2




7. Next :Configure Instance Details 클릭


t



8. 10.0.10.0/24 에  서버1대 생성

Next Add Storage - Next



9. 서버이름을 지정한다.

gameaws-web01

게임서비스 aws에 위치하고, 웹서버 1번이다.




10. 보안그룹설정

보안설정을 한다.

기존에 존재하는 디폴트 보안설정에 적용한다.

Select an existing security group


11. 이제 2개의 서버가 만들어 졌다.





12.  임시로  Elastic IPs를 받아 서버와 매칭한다.

     외부에서 서버에 직접 접속해 ftp설치나 apache 설치를 원할하게 하기 위해 작업한다.

원래는 보안상  다른 게이트웨이 서버를 통해 해당 서버들에 접속해야 한다.


c IP









13. 보안 그룹 설정한다.

EC2에서 Security Groups

외부에서 80 , 22 접속되도록 허용한다.

웹서버,  ssh포트로 접속.





t




14.  리눅스 서버에서 ssh로  서버 접속해  ftp와 apache를 설치해보자.


서버접속

키파일 naver1.pem 을  리눅스에 올리고   400 권한을 준다.

ssh로 만들어진   ec2  2대에 접속해   ftp, apache설정 작업한다.

웹서버 설정법  https://brunch.co.kr/@topasvga/18 








15. ELB  설정한다.


L4를 설정하는 것이다.

EC2 - Load Blancers 클릭.

Create Load Balancer





16. 80에 대해  Load Balancer 설정한다.


Avaliable subnets에 있는 서버를 클릭해

Selected subnet으로  해당  이동한다.

j




17.  ELB가 설정되었다.

설정값중  DNS name을 확인해보자.




이제  ELB설정이 완료되었다.





18. Monitoring부분에 Healthy Hosts가  2개 ON되어 있는것 확인이 가능하다.

healthy on 되는데 10여분이 걸리는거 같다.



 h



10분정도 있다가 웹브라우져로  DNS name을 접속해보면 접속이 된다.


19.  브라우져로  각 서버 공인 ip  (Elastic IPs)로도  접속해 사이트가 뜨는것을  확인한다.

       


20. route53에서  cname으로 DNS name 을 설정한다.


gameweb.dns-book.com  cname   game-web1-elb-1xxxxxxxxxxxxxxxxxxxxxxxx


gameweb.dns-book.com 으로 접속되는지 확인한다.





21 . 서버 1대의  apache를 다운시켜 본다.


dns로 설정한  gameweb.dns-book.com 으로 접속되는지 확인한다.




22.  이제 정상동작하는게 확인되었다.

테스트를 위해  서버에 매칭된 Elastic IPs (공인IP)를 해지한다.





감사합니다.


매거진의 이전글 26. [AWS] Route53을 Gslb로
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari