앱에 사용할 AWS VPC 수를 결정하는 기준은 무엇입니까? VPC 간 트래픽과 VPC 내 트래픽

앱에 사용할 AWS VPC 수를 결정하는 기준은 무엇입니까? VPC 간 트래픽과 VPC 내 트래픽

애플리케이션 호스팅을 위해 하나의 VPC와 다수의 VPC를 사용하는 것과 관련하여 무엇이 모범 사례를 구성하는지에 대한 구체적인 지침을 찾을 수 없는 것 같습니다. 이것링크주제를 다루었지만 꽤 오래되었고 실제로 답변을 제공하지 않습니다.

저는 현재 약 50개의 앱과 2개의 데이터베이스 팜(SQL Server 및 Oracle)으로 구성된 기존 호스팅 환경을 AWS로 마이그레이션하는 작업을 진행하고 있습니다. 총 자산은 약 250대의 Windows 서버입니다. 현재 각 앱은 기본적으로 자체 /24 서브넷에 위치합니다.

저는 각 앱과 데이터베이스 팜이 자체 AWS 계정과 VPC 모두에 위치해야 한다는 지시를 받았는데 이 접근 방식이 현명한 것인지 잘 모르겠습니다. 특히 데이터베이스에서 앱을 분리하는 부분입니다.

제가 덜 걱정하는 계정은 청구 문제에 더 가깝기 때문입니다. 그러나 VPC에 관한 한 나는 다음과 같은 차이점을 이해하려고 노력하고 있습니다.

  1. 1개의 VPC 내에서 전체 환경을 복제하는 것과 비교
  2. 동일한 수의 앱/서버를 호스팅하기 위해 50개의 VPC를 도입합니다.

(1)과 (2) 사이에서 결정하거나 중간에 절충할 때 고려해야 할 사항은 무엇입니까? AWS 문서를 살펴봤지만 이 주제에 대한 명확한 조언을 찾을 수 없습니다.

제가 보기에 주요 차이점은 네트워크 트래픽이 모두 VPC 내부와 VPC 간 사이에 있다는 것입니다. 이는 다음을 의미합니다.

  • 이제 VPC 간 트래픽 비용과 VPC 내 트래픽 비용은 발생하지 않으므로 추가 비용이 발생합니다.
  • 피어링 또는 전송 게이트웨이와 같은 VPC 간 메커니즘을 선택, 설정 및 관리해야 한다는 점에서 몇 가지 추가적인 복잡성이 있습니다.

그러나 위의 어느 것도 어떤 방식으로든 일을 해야 하는 명확한 이유는 아닙니다. 예를 들어 50개의 VPC는 ​​꽤 많은 수이지만 문제의 숫자는 피어링의 한도 내에 있습니다.

고려해야 할 다른 사항이 있나요?

  • Intra VPC 트래픽과 Inter VPC 트래픽 등의 성능 특성은 어떻습니까?

기타 고려사항:

  • 충돌을 방지하려면 CIDR 블록을 VPC 전체에서 관리해야 합니다.
  • 피어링의 최대 MTU는 1500바이트입니다.
  • 기본적으로 VPC 간 트래픽은 암호화되지 않습니다.
  • DNS 합병증.

도움을 주셔서 감사합니다.

답변1

보다AWS 랜딩 존그리고AWS 컨트롤 타워모범 사례를 위해.

저는 몇 가지 엔터프라이즈 AWS 네트워크를 설계했으며, 요청하는 영역에 대한 워크로드가 많을 때 일반적인 권장 사항은 다음과 같습니다(랜딩 존 설계에 대한 전체 권장 사항은 고객을 위해 제가 운영하는 2일 워크숍입니다).

  • 애플리케이션당, 환경당 하나의 계정(예: app1에는 dev, pre-prod 및 prod에 대한 계정이 있고 app2에는 자체 계정이 있습니다.)
  • 앱 서버, 데이터베이스 서버 등과 같은 각 애플리케이션의 모든 리소스는 해당 계정에 들어갑니다. 계정 간에 앱 서버와 데이터베이스를 분할하면 실질적인 이점 없이 비용만 증가합니다.
  • 공유 서비스 계정은 대부분의 애플리케이션에 필요한 AD,
  • 보안 계정은 경비 업무, 보안 장비 등을 마스터해야 합니다.
  • 통신을 위한 전송 게이트웨이 및 온프레미스 연결(네트워크 문제 해결)
  • 온프레미스, AD 서비스, Azure AD 등 원하는 디렉터리 서버에 페더레이션
  • 높은 수준의 권한을 위한 서비스 제어 정책과 IAM 역할을 갖춘 AWS 조직을 사용하여 사용자가 원하는 작업만 수행하도록 허용합니다. 즉, 보안 서비스를 비활성화하거나 인터넷 게이트웨이 또는 VPN과 같은 경계 항목을 변경하지 못하게 합니다.
  • 사용을 고려해보세요공유 VPC대역폭 비용을 줄이기 위해 - 하지만 조심하세요. 까다로운 주제입니다.

이렇게 하면 격리가 잘되고 폭발 반경이 낮아지지만 계정이 150개이므로 적절한 자동화가 필요합니다. 계정은 청구 및 VPC를 위한 컨테이너일 뿐입니다. 예, 대역폭에 대해 더 많은 비용을 지불합니다.

대역폭 비용을 줄이기 위한 대안은 모든 것을 하나의 VPC에 담는 것입니다. 이로 인해 격리, 제어 및 폭발 반경이 문제가 됩니다.

답변2

또한 내 제품의 경우 prod env 백업을 위해 별도의 고도로 잠긴 계정을 사용합니다. (RDS, S3 등) 및 prod가 실행되는 다른 지역에 있습니다. 잠금 계정의 재해 복구 테스트는 백업이 작동하는지 확인하기 위해 15일마다 수행됩니다!

관련 정보