Elastic Beanstalk 사이트 구축

Elastic Beanstalk 사이트 구축

Elastic Beanstalk 사이트 구축


  • 이번 장에서는 Elastic Beanstalk를 활용해서 WordPress 사이트를 구축해보겠습니다.
  • Elastic Beanstalk가 무엇인지는 Elastic Beanstalk를 참조해주세요.

Elastic Beanstalk 사이트 구축

 

  • Elastic Beanstalk는 zip 형식으로 애플리케이션을 압축해서 AWS 상에 업로드 할 수 있습니다.
  • WordPress를 사용하기 위해 WordPress에서 zip 형식으로 다운로드 합니다.

 

  • 다운로드가 완료되면 AWS에서 Elastic Beanstalk를 검색합니다.

 

  • Elastic Beanstalk의 생성을 위해 Create Application을 클릭합니다.

 

  • 애플리케이션의 이름과 태그를 설정합니다.

 

  • 플랫폼에서는 사용할 플랫폼을 설정할 수 있습니다.
  • 여기서는 PHP를 선택합니다.

 

  • 애플리케이션 코드에서는 코드 업로드를 클릭합니다.
  • 소스 코드는 위에어 다운로드 한 WordPress.zip 파일을 업로드 합니다.
  • 업로드가 완료되면 추가 옵션 구성을 클릭하여 세부설정으로 진입합니다.

 

  • ElasticBeanstalk의 구성을 위해 사용자 지정을 클릭 후 아래항목으로 이동합니다.

 

  • 먼저 최하단으로 진입하여 데이터베이스 설정을 진행으르 진행 후, 네트워크 설정을 진행합니다.
  • 네트워크 및 데이터베이스에 대한 설정은 [EC2 동적 사이트 구축) (https://mung0001.github.io/docs/cloudcomputing/awstraining/ec2site/)의 VPC 및 보안그룹을 사용하였습니다.

 

  • 설정이 완료되면 다시 위로 올라와 인스턴스의 보안그룹과 키 페어를 등록합니다.
  • 설정이 완료되면 앱 생성을 클릭하여 ElasticBeanstalk를 생성합니다.

 

  • 위의 그림과 설치가 완료되면 EC2, RDS등이 설치된 것을 확인 할 수 있습니다.
  • 다음으로는 Elastic Beanstalk의 URL를 통해 http://[ 생성한 애플리케이션 URL ]/wordpress로 진입합다.

 

  • WordPress가 설치된 것을 확인할 수 있습니다.

 

  • 위의 그림과 같이 설정을 진행합니다.
  • ElasticBeanstalk에 의해 생성된 db의 이름은 기본적으로 ebdb로 생성되어 있습니다.
  • 데이터베이스의 호스트는 생성된 RDS의 EndPorint를 설정합니다.

 

  • 다음의 웹 사이트 이름, 관리자의 대한 추가 설정을 마치면 WordPress의 생성이 완료되었습니다.

  • 이와 같이 ElasticBeanstalk를 사용하면 AWS의 다양한 서비스와 PIP 뿐만이 아닌, 다양한 패키지들을 간단하게 생성이 가능합니다.

 

Elastic Beanstalk의 eb ( awsebcli ) 활용

  • eb 명령어는 Elastic Beanstalk 전용 CLI로, AWS CLI와 별도로 설치가 필요합니다.

 

$ pip install awsebcli
# awsebcli 설치

$ eb --version
$ awsebcli 설치확인
  • awsebcli를 설치합니다.

 

$ cd /[ WordPress 압축 푼 파일 경로 ]
$ eb init -p php
# php 플랫폼 지정
  • 다운 받은 WordPress의 압축을 해제하고, 해당 디렉토리를 플랫폼으로 지정합니다.

 

$ eb create [ RDS 이름 ] --database --timoute 30
# eb 애플리케이션에 사용할 RDS 생성
  • RDS를 생성합니다.

 

define('DB_NAME', $_SERVER['RDS_DB_NAME']);
define('DB_USER', $_SERVER['RDS_USERNAME']);
define('DB_PASSWORD', $_SERVER['RDS_PASSWORD']);
define('DB_HOST', $_SERVER['RDS_HOSTNAME']);
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
  • 압축을 해제한 WordPress 디렉토리 내의 wp-config-ample.php를 복사해서 wp-config.php를 생성 후, wp-config파일을 수정합니다.
  • 위와 동일하게 wp-includes/functions.php 또한 수정합니다.

 

RSS Feed
마지막 수정일자