이론
<1> EC2 서버 접속
<2> Elastic Beanstalk cli 사용하기
<3> 어플리케이션 배포하기
<4> EB 운영
<5> 어플리케이션 업데이트
<6> 어플리케이션 배포 업데이트 하기
<1> EC2 서버 접속
<2> Elastic Beanstalk cli 사용하기
1
git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer --location /home/ec2-user
echo 'export PATH="/home/ec2-user/.ebcli-virtual-env/executables:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
3분걸림
2
mkdir ~/eb-lab
cd ~/eb-lab
eb init
ㅊ8 php
2 php 7.4
ssh for your instances ?
n
<3> 어플리케이션 배포하기
1
소스 다운로드
cd /tmp
wget https://us-west-2-aws-training.s3.us-west-2.amazonaws.com/awsu-spl/spl-47/1.4.7.prod/scripts/ec2-info.zip
unzip ec2-info.zip
cp -r ec2-info/* ~/eb-lab/
cd ~/eb-lab/
eb create --vpc --service-role aws-elasticbeanstalk-service-role
2
환경설정하기
default <엔터>
cname
myeb199
application lbn
spot n
vpcid : 확인
public y
ec2 subnet ?
subnet-053969e1a69d2da50,subnet-0cfa37bf820d5de63
lb public
Y
//
3
eb status
4
sudo yum -y install lynx
eb open
// eb 사이트 복사하기 , 접속해보기 , 메타 데이터를 확인할수 있다.
myeb199.us-west-2.elasticbeanstalk.com
5
// 콘솔에서 확인하기 , us-west-2 오래곤으로 변경
서비스 > elastic beanstalk >
환경이름은 eb-lab-dev
애플리케이션 이름은 eb-lab
URL 복사
http://myeb199.us-west-2.elasticbeanstalk.com/
<4> EB 운영
1
pwd
/home/ec2-user/eb-lab
2
// 이벤트 확인 , ERROR 가 없는지 확인
eb events
3
환경 정보 확인하기
LC_TIME="en_US.UTF-8" eb health --refresh
4
// 로그 확인하기
eb logs
5
환경 확장하기
eb scale 2
eb status
// 상태 확인. Health: Green
6
eb config
// contrrol +x
7
//현재 설정 저장
eb config save --cfg eb-lab-config
// 저장 경로
[ec2-user@ip-10-1-11-245 eb-lab]$ cd .elasticbeanstalk/saved_configs/
[ec2-user@ip-10-1-11-245 saved_configs]$
[ec2-user@ip-10-1-11-245 saved_configs]$ pwd
/home/ec2-user/eb-lab/.elasticbeanstalk/saved_configs
[ec2-user@ip-10-1-11-245 saved_configs]$
[ec2-user@ip-10-1-11-245 saved_configs]$ ls
eb-lab-config.cfg.yml
[ec2-user@ip-10-1-11-245 saved_configs]$
8
// vm 으로 볼수 있도로 확인
export EDITOR=vim
9
// 설정 확인
eb config
아래 경로 확인
변경전
Application Healthcheck URL:
변경후
Application Healthcheck URL: /index.phpwq
10
eb status
// 아래 상태인지 확인
Status: Ready
Health: Green
<5> 어플리케이션 업데이트
1
cd /home/ec2-user/eb-lab
vi index.php
2
변경 하기
<h2>Instance Metadata v1.0</h2> 를
<h2>Instance Metadata v1.1 with eb deployment</h2>
3
배포하기
eb deploy
4
eb status
5
eb open
<6> 어플리케이션 블루 그린 배포하기
1
cd ~/eb-lab
vi index.php
2
<h2>Instance Metadata v1.1 with eb deployment</h2>
를
<h2>Instance Metadata v2.0 with eb swap</h2>
로 변경하기
3
새 환경 설정 하기
eb create --vpc --service-role aws-elasticbeanstalk-service-role New-EB -c New-EB
public
y
subnet-053969e1a69d2da50,subnet-0cfa37bf820d5de63
elb 서브넷 <공란엔터>
public
y
보안그룹 <공란엔터>
4
eb status New-EB
5
eb open New-EB
완료 확인
// 5분 소요
6
// 콘솔 화면
서비스 > elastic beanstalk 에서 확인
// 66
7
eb swap New-EB --destination_name eb-lab-dev
8
확인
eb status New-EB
9
eb terminate eb-lab-dev --force
eb status eb-lab-dev
권한
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.iam.managed-policies.html
감사합니다.