BLOG
네트워킹은 SaaS(Software-as-a-Service) 솔루션을 설계 및 구축하는 팀에게 있어 항상 인기있는 주제가 되진 않습니다. 대신 네트워킹은 종종 시스템 아키텍처의 기본 요소로 간주됩니다.
실제로 SaaS 애플리케이션의 네트워킹 공간이 SaaS 환경의 기능, 확장성 및 관리 프로파일에 영향을 줄 수 있는 시나리오가 많이 있습니다.
개발자가 Amazon Web Service(AWS) 네트워킹 구성을 활용하여 SaaS 솔루션을 개선하는 데에는 많은 창의적인 방법이 있지만 AWS PrivateLink 의 도입으로 SaaS 네트워킹 환경에 새로운 기회가 추가되었습니다. PrivateLink는 설계자에게 SaaS 환경과의 통합에 대한 완벽한 경험을 제공하여 새로운 모델과 사고 방식을 통해 SaaS 애플리케이션에 안전한 진입점을 노출할 수 있습니다.
오늘 메가존 테크블로그에서는 PrivateLink 모델의 세부 사항을 살펴보고 PrivateLink가 SaaS 솔루션의 아키텍처, 통합 모델 및 규정 준수 공간에 영향을 줄 수 있는 영역을 식별해 보겠습니다.
AWS PrivateLink 스토리
AWS PrivateLink의 가치 제안을 이해하려면 먼저 도입에 영향을 준 몇 가지 기본 사항을 검토해야합니다. AWS에서 실행되는 애플리케이션의 공통 네트워크 구성을 살펴 보겠습니다. 그림 1 은 Amazon Virtual Private Cloud (Amazon VPC) 에서 호스팅되는 Amazon EC2 (Amazon Elastic Compute Cloud )인스턴스에서 서비스가 실행되는 간단한 사례를 나타냅니다 .
그림 1 – 인터넷 게이트웨이 또는 VPC 엔드 포인트로 AWS 서비스에 액세스
이 예는 애플리케이션 서비스가 AWS 관리 서비스(이 예에서는 Amazon Simple Storage Service 또는 Amazon S3)에 액세스해야하는 일반적인 시나리오를 나타냅니다. AWS는 이러한 서비스에 대한 두 가지 경로를 제공합니다.
일반적으로 VPC 내에서 Amazon S3에 액세스하려면 이는 VPC의 일부가 아니기 때문에 인터넷 게이트웨이를 통과하여 Amazon S3에 액세스해야 합니다. AWS 서비스에 액세스하기 위해 인터넷을 통과해야 하는 방법은 그다지 최선의 방법은 아니었고 이러한 이유로 궁극적으로 AWS 네트워크를 떠나지 않고도 VPC에서 Amazon S3와 같은 서비스에 연결할 수있는 VPC 엔드 포인트가 도입되었습니다.
그림 1 의 다이어그램은 이 두 가지 액세스 시나리오를 보여줍니다. 상단에 VPC 라우터가 인터넷 게이트웨이를 통해 인터넷으로 트래픽을 보내는 위치를 확인할 수 있습니다. 여기에서 Amazon S3에 액세스할 수 있습니다. 여기서 다이어그램의 맨 아래에 있는 대체 경로는 VPC 엔드 포인트 사용을 보여줍니다. VPC 엔드 포인트가 Amazon S3에 의해 노출되면 서비스는 AWS 네트워크를 떠나지 않고도 Amazon S3 서비스와 직접 상호 작용할 수 있습니다.
VPC 엔드포인트를 한 단계 끌어 올리기
엔드 포인트는 AWS 개발자에게 중요한 문제를 해결했습니다. 또한 개발자에게 완전히 새로운 가능성을 열어주는 통합 모델에 노출 시켰습니다. 엔드 포인트를 통해 개발자는 보다 완벽한 모델로 서비스를 노출하고 액세스하는 가치를 보았습니다. 그들이 이 구성의 힘을 보고 자신의 서비스에 액세스 할 수 있도록 동일한 메커니즘을 어떻게 활용할 수 있는지 궁금해하는 것은 당연한 일이었습니다.
개발자가 엔드 포인트 모델을 사용하여 자체 VPC에 진입점을 생성 할 수 있으면 환경 내에서 애플리케이션 서비스를 안전하게 노출하기위한 새로운 전략을 지원할 수 있습니다.
물론 이것이 바로 AWS PrivateLink라는 이름의 도입을 주도한 사고 방식입니다. 이 네트워킹 구성은 VPC 엔드 포인트의 기능을 확장하는 데 중점을 두므로 개발자는 VPC 엔드 포인트를 통해 기본 서비스를 노출할 수 있습니다. 그림 2 는 샘플 PrivateLink 구현을 개략적으로 보여줍니다.
그림 2 – VPC 엔드 포인트를 통한 기본 서비스 노출
그림 2 에서 다이어그램 오른쪽에 자체 VPC에 호스팅 된 SaaS 솔루션이 있음을 알 수 있습니다. 이 VPC 내에서 SaaS 제공자는 제공자의 SaaS 솔루션의 다양한 기능과 논리를 구현하는 다양한 서비스를 호스팅합니다.
본 예제에서는 이러한 서비스에는 공급자가 자체 VPC에서 실행되는 소비자 (종종 다른 비즈니스)가 사용할 수 있는 기능이 포함되어 있다고 가정해 보겠습니다. 이러한 서비스를 공개하고 싶지만 공용 인터페이스에 의존하지 않고 이를 달성하려 한다고 말이죠. 대신, 모든 트래픽이 AWS 네트워킹 인프라의 범위 내에서 유지되는 것을 선호합니다. 이는 공용 인터넷을 통해 트래픽을 요구하지 않고 SaaS 제공 업체와 통합하는 것을 선호하는 SaaS 소비자에게도 중요합니다.
이제 PrivateLink가 문제 해결의 중심에 있습니다. PrivateLink를 사용하면 서비스 앞에 NLB (Network Load Balancer)를 배치하고 VPC 엔드 포인트를로드 밸런서에 연결할 수 있습니다. 이 구성은 공용 네트워크를 건드리지 않고 액세스 할 수 있는 개인 IP 주소를 엔드 포인트에 할당합니다. 실제로 이러한 엔드 포인트는 마치 소비자 VPC에 직접 있는 것처럼 보입니다.
PrivateLink는 여러 시나리오에서 장점이 있지만 SaaS 조직에 특히 중요합니다. SaaS 제공 업체는 PrivateLink를 통해 이 네트워킹 구성을 사용하여 솔루션의 아키텍처 및 비즈니스 모델을 향상시키고 확장 할 수 있는 새롭고 창의적인 기회를 보게 됩니다. 다음 섹션에서는 SaaS 제공 업체가 자사 제품에 PrivateLink를 사용하는 일반적인 방법 중의 하나를 다루어 보겠습니다.
타사 통합 활성화
많은 SaaS 제공 업체는 AWS에서도 호스팅되는 타사 솔루션과의 통합을 지원합니다. 대부분의 경우 SaaS 제공 업체는 타사 통합을 통해 제품의 기능과 가치 제안을 확장하고 있습니다. 물론 PrivateLink가 없다면 이러한 통합을 해결한다는 것은 시스템이 모두 동일한 AWS 인프라에 상주하는 경우에도 이러한 시스템간에 퍼블릭 네트워크 경로를 노출하는 것을 의미했습니다.
PrivateLink는 이러한 통합의 위험과 효율성을 줄여 SaaS 환경을 연결하기위한 보다 자연스럽고 안전한 메커니즘을 제공합니다. 여러 측면에서 다른 SaaS 공급자의 기능을 사용하는 것은 AWS 네트워크에서 다른 기본 서비스를 사용하는 것과 같습니다. 실제로, AWS Marketplace 에서 검증 및 게시된 PrivateLink 기반 솔루션은 화이트리스트에 올라 다른 AWS 서비스와 함께 콘솔에 표시 될 수 있습니다.
그림 3 은 SaaS 제공자가 타사 통합을 가능하게하기 위해 사용할 수 있는 통합 모델의 상위 레벨 보기를 제공합니다.
그림 3 – AWS PrivateLink를 사용하여 SaaS 통합 촉진
여기에는 세 가지 SaaS 통합의 예가 있습니다. 왼쪽의 첫 번째 SaaS 제공자는 PrivateLink를 사용하여 다른 SaaS 솔루션 (SaaS 솔루션 2)과의 통합을 작성했습니다. 이 공급 업체는 자체 SaaS 공급 업체 (SaaS 솔루션 3)와 자체 통합에 의존했습니다.
표면적으로, 이것은 기념비적인 성취로는 보이지 않을 수 있습니다. 확실히 SaaS 제공 업체는 PrivateLink가 도입되기 훨씬 전에 통합 모델을 개발해 왔습니다. 여기서 새로운 점은 이러한 통합이 공용 네트워크 노출에 의존하지 않고 달성되고 있다는 것입니다. AWS 네트워크 인프라의 경계에 머물면서 얻게 되는 모든 혜택을 통해 더욱 원활하게 통합됩니다.
통합을 위해 PrivateLink를 사용함으로써 접근성을 제어하고 제한하기위한 모든 AWS 지원 메커니즘을 상속합니다. SaaS 제공자는 당사자 간의 연결을 열기 전에 두 당사자의 동의가 필요하도록 엔드 포인트를 구성할 수 있습니다. 이러한 추가 제어 수준은 다중 테넌트 SaaS 환경에서 필수적이며, 어떤 형태의 크로스 테넌트가 리소스에 액세스하지 못하도록 하는가에 대한 프리미엄이 있습니다.
AWS Marketplace를 통한 마찰없는 온보딩
SaaS 애플리케이션에 PrivateLink 지원을 추가 한 후에는 이 옵션의 가용성을 잠재 고객과 고객에게 홍보하려고 합니다. AWS Marketplace는 그러한 vehicle만 제공합니다. 다른 SaaS 제공 업체와 함께 AWS Marketplace에 SaaS 솔루션을 나열하여 이 옵션을 홍보하고 새로운, 잠재적으로 예상치 못한 비즈니스 관계를 추진할 수 있는 능력을 향상시킬 수 있습니다.
AWS Marketplace를 통해 PrivateLink 통합의 프로비저닝 및 구성을 간소화 할 수 있는 마찰 없는 경험을 만들 수 있습니다. 실제로 PrivateLink를 사용하는 SaaS 제공 업체는 자체 DNS 이름을 사용하여 엔드 포인트 이름을 브랜드화하고 단순화 할 수 있습니다. 보다 자세히 알아보시려면 AWS Marketplace의 PrivateLink를 확인해 주십시오.
온-프레미스 통합
일부 SaaS 제공 업체는 애플리케이션의 일부가 온-프레미스로 호스팅되는 하이브리드 전송 모델을 사용합니다. 이러한 특성의 솔루션을 구현하는 것은 도전적이고 SaaS 아키텍처의 민첩성을 저해할 수 있습니다. 이 모델을 지원하는 데 사용되는 네트워크 구성은 SaaS 환경에 복잡한 계층을 추가할 수도 있습니다.
PrivateLink는 이러한 환경의 복잡성을 크게 줄이는 새로운 옵션을 제공합니다. 그림 4 는 PrivateLink를 사용하여 부분적인 온-프레미스 설치 공간에 의존하는 SaaS 솔루션의 네트워킹 모델을 단순화하는 방법을 보여줍니다.
그림 4 – AWS PrivateLink를 사용하여 온 프레미스 환경에서 서비스에 액세스
SaaS 제공자는 AWS에서 실행중인 제공자 애플리케이션의 일부인 서비스 모음을 가지고 있음을 알 수 있습니다. 이는 클라우드에서 제품의 특정 기능만 호스팅한 시나리오를 나타낼 수 있습니다. 또는 시스템이 현재 애플리케이션 환경에서 AWS와 온 프레미스 환경으로 분리된 전환 상태 일 수 있습니다.
이 모델의 장점은 PrivateLink가 이러한 특성을 비교적 간단하게 통합 할 수 있다는 것입니다. AWS 환경에 노출 된 서비스는 온 프레미스 환경에서 일류 시민으로 참여할 수 있어 많은 복잡성을 제거하고 통합의 기본을 간소화합니다.
테넌트 VPC를 위한 제어 평면
일부 SaaS 제공 업체는 사일로 모델이라고하는 솔루션을 제공합니다. 사일로 환경에서 각 SaaS 테넌트는 자체 전용 인프라 스택을 사용하여 자체 VPC에 프로비저닝 및 배포됩니다. 이 모델은 종종 특정 규제 또는 도메인 고려 사항의 부산물입니다.
사일로 환경 관리 및 운영은 특히 어려울 수 있습니다. 궁극적으로 모든 개별 VPC를 포괄하는 단일 컨트롤 플레인을 사용하여 테넌트를 위한 단일 운영 및 관리 환경을 제공하고자 합니다. 일부는 보안 그룹, IP 제한 및 VPC의 공개 접근성을 제어하는 기타 수단의 조합을 통해 이 문제를 해결했습니다.
다른 이들은 이러한 요구를 해결하기 위해 VPC 피어링에 의존했습니다. 그러나 이는 테넌트 VPC의 IP 주소 지정 체계에 복잡성을 추가합니다. 두 전략 모두 유효합니다. 그들은 단순히 추가적인 수준의 관리와 예측을 요구합니다.
상상할 수 있듯이 PrivateLink는 다중 VPC 환경 관리를 위한 강력한 대안입니다. 그림 5 는 이 컨트롤 플레인이 PrivateLink로 구현되는 방법을 개략적으로 보여줍니다.
그림 5 – AWS PrivateLink를 사용하여 다중 VPC 컨트롤 플레인 구축
여기서 오른쪽에는 개별 테넌트 VPC를 나타내는 다이어그램에 두 개의 VPC가 도입되었음을 알 수 있습니다. 이제 이러한 테넌트 환경을 관리하고 구성할 수 있도록 관리 서비스를 호스팅하는 별도의 VPC를 만들었습니다(왼쪽). 이 관리 서비스는 PrivateLink를 사용하여 각 테넌트 VPC 환경에서 관리 작업을 호출합니다. AWS 네트워크를 떠나지 않고도 이 모든 것을 달성하여 환경의 관리 프로파일에 효율성과 제어 계층을 추가합니다.
이 모델은 VPC 피어링과 관련된 많은 문제를 확실히 극복합니다. 또한 VPC에 공개 진입 점을 노출시키는 메커니즘에 비해 보안 임계 값이 높은 경향이 있습니다.
컴플라이언스 풋 프린트 개선
규정 준수는 많은 SaaS 공급자, 특히 외부 환경과 상호 작용해야하는 통합 또는 상호 작용에 의존하는 많은 SaaS 공급자에게 중요한 과제입니다. 이러한 솔루션의 경우 공용 네트워크 경로를 통해 데이터를 이동하려는 시도는 신중하게 조사해야 합니다. 이 작업을 수행하기 위해 SaaS 제공자는 종종 도메인의 준수 요구 사항을 충족시키기 위해 다양한 보안 조치 (키, 암호화 등)를 사용합니다.
PrivateLink는 엄격한 설치 공간을 가진 SaaS 솔루션에 적합합니다. PrivateLink 엔드 포인트를 통과하는 모든 트래픽은 AWS 네트워크에 남아 있으므로 이 트래픽은 AWS에서 이미 지원하는 보안 및 규정 준수 기능을 상속합니다. 이를 통해 솔루션은 PCI-DSS, HIPAA, GLBA 및 FISMA와 같이 AWS에서 직접 지원하는 규정 준수 모델을 피기백할 수 있습니다.
이러한 준수 고려 사항은 다른 SaaS 공급 업체와 생성 할 수 있는 통합에 즉각적인 가치를 추가 할 수 있습니다. 이러한 추가 수준의 규정 준수 및 보안은 제품과의 통합을 촉진하고 이전에는 고려하지 않았던 새로운 통합을 유도 할 수 있습니다.
비용 모델
PrivateLink의 통합 모델을 고려할 때이 경험의 일부로 비용을 관리하는 방법도 고려해야합니다. PrivateLink를 사용하면 솔루션에 엔드 포인트를 추가하는 비용이 특정 소비자와 PrivateLink 엔드 포인트 사이의 새로운 통합을 가능하게하는 비용과 별도로 간주됩니다. PrivateLink 엔드 포인트에 대한 각 개별 연결에는 자체 비용이 발생합니다.
이 비용 모델은 SaaS 제공 업체에게 흥미로운 질문을 제기합니다. 예를 들어 SaaS 테넌트가 통합을 요청하면 이러한 비용을 통합을 활성화 한 테넌트로 직접 전달할 수 있습니다. SaaS 제공 업체가 테넌트의 이러한 비용에 대한 인식을 제한하려는 시나리오도 있습니다. 이 모델에서 SaaS 공급자는 자신의 계정을 사용하여 연결을 프로비저닝하고 이를 AWS 비용의 일부로 흡수해야 합니다.
여기서 핵심은 이 비용 모델을 설계에 반영해야한다는 것입니다. 이러한 비용을 테넌트에게 투명하게 만들려면 이것이 전체 SaaS 계층화 및 비용 모델에 어떤 영향을 줄 수 있는지 결정해야합니다.
단방향 흐름
위에서 설명한 시나리오를 살펴보면 각 다이어그램이 네트워크 흐름을 PrivateLink 지원 서비스에 대한 단방향 경로로 나타냅니다. 이것은 PrivateLink의 목표를 달성하기위한 의도적이고 기본입니다. 그러나 고려중인 일부 통합 패턴은 양방향 통합 모델에 의 할 수 있다는 점에 유의해야합니다.
시작하기
이 글을 통해 AWS PrivateLink가 SaaS 솔루션의 아키텍처 및 통합 모델에 영향을 줄 수 있는 주요 영역에 대한 정보를 얻을 수 있기를 바랍니다. PrivateLink의 단순성, 보안, 성능 및 규정 준수 측면은 AWS에서 SaaS 솔루션을 발견하고 통합하기위한 새로운 모델을 열어줍니다.
일부의 경우 PrivateLink는 기본적인 통합 및 관리 문제를 해결합니다. 다른 경우에는 이전에는 달성 할 수 없었던 다른 SaaS 제품과의 통합을 구축하기 위해보다 매력적인 모델을 만들 수 있는 기회가 될 수도 있습니다.
AWS SaaS Factory 정보
AWS SaaS Factory 는 AWS 파트너 네트워크 (APN) 파트너에게 SaaS 제공 모델 채택을 가속화하고 안내하는 데 도움이 되는 리소스를 제공합니다. SaaS Factory에는 AWS에서 SaaS 솔루션을 구축하기위한 다음과 같은 참고 아키텍처가 포함되어 있습니다. (AWS의 주요 워크로드에 대한 배포를 자동화하는 빠른 시작, AWS에서 SaaS 비즈니스를 구축하기위한 독점적인 교육 기회)
SaaS 솔루션을 개발하는 APN 기술 파트너라면 본 프로그램에 참여할 것을 권장 드립니다.
원문 URL: https://aws.amazon.com/ko/blogs/apn/enabling-new-saas-strategies-with-aws-privatelink/
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.