소개
이번 게시물에서는 AWS에 플라스크 침입 탐지 시스템을 배포한 내용을 요약해 보겠습니다.
참고: 이는 프로젝트 요약입니다. 프로젝트 배포를 위한 전체 단계별 프로세스에 액세스하려면 아래 링크를 클릭하세요
AWS ECS에 Flask 기반 침입 탐지 시스템 배포
빅터 ・ 11월 15일
#데브옵스
#파이썬
#AWS
#도커
프로젝트 아키텍처
여기서 AWS 아키텍처 다이어그램과 함께 프로젝트에 사용되는 AWS 서비스가 정의됩니다
AWS 아키텍처 다이어그램
배포 리소스
1.VPC
us-east-1 리전에 VPC를 만들었습니다
-
서브넷: VPC에 이어 두 개의 가용 영역에 4개의 서브넷을 만들었습니다.
- 퍼블릭 서브넷: 인터넷 연결 ALB(Application Load Balancer) 및 인터넷이 필요한 기타 리소스를 위해 us-east 1a 및 us-east 1b 가용 영역에 2개의 퍼블릭 서브넷을 만들었습니다.
- 프라이빗 서브넷: us-east 1a 및 us-east 1b 가용 영역에도 2개의 프라이빗 서브넷을 만들었지만 이번에는 ECS 서비스 작업을 위한 것입니다. 이는 더욱 안전한 아키텍처를 만듭니다.
-
인터넷 게이트웨이(IGW): 새로 생성된 VPC에는 연결된 VPC가 없으므로 IGW를 연결하고 이를 VPC의 라우팅 테이블에 추가하여 VPC 인터넷 액세스 권한을 부여했습니다.
2. VPC 엔드포인트
VPC 엔드포인트를 사용하면 프라이빗 서브넷의 ECS 작업이 특정 리소스에 액세스할 수 있습니다.
- ECR 및 Docker 엔드포인트: ECS 작업이 Docker 이미지를 가져올 수 있는지 확인하세요.
- CloudWatch 엔드포인트: 보안 로깅용.
- S3 게이트웨이 엔드포인트: 데이터 및 구성에 안전하게 액세스하세요.
3. 애플리케이션 로드 밸런서
- 리스너: ECS 대상 그룹으로 트래픽을 전달하도록 구성됩니다. 포트 80(HTTP)에서 수신합니다
- 대상 그룹: 프라이빗 서브넷의 ECS 작업으로 요청 라우팅
- ECS 작업 전체에 수신 트래픽을 분산합니다.
4. 탄력적 컨테이너 레지스트리(ECR)
이 서비스를 사용하여 Docker 이미지를 호스팅했습니다.
5. 탄력적 컨테이너 서비스(ECS)
- 작업 정의: 여기에서 Docker 컨테이너를 정의하고 필요한 리소스를 할당했습니다
- 서비스: Fargate 작업을 생성하고 로드 밸런서 뒤에서 확장합니다.
6. 53번 국도
- 애플리케이션 도메인에 대한 DNS 구성, 트래픽을 ALB로 라우팅하는 데 이 서비스를 사용했습니다.
직면한 과제와 솔루션
도전:
프라이빗 서브넷의 ECS 작업이 ECR용 Docker 이미지에 액세스할 수 없습니다
솔루션:
VPC 엔드포인트를 사용하여 프라이빗 서브넷의 ECS 작업이 ECR 저장소에 액세스할 수 있도록 했습니다.
향후 개선 사항
Code Pipeline과 Codebuild로 CI/CD 파이프라인을 생성하여 전체 배포를 자동화할 계획입니다.
읽어주셔서 감사합니다. 이와 같은 Cloud 및 DevOps 게시물을 더 보려면 제 프로필을 확인하세요
관련 링크
- 내 GitHub에서 프로젝트를 확인해 보세요.
VSI12
/
IDS-프로젝트
이것은 침입 탐지 시스템입니다
AWS에 침입 탐지 시스템 배포
사업개요
이 프로젝트에서는 docker를 사용하여 Flask 웹 애플리케이션을 구축 및 컨테이너화하고 이를 AWS에 배포하는 방법을 보여줍니다. 이 아키텍처는 다양한 AWS 아키텍처를 활용하여 안전하고 가용성이 높으며 내결함성 및 확장 가능한 빌드를 보장합니다.
건축
-
가상 사설 클라우드(VPC): 고가용성과 보안을 위해 두 개의 가용 영역에 걸쳐 퍼블릭 및 프라이빗 서브넷으로 구성됩니다.
-
Interget Gateway: VPC와 인터넷 간의 통신을 활성화합니다
-
VPC 엔드포인트: VPC 엔드포인트를 사용하면 프라이빗 서브넷의 ECS 작업이 특정 리소스에 액세스할 수 있습니다.
GitHub에서 보기
위 내용은 AWS ECS에 Flask 기반 침입 탐지 시스템 배포(프로젝트 요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!