AWS에서 Python 개발 환경을 설정하려면 Python, pip, virtualenv, awswebcli 및 SSH 클라이언트가 설치되어 있어야 합니다. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html의 지침에 따라 설치할 수 있습니다.
모두 설치했으면 글로벌 패키지가 오염되지 않도록 가상 환경을 설정해야 합니다. 다음 명령을 사용하여 가상 환경을 설정하십시오.
$ virtualenv -p python2.7 /tmp/hello-world Running virtualenv with interpreter /usr/bin/python2.7 New python executable in /tmp/hello-world/bin/python2.7 Also creating executable in /tmp/hello-world/bin/python Installing setuptools, pip...done.
가상 환경이 준비되면 환경의 bin 디렉토리에 있는 activate 스크립트를 실행하여 시작하십시오. 예를 들어, 이전 단계에서 만든 hello-world 환경을 시작하려면 다음을 입력합니다.
$ . /tmp/hello-world/bin/activate
생성된 가상 환경은 활성화 스크립트를 다시 실행하여 언제든지 가상 환경을 다시 시작할 수 있습니다.
배포를 위해 Python 애플리케이션을 구성하려면 virtualenv 내에서 프로젝트 디렉토리 트리의 맨 위로 돌아가 앱의 요구 사항(가져오는 타사 모듈)을 버전 번호와 함께(또는 if 없이) 포함하는 requirements.txt 파일을 만듭니다. 당신은 최신 것이 필요합니다). 예를 들어,
Flask==0.8 Jinja2==2.6 Werkzeug==0.8.3 certifi==0.0.8 chardet==1.0.1 : ...
또는 다음을 사용하여 pip를 사용하여 시스템에서 requirements.txt 파일로 설치된 모든 패키지를 가져올 수 있습니다.
$ pip freeze >requirements.txt
이를 통해 AWS는 애플리케이션 개발 및 테스트에 사용한 것과 동일한 패키지 및 버전을 사용하여 애플리케이션의 Python 환경을 복제할 수 있습니다.
이제 'eb init' 명령으로 AWS EB CLI 리포지토리를 구성합니다.
$ eb init -p python2.7 hello-world
애플리케이션 hello-world가 생성되었습니다.
이 명령은 hello-world라는 새 애플리케이션을 생성하고 최신 Python 2.7 플랫폼 구성으로 환경을 생성하도록 로컬 리포지토리를 구성합니다. SSH로 애플리케이션을 실행하는 EC2 인스턴스에 연결할 수 있도록 eb init를 다시 실행하여 기본 키 쌍을 구성합니다.
$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]
키 쌍이 이미 있는 경우 선택하거나 프롬프트에 따라 새 키를 생성하십시오. 프롬프트가 표시되지 않거나 나중에 설정을 변경해야 하는 경우 eb init -i를 실행합니다. eb create를 사용하여 환경을 만들고 여기에 애플리케이션을 배포합니다:
$ eb create hello-env
이 명령은 hello-env라는 로드 밸런싱된 Elastic Beanstalk 환경을 생성합니다.
문제가 발생하면 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for-에서 자세한 문서를 확인할 수 있습니다. ㄴ