AWS의 플라스크 때 API
층계
RDS 인스턴스 만들기
AWS Management Console onsole로 이동하여 RDS를 검색합니다.
클릭하여 데이터베이스를 만듭니다.
사용 가능한 옵션 목록에서 다음을 선택합니다.
실례를 위해 이름 (기본적으로 데이터베이스 이름), 주 사용자 이름 (postgres), 비밀번호 (postgres) 를 선택하십시오.비밀번호를 확인하다.(생산 환경에서 더욱 안전한 비밀번호를 사용해야 합니다!)
접속을 제외한 나머지 부분은 그대로 유지됩니다.
우리는 곧 안배할 것이다.
너는 남은 것을 원래의 모양으로 유지할 수 있다.예상된 월 원가가 '무료 등급' 을 표시하는지 다시 한 번 확인하십시오. (만약 당신이 여전히 무료 등급 신용을 가지고 있다고 가정한다면.)RDS 인스턴스의 비용은 시간에 따라 달라질 수 있습니다.
그런 다음 를 클릭하여 데이터베이스를 만듭니다.
기다리는 동안 데이터베이스 이름과 보안 그룹을 누르십시오.
보안 그룹 id를 누르고 입국 규칙 편집을 누르십시오.이것은 우리가 외부 도구를 사용하여 데이터베이스를 테스트할 수 있게 할 것이다.원한다면 이 단계를 뛰어넘을 수 있다.만약 그렇다면, RDS 실례와 응용 프로그램이 같은 보안 그룹에 있는지 확인하십시오.
이제 다른 인바운드 규칙을 추가하고 RDS 인스턴스에 액세스할 수 있습니다.
이제 RDS 인스턴스를 테스트할 준비가 되었습니다.
RDS 인스턴스 테스트
RDS 인스턴스를 테스트하려면 TablePlus를 사용하지만 모든 도구를 사용할 수 있습니다.기타 툴은 다음과 같습니다.
연결에 필요한 모든 정보를 입력합니다.
접속 테스트 를 클릭합니다.만약 네가
connection is ok
메시지를 보았다면, 너는 갈 수 있을 것이다.데이터베이스가 비어 있습니다.저장소 복제, 분기 변경 및 Docker 이미지 구축
Tinystacks 클론the aws-docker-templates-flask repository:
git clone https://github.com/tinystacks/aws-docker-templates-flask.git
디렉터리에 들어가기cd aws-docker-templates-flask
이제 GitHub 분기를 전환합니다.명령git branch -a
을 사용하여 모든 분기를 검사할 수 있습니다.git checkout flask-local-postgres
그리고 네가 가장 좋아하는 IDE로 이 폴더를 열어라.Visual Studio 코드가 있는 경우 다음을 입력합니다.code .
터미널을 열고 docker-compose.yml
파일이 있는 폴더에 다음을 입력합니다.docker compose build
ECR
<AWS_ACCOUNT_ID>
및 <REGION>
를 사용하여 AWS CLI에 로그인합니다.aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com
프롬프트를 사용하여 새 ECR 라이브러리를 작성합니다.사용자 <REGION>
:aws ecr create-repository --repository-name flask-app --region <REGION>
그런 다음 ECR에서 아마존 콘솔 레지스트리를 볼 수 있습니다.저장소 이름을 클릭하면 이미지가 표시되지 않습니다.이것이 바로 우리의 기대다.
ECR에 Docker 이미지 표시 및 밀어넣기
값
<IMAGE_TAG>
을 사용하여 태그latest
가 있는 이미지를 만들 수 있습니다.docker tag pythonapp <IMAGE_TAG>
ECR 저장소로 이미지를 밀어넣습니다.docker push <IMAGE_TAG>
ECR 저장소의 이미지를 보려면 다음과 같이 하십시오.ECS
이제 Amazon Exchange Service(ECS)를 사용하여 서비스를 배포합니다.
AWS 관리 콘솔에서 검색
ecs
:클릭하여 시작:
사용자 지정 을 클릭한 다음 구성 을 클릭합니다.
이것은 그룹에서 실행할 용기 작업을 설정할 수 있도록 합니다.
선택:
<IMAGE_TAG>
docker-compose.yml
파일에 정의된 환경 변수를 추가합니다.이 값의 경우 다음을 사용합니다.
<DATABASE_URL>
postgresql://postgres:postgres@<RDS_INSTANCE_IP>:5432/postgres
<RDS_INSTANCE_IP>
로 바꾸는 것을 기억하세요.TablePlus 또는 RDS에서 찾을 수 있습니다<RDS_INSTANCE_IP>
.나머지 부분은 그대로 둔 다음 "업데이트"를 누르십시오.
작업 정의에서 다음을 클릭합니다.
마찬가지로 서비스에서 다음을 클릭합니다.
클러스터 구성에서 클러스터 이름을 정의하고 다음을 클릭합니다.
준비 다 됐어!만들기를 클릭합니다.
만들려면 몇 분 정도 걸립니다.모든 체크 표시가 녹색으로 변경되면 서비스 보기 를 클릭합니다.
작업을 클릭하고 해당 공용 IP를 복제합니다.우리는 응용 프로그램을 테스트하기 위해 그것을 필요로 한다.
우체부와 Tableplus로 테스트
우선 모든 물건을 꺼내자.만약 우리가 빈 목록 [] 을 얻게 된다면, 이것은 시계가 이미 만들어졌고, 우리는 어떤 항목도 얻지 못했다는 것을 의미한다.이것은 우리가 바라는 것이다. 왜냐하면 우리는 단지 데이터가 없는 표를 만들었을 뿐이기 때문이다.
엔드포인트에서 요청 받기:
/items
새 프로젝트를 만들려면 끝점
/items
에서 POST 요청을 실행합니다.두 항목을 더 만들겠습니다.
단일 항목을 가져오려면 get 요청을 보내서 검색할 항목
id
을 /items
경로의 끝에 추가하십시오.예를 들어 /items/2
id=2의 항목을 검색합니다.(이 요청의 주체를 개의치 마라. 그것은 지난post 요청의 주체이다.)
기존 항목을 업데이트하려면 PUT 요청을 실행합니다.url에서 수정할 항목의 id를 지정하고 요청 본문에 새 항목의 id를 지정합니다.
만약 우리가 다시 프로젝트 2를 얻으려고 시도한다면, 업데이트된 프로젝트를 받을 것입니다.
마지막으로 기존 항목을 삭제합니다. 예를 들어 id=3의 항목을 삭제합니다. 경로
/items/3
에서 삭제 작업을 수행할 수 있습니다.만약 우리가 다시 모든 항목을 얻으려고 시도한다면, 우리는 단지 두 개만 얻을 수 있다.
TablePlus를 사용한 최종 테스트:
GitHub 저장소(지점: 로컬 박사 후): https://github.com/tinystacks/aws-docker-templates-flask.git
TinyStacks를 사용하면 추상적이거나 비천한 DevOps 작업 없이 팀을 더욱 빠르게 구축할 수 있습니다.
수표TinyStacks
비디오 버전:
Reference
이 문제에 관하여(AWS의 플라스크 때 API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tinystacks/flask-crud-api-on-aws-257n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)