마이크로서비스
API는 마이크로서비스의 프런트 도어입니다. 즉, API는 프로그래밍 방식 인터페이스 세트(일반적으로 REST
마이크로서비스 구현
AWS는 마이크로서비스의 개발을 지원하는 빌딩 블록을 통합했습니다. 인기 있는 두 가지의 접근 방식은 AWS Lambda
AWS Lambda를 사용할 경우 코드를 업로드하기만 하면 뛰어난 가용성으로 실제 수요 변화에 맞춰 서비스를 실행하고 확장하는 데 필요한 모든 작업을 Lambda에서 자동으로 처리합니다. 인프라 관리가 필요하지 않습니다. Lambda는 여러 프로그래밍 언어를 지원하며 다른 AWS 서비스에서 호출되거나 웹 또는 모바일 애플리케이션에서 직접 호출될 수 있습니다. AWS Lambda의 가장 큰 장점 중 하나는 비즈니스 환경의 변화에 신속하게 대응할 수 있다는 점입니다. 즉, AWS에서 보안과 확장이 관리되므로 고객은 비즈니스 로직에 집중할 수 있습니다. Lambda만의 편향적 접근 방식 덕분에 확장성이 뛰어난 플랫폼이 실현됩니다.
배포와 관련한 운영 작업의 부담을 줄이는 일반적인 접근 방식은 컨테이너 기반 배포입니다. Docker
AWS Fargate는 Amazon ECS와 Amazon EKS 모두에서 작동하는 컨테이너용 서버리스 컴퓨팅 엔진입니다. Fargate를 사용하면 컨테이너 애플리케이션을 위한 충분한 컴퓨팅 리소스 프로비저닝에 대해 더 이상 걱정할 필요가 없습니다. Fargate는 수만 개의 컨테이너를 시작하고 사용자의 작업에 매우 중요한 애플리케이션의 실행을 위해 쉽게 확장할 수 있습니다.
Amazon ECS는 컨테이너 배치 전략과 작업 배치와 종료 방식을 사용자 지정 가능한 제약 조건을 지원합니다. 작업 배치 제약 조건은 작업 배치 시에 고려되는 규칙입니다. 기본적으로 키-값 페어인 속성을 컨테이너 인스턴스에 연결한 다음 제약 조건을 사용하여 이 같은 속성을 기준으로 작업을 배치할 수 있습니다. 예를 들어 제약 조건을 사용하여 GPU로 구동되는 인스턴스와 같은 인스턴스 유형 또는 인스턴스 기능을 기준으로 특정 마이크로서비스를 배치할 수 있습니다.
Amazon EKS는 오픈 소스 Kubernetes 소프트웨어의 최신 버전을 실행하므로 Kubernetes 커뮤니티의 모든 기존 플러그 인과 도구를 사용할 수 있습니다. Amazon EKS에서 실행되는 애플리케이션은 온프레미스 데이터 센터 혹은 공공 클라우드에서 실행되는 모든 표준 Kubernetes 환경에서 실행되는 애플리케이션과 완전하게 호환됩니다. Amazon EKS는 IAM을 Kubernetes와 통합하여 사용자가 Kubernetes의 기본 인증 시스템이 포함되어 있는 IAM 엔터티에 등록할 수 있도록 해줍니다. Kubernetes 제어 영역으로 인증하기 위해 수동으로 자격 증명을 설정할 필요가 없습니다. IAM 통합에서는 IAM을 사용하여 제어 영역 자체로 직접 인증하고 Kubernetes 제어 영역의 퍼블릭 엔드포인트를 세부적으로 제어할 수 있습니다.
Amazon ECS 및 Amazon EKS에서 사용하는 Docker 이미지는 Amazon Elastic Container Registry
지속적 통합 및 지속적 전달(CI/CD)은 DevOps 이니셔티브의 모범 사례이자 가장 중요한 부분으로, 시스템 안전성과 보완성을 유지하면서 소프트웨어를 신속하게 변경할 수 있습니다. 그러나 이는 본 백서의 범위를 벗어납니다. 자세한 내용은 AWS에서의 지속적 통합 및 지속적 전달 적용 백서를 참조하세요.
프라이빗 링크
AWS PrivateLink
프라이빗 링크는 마이크로서비스 아키텍처의 격리 및 보안을 강화하는 좋은 방법입니다. 예를 들어 마이크로서비스는 완전히 분리된 VPC에 배포되고, 로드 밸런서가 앞에 배치되고, AWS PrivateLink 엔드포인트를 통해 다른 마이크로서비스에 노출될 수 있습니다. 이 설정에서는 AWS PrivateLink를 사용하여 마이크로서비스와 주고받는 네트워크 트래픽이 퍼블릭 인터넷을 통과하지 않습니다. 이러한 격리의 한 가지 사용 사례에는 PCI, HIPPA 및 EU/US US Privacy Shield와 같은 민감한 데이터를 처리하는 서비스에 대한 규정 준수가 포함됩니다. 또한 AWS PrivateLink에서는 방화벽 규칙, 경로 정의 또는 라우팅 테이블 없이도 여러 계정과 Amazon VPC에 걸쳐 서비스를 연결할 수 있으므로 네트워크 관리가 간소화됩니다. PrivateLink를 활용하여 서비스형 소프트웨어(SaaS) 제공업체 및 ISV는 완벽한 운영 격리 및 보안 액세스를 갖춘 마이크로서비스 기반 솔루션을 제공할 수 있습니다.