임대 서버의 DB/정기적 실행Python 파일을 AWS로 전송②
저번
지난번: 임대 서버의 DB/정기 실행 Python 파일을 AWS로 옮기기 ①부터.
지난 번 간 일
금번
고정 IP 주소 설정
Elastic IP 주소
EC2 인스턴스가 중지되고 다시 시작될 때마다 IPv4DNS가 변경되기 때문에 고정 IP 주소로 Elastic IP 주소를 만들어 할당합니다(무료).
실례에 분배되는 것 외에 네트워크 작업 인터페이스에도 연결할 수 있다.이번 연락 실례.다음 설정을 참조하십시오.
Elastic IP 주소를 인스턴스 또는 네트워크 인터페이스와 연결
EC2 인스턴스에서 Python 파일 실행하기
EC2 인스턴스 내에서 환경 만들기
EC2 인스턴스에 SSH 연결 후 수행
git,clone 상응하는 창고에 가입
yum을 최신 상태로 만들기
sudo yum update
설치gitsudo yum install git
git버전 확인git version
확인 후 일반적인 clone 요령에 따라 해당하는 창고에 clone을 진행한다.pip로 가상 환경을 준비하고 필요한 모듈을 설치합니다 (이 Python 파일에 필요한)
sudo yum install python3 -y
python3 -m venv myenv
source myenv/bin/activate
pip install mysql-connector-python
pip install requests
pip install bs4
pip install python-dotenv
pip install lxml
파이썬 파일 실행하기
Python *****(ファイル名).py
RDS DB 확인
EC2 실례에서 MySQL에 접근하기 위해 관리자는 "admin"에 해당하는 RDS DB의 단점 명령을 입력합니다
mysql -u admin -p -h *******.*******.ap-northeast-1.rds.amazonaws.com(RDS DBのエンドポイント)
암호 설정된 암호를 입력합니다.EC2에 배치된 파이썬 파일 주기적 실행
아래를 보면서 설정.
AWS EC2 및 RDS를 통한 정기적인 실행(CRON)
필요할 때만 실례를 시작합니다
AWS 참조 기사: 지정된 서버 동안 중지하려는 "AWS Instance Schedule"
Qita 참조 기사: Instance Scheduller를 사용하여 AWS RDS 인스턴스의 자동 시작 및 개발을 중지하여 비용 절감
AWS의 실례 스케줄러를 사용할 때 AWS CLI의 인증 정보가 필요하기 때문에 그쪽 설정을 먼저 진행합니다.
AWS CLI 버전 2 설치
EC2 인스턴스 내
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
AWS CLI 설정 /aws configure
생성된 액세스 키의 ID 및 기밀 액세스 키를 사전에 확인합니다.
EC2 인스턴스에 등록합니다.
참고 자료: AWS CLI 설치 후 초기 설정 참고 사항
aws configure
AWS Access Key ID [None]: ********************
AWS Secret Access Key [None]: ****************************************
Default region name [None]: ap-northeast-1
Default output format [None]: json
Instance Scheduller CLI 설치
zip 파일 설치
Download 클릭
자신의 컴퓨터에 다운로드한 후 펼치기(사용 편의를 위해 사용자 디렉터리로 이동)
자체 PC에서 EC2 인스턴스로의 SSH 연결(EC 인스턴스에서 이전에 만든 키 사용)
ssh -i"C:\Users\ユーザー名\key-name.pem" ec2-user@**.**.***.***(Elastic IPアドレス)
EC2 내의 빈 schedule-cli 디렉터리와 그 중의 schedule-cli 디렉토리 미리 만들기
자신의 PC로 돌아가 EC2 인스턴스로 파일 전송
scp -i "C:\Users\ユーザー名\key-name.pem" "C:\Users\ユーザー名\scheduler-cli\instance-scheduler-cli-runner.py" ec2-user@**.**.***.***:/home/ec2-user/scheduler-cli
scp -i "C:\Users\ユーザー名\key-name.pem" "C:\Users\ユーザー名\scheduler-cli\setup.py" ec2-user@**.**.***.***:/home/ec2-user/scheduler-cli
scp -i "C:\Users\ユーザー名\key-name.pem" "C:\Users\ユーザー名\scheduler-cli\scheduler_cli\__init__.py" ec2-user@**.**.***.***:/home/ec2-user/scheduler-cli/scheduler_cli
scp -i "C:\Users\ユーザー名\key-name.pem" "C:\Users\ユーザー名\scheduler-cli\scheduler_cli\__main__.py" ec2-user@**.**.***.***:/home/ec2-user/scheduler-cli/scheduler_cli
scp -i "C:\Users\ユーザー名\key-name.pem" "C:\Users\ユーザー名\scheduler-cli\scheduler_cli\scheduler_cli.py" ec2-user@**.**.***.***:/home/ec2-user/scheduler-cli/scheduler_cli
EC2 인스턴스 SSH에 연결
ssh -i"C:\Users\ユーザー名\key-name.pem" ec2-user@**.**.***.***
가상화 환경의 효율성
source myenv/bin/activate
schedule-cli로 이동
cd scheduler-cli
ptyhon 명령으로 설치
python setup.py install
새 Instance Scheduller 스택
검색 창에서 "CloudFormation"을 검색하면 템플릿이 필요하므로 아래 페이지를 방문하여 "Launch Solution"단추를 클릭합니다.
로그인 인증이 요청되면 IAM 스크롤로 로그인
템플릿이 포함된 상태에서 창고 창설 페이지로 이동합니다.
스택 세부 설정
기본값에서 변경된 내용은 다음과 같다
scheduller CLI에서 부팅 시간 설정
scheduler-cli update-period --stack EC2-RDS-InstancesScheduler --region ap-northeast-1 --name office-hours --begintime 06:30 --endtime 08:30 --weekdays mon-fri
scheduler-cli create-schedule --stack EC2-RDS-InstancesScheduler --nam
e jp-office-hours --region ap-northeast-1 --periods office-hours --timezone Asia/Tokyo
스케줄러 태그
태그가 완료되면 AWS 콘솔이 첨부 파일 이미지가 됩니다.
Google 데이터 포털에서 RDS에 액세스하여 DB 정보 얻기
새 보고서 및 MySQL 데이터베이스에 연결
MySQL 선택
하면, 만약, 만약...
표의 '표' 에 해당하는 표 일람표를 표시하면 성공합니다.
'추가' 단추를 선택하여 보고서에 추가할 수 있습니다.
Reference
이 문제에 관하여(임대 서버의 DB/정기적 실행Python 파일을 AWS로 전송②), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/naoko3in4/articles/2adfee38ca4274텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)