Elastic Beanstalk로 한 걸음 더 나아가기
2966 단어 elasticbeanstalkaws
SSH 설정
이는 변경, 업로드, 작동 여부 확인, 그렇지 않은 경우 로그를 요청하고 검토하는 것과 비교하여 진행 상황을 확인하는 데 도움이 될 수 있기 때문에 핵심입니다. SSH를 작동시키는 몇 가지 단계가 있습니다.
ssh-keygen -b 2048 ~/.ssh/elastic-beanstalk
.ebextensions/02_setup_ssh.config
이라고 함) 아래 1번처럼 보입니다. .ebextensions/03_open_sshport.config
이라고 함)이며 아래 #2처럼 보입니다. ssh -i "~/.ssh/elastic-beanstalk" root@[IP ADDRESS]
컨테이너 명령
한 가지 문제는 내 PHP 앱(Codeigniter v4 프레임워크 앱)의 프로젝트 레이아웃이 다르다는 것입니다. 여기서 루트 폴더에는 다양한 구성 항목이 있고 CodeIgniter 앱은
ci4
하위 디렉토리에 설치됩니다. package.json
및 composer.json
파일이 있던 곳)이며 공용 웹 루트도 그 하위 디렉토리입니다.따라서 코드를 추출한 후 배포하기 전에
composer install
및 npm install
를 수행해야 합니다. 그래서 이를 수행하기 위해 컨테이너 명령을 실행하기 위한 또 다른 .ebextensions 구성이 있었지만 /var/app/current/ci4
의 정적 경로를 사용하고 있었습니다. 이는 스테이징된 코드가 아닌 현재 배포에 영향을 미쳤습니다. 따라서 EB가 준비된 코드를 배포할 때 예상되는 node_modules
또는 vendor
디렉토리가 없었습니다. 앞뒤로 많은 시간이 걸렸지 만 결국 작동하게되었고 아래 # 3처럼 보입니다. 아, 그리고 #3의 보너스로 nodejs(npm 포함)도 설치됩니다.#1:
files:
"/root/.ssh/authorized_keys" :
mode: "000600"
owner: root
group: root
content: |
[contents from your elastic-beanstalk.pub file]
#2:
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
sshSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 22
FromPort: 22
CidrIp: 0.0.0.0/0
(나중에 HTTPS 설정을 위해 443을 추가했습니다.)
#삼:
commands:
00_install_curl:
command: sudo yum -y install curl
01_nodejs_setup:
command: curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
02_install_nodejs:
command: sudo yum -y install nodejs
03_enable_epel:
command: sudo amazon-linux-extras install epel
container_commands:
01_npm_install:
command: 'cd ci4 && npm install'
test: '[ ! -d ci4/node_modules ] && echo "node_modules files not installed"'
02_composer_install:
command: 'cd ci4 && /usr/bin/composer.phar install'
test: '[ ! -d ci4/vendor ] && echo "vendor files not installed"'
Reference
이 문제에 관하여(Elastic Beanstalk로 한 걸음 더 나아가기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/purdy/one-small-step-forward-w-elastic-beanstalk-223b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)