저는 미러링된 환경을 배포하기 위한 몇 가지 좋은 패턴과 안티 패턴을 찾고 있습니다(단순화를 위해 EC2 인스턴스, 꽤 일반적인 설정인 RDS 및 S3 버킷을 예로 들겠습니다). 이 작업을 수백 번, 심지어 수천 번 수행해야 한다고 가정해 보겠습니다. 나는 다음과 같은 몇 가지 아이디어를 생각해 보았습니다.
다중 계정 - 단일 목적 - 모든 지역 사용
- 지역당 하나의 VPC 인스턴스를 배포하고 해당 지역에 서비스 세트를 배포합니다.
- 좋습니다. 격리를 보장하며
noisy neighbors
TF 모듈이나 CloudFormation 템플릿이 복잡하지 않습니다. - 나쁘다, 끔찍한 경영상의 악몽
단일 계정 - 다목적
- VPC를 여러 서브넷으로 분할하고 서브넷 그룹별로 리소스를 배포합니다.
- 좋음, 관리가 더 쉽고, 더 적은 비용으로 더 많은 것을 얻을 수 있음
- 좋지 않습니다. 지역당 20개의 서브넷(16개 지역 * 20)으로 소프트 제한되어 있으며 이웃에 잡음이 있을 가능성이 있고 네트워킹이 결국 스파게티처럼 될 수 있습니다.
나는 이것을 수행하는 더 많은 방법과 그것이 왜 나쁘거나(기술적 부채, 유지 관리 불가능) 좋은지(쉽게 재사용 가능 등)를 찾고 있습니다.
대단히 감사합니다
답변1
따라서 이 매우 복잡한 주제에 대해 말할 수 있는 몇 가지 일반적인 사항은 실제로 달성하려는 목표에 따라 많이 달라집니다.
세 가지 옵션이 있습니다:
단일 VPC - 대규모 서브넷의 단일 세트 - 귀하의 예에서는 4 - 2개의 '퍼블릭' 서브넷과 2개의 '프라이빗' 서브넷이 됩니다. 그런 다음 보안 그룹을 사용하여 '배포'를 격리합니다. IP 주소 공간과 많은 서브넷을 관리해야 하는 것 외에는 분리를 위해 서브넷을 사용하는 것에는 이점이 없습니다. 궁극적으로 서브넷 간의 유일한 차이점은 일반적으로 AZ/route-table/nacl/dhcp-options입니다. 변경 사항 중 하나가 있는 경우에만 새 서브넷을 사용하십시오. 서브넷 자체에는 '시끄러운 이웃' 문제가 발생하지 않습니다. 이는 고전적인 'vlan' 의미의 레이어 2 도메인이 아니며 업스트림 인터넷 게이트웨이는 다음과 같이 제한 없이 수평으로 확장 가능합니다.Amazon VPC FAQ
다중 VPC - 단일 계정이 있는 경우 한 지역에 여러 VPC를 가질 수 있습니다. 소프트 한도는 5개의 VPC이지만 하드 최대값은 다음과 같습니다.
해당 지역의 VPC 수에 VPC당 보안 그룹 수를 곱한 값은 10000을 초과할 수 없습니다.
귀하의 예에서는 4개의 보안 그룹(ELB, EC2 ASG, RDS, 관리자 액세스)이 있을 수 있으므로 이론적으로 2,500개의 VPC가 있다고 말할 수 있습니까? 그런 사람이 있다는 말은 들어본 적이 없지만 선택 사항일 수 있습니다.
그러나 플랫폼의 자동 확장 가능 여부에 따라 고려해야 할 또 다른 사항은 일부 제한이 계정 전체에 적용되며 한 배포에 대해 해당 제한에 도달하면 다른 배포에 영향을 미칠 수 있다는 것입니다. 예를 들어 단순히 특정 유형의 인스턴스 수 또는 Lambda 동시 사용이 가능합니다. 실행 제한. 그러면 세 번째 옵션이 나옵니다...
여러 계정 - 이제 AWS Organizations API 덕분에 API를 통해 새 계정을 생성할 수 있습니다. 하지만 한도 페이지에는 안타깝게도 계정 수 측면에서 한도가 무엇인지가 모호하게 나와 있습니다. 1000개의 계정을 보유한 대기업에 대해 들어본 적이 있습니다. 보다:AWS 조직의 한계그리고AWS Organizations를 사용하여 엔드 투 엔드 계정 생성을 자동화하는 방법
전반적으로 사용 사례에 따라 배포, 운영 및 지원의 일관성을 위해 최소한의 변형으로 완전히 재사용할 수 있는 깔끔한 CloudFormation 스택이 필요합니다. 나에게 이는 배포 단위인 VPC 또는 배포 단위인 계정을 가리킵니다. 두 경우 모두 한계를 주의 깊게 관찰해야 합니다. 큰 서브넷이 있거나 서브넷별로 분할된 VPC 내에서 작업을 수행하면 궁극적으로 유지 관리가 지저분해질 것입니다. 주관적인 견해입니다.