[AWS] Elastic Beanstalk를 통해 React를 이동하는 응용 프로그램
배경.
최근 클라우드 포메이션이 고릴라 인프라 환경을 코딩했지만, 굳이 직접 만들지 않아도 간단한 앱을 일라스틱 빈스토크로 만들 수 있다고 생각해 실제로 접했다.
그래서 제가 만드는 환경에 어떤 앱을 넣어야 할지 망설일 때, 요즘 리액트가 유행한다는 소문이 자주 돌기 때문에 리액트 앱을 디자인해 봤어요.
이 목표는 아래와 같다.
골대
개발 환경
이른바 Elastic Beanstalk
AWS는 "기본적으로 구성된 인프라 환경의 구축과 설계를 위한 자동화 서비스"를 제공합니다.
공식 문서에 의하면 다음과 같은 기록이 있다.
Elastic Beanstalk을 사용하면 앱 실행을 위한 인프라에 대한 지식을 얻지 않더라도 AWS 클라우드에서 간단하게 앱을 디버깅하고 관리할 수 있다.
특별한 인프라 환경의식이 없어도 앱 코드를 준비하면 이를 서버에서 간단하게 이동할 수 있다는 것이다.
대응하는 언어는 다음과 같다(2021/4 현재)
이름:
개요
디테일
Elastic Beanstalk
어플리케이션 관리
코드를 올리기만 하면 인프라 시설 환경의 구축/디버깅/감시 설정이 자동화된다.우리는 조작을 걱정하지 않고 웹 응용 프로그램 개발에 전념한다.
CloudFormation
스택 관리
기본 서비스에서 AWS의 거의 모든 서비스에 대해 자원 관리/제공이 가능하다.중점은 인프라 시설 환경을 건설하고 관리하는 것이다.
OpsWorks
스택 관리
Chef 식단을 이용하여 소프트웨어의 설정, 소프트웨어 패키지의 설치, 데이터베이스 설정, 서버의 축소, 코드의 디버깅 등 조작이 자동화되었다.고급 사용자 정의 및 운영 제어에 집중합니다.OpsWorks 스택의 지원 범위는 EC2, Elastic IP, Amazon CloudWatch 메트릭 등의 AWS 리소스를 적용하는 것으로 제한됩니다.
이른바 React
아래에 이해하기 쉬운 기술이 있기 때문에 직접 인용한다.
· SPA(Single-Page Application)를 구현하는 JavaScript 프레임워크 중 하나.
Angular, Vue.자주 js와 비교된다.
· 페이스북 회사에서 개발하여 페이스북 사이트에서도 사용한다.
2020년 4월의 최신 버전은 16.13.1이다.
· MIT 라이선스를 통해 공개되며 상업용으로 사용할 수 있습니다.
・JavaScript에서 HTML/XML을 직접 기술하는 JSX 기술을 사용합니다.
・JavaScript는 ES6의 구문인 import 및 aro 함수를 사용합니다.
· JSX와 ES6 문법을 베벨의 컨베이어 테이프를 통해 ES5의 자바스크립트로 변환한다.
· 크롬, Firefox 등의 동작을 통해.IE 8의 일부 기능, IE9의 제한, IE 10의 전체 기능 지원
이번에 React 프로그램을 시작하면 샘플의 페이지만 보이기 때문에 자세한 설명은 하지 않습니다.
실제 구축
React 가져오기
다음을 참조하였습니다.
nodist 설치
nodist는 Node입니다.js의 nodist와 윈도 OS에 있는 노드입니다.js 버전 관리 도구입니다.
다운로드하여 설치했습니다.
이와 동시에 Node는js를 관리하는 패키지의 npm도 설치되었습니다.
http-server 설치
로컬 호스트에서 React 애플리케이션을 이동할 수 있는 패키지를 추가합니다.
npm install -g http-server
carete-react-app 설치
create-react-app를 설치하는 것은 React 프로젝트를 만드는 명령입니다.
npm install -g create-react-app
React 프로젝트 제작
상술한 것을 실시하면 경로도 자동으로 통과되기 때문에create-react-app를 직접 사용할 수 있다.
경로로 이동하여 다음을 수행합니다.
Program> create-react-app sample-app
sample-app 디렉터리를 만들고 프로젝트를 만듭니다.Program> cd sample-app
Program\sample-app> npm start
상기 동작을 실행할 때 브라우저가 자동으로 상승하고 샘플 페이지를 표시합니다.URL 확인http://localhost:3000/
3000번 포트에서 작동하는지 확인할 수 있습니다.
EB CLI 가져오기
여기서부터 Elastic Beanstalk을 이용해 위에서 제작한 React 앱을 디자인해 보자.
화면에서 실제로 앱을 업로드할 수 있지만, AWS는 Elastic Beanstalk 명령줄 인터페이스(EB CLI)를 제공하기 때문에 여기서 시행한다.
EB CLI 를 가져오는 방법은 다음과 같습니다.
Python의 pip 명령으로 설치합니다.
pip install awsebcli --upgrade --user
실제로 디자인해 볼게요.
여기서부터 실제로 EB CLI를 사용하여 위에서 작성한 React 샘플 적용을 디버깅해 봅니다.
다음을 참조하였습니다.
sample-app/.ebextensions/nodecommand.config
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
이른바 NodeCommandNode.js 프로그램을 시작하는 명령입니다.
빈 문자열을 지정하면 app입니다.js、server.js, npm start 순서대로 사용합니다.
이하 인용
eb init --platform node.js --region ap-northeast-1
eb create sample-app
여기, Sample-app는 Elastic Beanstalk에서 만든 응용 프로그램의 이름입니다.또한 --sample
를 추가할 때 자신이 만든 코드가 아닌 샘플 응용 프로그램을 생성합니다.몇 분만 기다리면
Successfully launched environment: sample-app
, 환경 구축 완료.AWS의 관리 콘솔에서 서비스 > Elastic Beanstalk > 환경 > Sample-app를 선택하면 이벤트를 확인하고 환경을 생성할 수 있습니다.
또한 동일한 화면에서 작성된 애플리케이션의 URL과 건강검진 상태를 확인할 수 있습니다.
eb open
로컬 환경에 표시되는 화면과 동일한 화면을 보여줍니다.간단한 결말!!
그나저나 만들어진 환경에는 다음과 같은 자원이 있다.
총결산
Elastic Beanstalk을 사용하면 서버에서 React 애플리케이션을 이동할 수 있습니다.
일라스틱 빈스토크로 제작된 환경은 EC2 사례가 1대밖에 없기 때문에 일라스틱 빈스토크가 가용성을 높이는 인프라 환경을 구축할 수 있는지 시험해보고 싶다.
그게 다야.
감사합니다.
Reference
이 문제에 관하여([AWS] Elastic Beanstalk를 통해 React를 이동하는 응용 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/soshimiyamoto/articles/f9768e91d00606텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)