Punto final de interfaz | Puerta de enlace de tránsito | Interconexión de VPC | Route 53 | Entre cuentas | Costo y seguridad
En AWS, la esencia de "compartir un punto final de VPC entre diferentes VPC" no es simplemente adjuntar un punto final directamente a varias VPC, sino más bien:
Centralice los puntos finales de la interfaz VPC en una única VPC de servicios centrales/compartidos y, a continuación, permita que otras VPC accedan a la IP privada de este punto final a través de una puerta de enlace de tránsito o un emparejamiento de VPC, utilizando Route 53 para unificar el DNS.
AWS se refiere oficialmente a este modelo como... Centralized access to VPC private endpoints。
Pero primero, es fundamental distinguirlos. Interface Endpoint y Gateway Endpoint。
En primer lugar, expongamos la conclusión más importante.
Supongamos que actualmente tienes:
VPC-A
VPC-B
VPC-C
Las tres VPC necesitan:
SSM
EC2 API
ECR
CloudWatch
KMS
Secrets Manager
STS
...
Tienes dos diseños.
Opción A: Cada VPC crea su propio punto final.
VPC-A
├─ SSM Endpoint
├─ EC2 Endpoint
├─ ECR Endpoint
├─ Logs Endpoint
└─ KMS Endpoint
VPC-B
├─ SSM Endpoint
├─ EC2 Endpoint
├─ ECR Endpoint
├─ Logs Endpoint
└─ KMS Endpoint
VPC-C
├─ SSM Endpoint
├─ EC2 Endpoint
├─ ECR Endpoint
├─ Logs Endpoint
└─ KMS Endpoint
Este es el diseño más simple y aislado.
Sin embargo, el número de puntos finales aumentará rápidamente.
Por ejemplo:
10 VPC × 20 puntos finales de servicio de AWS × 2 zonas de disponibilidad = 400 ENI de punto final
El punto final de la interfaz se basa en Punto final × Zona de disponibilidad × HoraHay una tarifa, más una tarifa de procesamiento de datos.
Por lo tanto, a medida que aumenta la escala, los costos y el mantenimiento aumentarán significativamente.
II. Arquitectura del punto final de VPC centralizado
Establecer un:
Network VPC / Shared Services VPC
Todos los puntos finales se encuentran aquí.
Por ejemplo:
AWS Services
│
PrivateLink
│
┌───────────────────┐
│ Network VPC │
│ 10.0.0.0/16 │
│ │
│ SSM Endpoint │
│ KMS Endpoint │
│ ECR Endpoint │
│ Logs Endpoint │
│ STS Endpoint │
│ Secrets Endpoint │
└─────────┬─────────┘
│
Transit Gateway
┌─────────┼─────────┐
│ │ │
│ │ │
VPC-A VPC-B VPC-C
10.10/16 10.20/16 10.30/16
entonces:
EC2 en VPC-A ↓ ssm.ap-northeast-1.amazonaws.com ↓ Ruta 53 ↓ Se resuelve en la IP privada del punto final de SSM en la VPC compartida ↓ Puerta de enlace de tránsito ↓ Interfaz del punto final ENI ↓ AWS PrivateLink ↓ SSM
AWS ofrece soporte oficial para este diseño centralizado.
III. Una excepción particularmente importante: S3 / DynamoDB
Esto debe discutirse por separado.
Los puntos finales de la puerta de enlace no se pueden compartir de esta manera.
S3 y DynamoDB tienen:
Gateway VPC Endpoint
Por ejemplo:
com.amazonaws.ap-northeast-1.s3
com.amazonaws.ap-northeast-1.dynamodb
Es completamente diferente de un punto final de interfaz normal.
Gateway Endpoint:
- No utilice PrivateLink.
- No cree ENI
- Básicamente, es una combinación de tabla de rutas y lista de prefijos administrada por AWS.
- gratis
- Solo puede ser utilizado por la VPC en la que reside.
AWS ha declarado oficialmente:
Los puntos finales de puerta de enlace no pueden extenderse más allá de la VPC; los recursos del otro extremo de una VPC Peering, Transit Gateway, VPN o Direct Connect no pueden tomar prestados recursos de este punto final de puerta de enlace.
Por lo tanto, no debe diseñarse de la siguiente manera:
VPC-A ──TGW── Shared VPC ── S3 Gateway Endpoint
A continuación, queremos que VPC-A utilice el punto final de puerta de enlace S3 de la VPC compartida.
No.
IV. Prácticas correctas para S3 / DynamoDB
Normalmente debería ser:
VPC-A → Su propio punto final de puerta de enlace S3 VPC-B → Su propio punto final de puerta de enlace S3 VPC-C → Su propio punto final de puerta de enlace S3
porque:
Los puntos finales de la puerta de enlace no tienen costo adicional.
Por lo tanto, no es necesario centralizar el punto final de la puerta de enlace S3 para "reducir el número de puntos finales".
recomendar:
S3
↑ ↑ ↑
│ │ │
GW EP GW EP GW EP
│ │ │
VPC-A VPC-B VPC-C
y:
SSM
KMS
STS
ECR
ECR Docker
CloudWatch
CloudWatch Logs
Secrets Manager
SNS
SQS
etc.
Estos Interface VPC Endpoint Eso es lo que hace que la centralización sea adecuada.
5. ¿Por qué se puede utilizar Interface Endpoint en diferentes VPC?
Porque un punto final de interfaz es esencialmente:
Cree una ENI con una dirección IP privada en la subred que haya especificado.
Según la documentación oficial de AWS, un punto final de interfaz crea una interfaz de red de punto final en la subred que elijas y le asigna una dirección IP privada a esa subred.
Por ejemplo:
Shared VPC
10.0.0.0/16
AZ-a:
Endpoint ENI
10.0.10.50
AZ-c:
Endpoint ENI
10.0.20.60
Para la otra VPC, siempre que:
VPC-A → Puede enrutar a 10.0.10.50
y:
El grupo de seguridad 10.0.10.50 permite VPC-A
En realidad, la red ya puede acceder al punto final.
Por lo tanto, el llamado:
Punto final de VPC compartido
Lo que realmente sucedió fue:
Otras VPC ↓ Red entre VPC ↓ Acceso a la interfaz de red de punto final de la VPC central
No:
Un dispositivo vpce-xxx puede conectarse a tres VPC simultáneamente.
Se trata de dos conceptos completamente diferentes.
VI. Tres métodos prácticos de implementación
En realidad, se puede dividir en tres tipos.
| método | Nivel de recomendación | Adecuado |
|---|---|---|
| Transit Gateway | ⭐⭐⭐⭐⭐ | VPC multi-VPC a gran escala |
| VPC Peering | ⭐⭐⭐⭐ | De 2 a 5 VPC |
| Utilice el DNS del punto final directamente. | ⭐⭐⭐ | Prueba/Aplicación especial |
| Punto final independiente por VPC | ⭐⭐⭐⭐⭐ | Priorizar el aislamiento, a pequeña escala |
VII. Método 1: Puerta de enlace de tránsito + Punto final central
Esta es la solución más común para entornos empresariales.
Suponiendo que se trate de la región de Tokio:
ap-northeast-1
red:
Network VPC
10.0.0.0/16
App VPC-A
10.10.0.0/16
App VPC-B
10.20.0.0/16
App VPC-C
10.30.0.0/16
Arquitectura:
AWS SSM
▲
│
PrivateLink
│
SSM Interface EP
10.0.10.50
10.0.20.50
│
┌─────────────────┐
│ Network VPC │
│ 10.0.0.0/16 │
└────────┬────────┘
│
TGW
┌──────────┼──────────┐
│ │ │
VPC-A VPC-B VPC-C
10.10/16 10.20/16 10.30/16
Transit Gateway (TGW) está diseñado por AWS para el enrutamiento centralizado a través de múltiples VPC y admite el enrutamiento transitorio; AWS también recomienda priorizar TGW para redes multi-VPC a gran escala.
VIII. Procedimientos operativos específicos
A continuación se detalla la configuración real.
Paso 1: Crear una VPC de red
Por ejemplo:
VPC:
shared-endpoint-vpc
CIDR:
10.0.0.0/16
Dos AZ:
ap-northeast-1a
Endpoint subnet:
10.0.10.0/24
ap-northeast-1c
Endpoint subnet:
10.0.20.0/24
Se recomienda tener al menos 2 AZ.
9. Paso 2: Crear una puerta de enlace de tránsito
VPC Console:
Transit Gateways
→ Create transit gateway
Por ejemplo:
Name:
core-tgw
Luego, cree un archivo adjunto de VPC:
core-tgw
│
├─ shared-endpoint-vpc
├─ app-vpc-a
├─ app-vpc-b
└─ app-vpc-c
Si tienes diferentes cuentas de AWS, también puedes compartir Transit Gateway a través de AWS RAM. AWS admite oficialmente el uso compartido de TGW entre cuentas.
10. Paso 3: Configurar la tabla de rutas de VPC
Suposición:
Shared VPC:
10.0.0.0/16
VPC-A:
10.10.0.0/16
VPC-B:
10.20.0.0/16
VPC-A:
Destination Target
10.10.0.0/16 local
10.0.0.0/16 tgw-xxxxxxxx
VPC-B:
Destination Target
10.20.0.0/16 local
10.0.0.0/16 tgw-xxxxxxxx
Shared Endpoint VPC:
Destination Target
10.0.0.0/16 local
10.10.0.0/16 tgw-xxxxxxxx
10.20.0.0/16 tgw-xxxxxxxx
De lo contrario, ocurrirá lo siguiente:
VPC-A → Endpoint
Puedes ir, pero:
Endpoint → VPC-A
No pueden regresar.
11. Paso 4: Configurar la tabla de rutas TGW
TGW Route Table:
10.0.0.0/16
→ shared-endpoint-vpc attachment
10.10.0.0/16
→ VPC-A attachment
10.20.0.0/16
→ VPC-B attachment
10.30.0.0/16
→ VPC-C attachment
Si no existe una necesidad especial de aislamiento de red, se puede utilizar la propagación de rutas.
El entorno corporativo suele estar dividido de la siguiente manera:
Spoke TGW RT
Shared Services TGW RT
Inspection TGW RT
Evite permitir que todas las VPC se comuniquen entre sí de forma predeterminada.
12. Paso 5: Crear punto final de interfaz
Por ejemplo, si es necesario compartir:
AWS Systems Manager
crear:
VPC
→ Endpoints
→ Create endpoint
Service:
com.amazonaws.ap-northeast-1.ssm
VPC:
shared-endpoint-vpc
Subnets:
ap-northeast-1a
10.0.10.0/24
ap-northeast-1c
10.0.20.0/24
De este modo, surge lo siguiente:
vpce-0123456789
ENI-A:
10.0.10.50
ENI-C:
10.0.20.50
Decimotercero, y lo más importante: No habilite directamente el DNS privado.
Cuando una VPC normalmente utiliza su propio punto final:
Enable Private DNS
✓
Muy conveniente.
Por ejemplo, originalmente:
ssm.ap-northeast-1.amazonaws.com
Se analizará automáticamente en:
10.0.10.50
10.0.20.50
El SDK de AWS no requiere absolutamente ninguna modificación.
Sin embargo, la arquitectura centralizada tiene un problema.
El DNS privado crea automáticamente una zona privada alojada administrada por AWS, que solo funciona dentro de la VPC donde reside el punto final.
por lo tanto:
Shared VPC
Saber:
ssm.ap-northeast-1.amazonaws.com
=
10.0.10.50
pero:
VPC-A
VPC-B
No sé.
Por lo tanto, la arquitectura oficial de punto final central de AWS recomienda:
En el escenario de punto final central, desactive el DNS privado automático para el punto final y, a continuación, cree manualmente la zona alojada privada de Route 53.
14. Paso 6: Crear una zona privada alojada de Route 53
crear:
Route 53
→ Hosted zones
→ Create hosted zone
Domain:
ssm.ap-northeast-1.amazonaws.com
Type:
Private Hosted Zone
Primero, asocia:
shared-endpoint-vpc
15. Paso 7: Crear alias
Ingresar:
ssm.ap-northeast-1.amazonaws.com
Create record。
Record:
ssm.ap-northeast-1.amazonaws.com
Type:
A
elegir:
Alias
Selección de objetivos:
VPC Endpoint
Entonces:
vpce-0123456789...
La solución oficial de punto final central de AWS es:
AWS Service DNS
↓
Route53 PHZ
↓
Alias
↓
Central Interface Endpoint
En lugar de hacer que la aplicación utilice manualmente la IP del punto final.
16. Paso 8: Asociar PHZ con todas las VPC.
Private Hosted Zone:
ssm.ap-northeast-1.amazonaws.com
Relacionado:
shared-endpoint-vpc
app-vpc-a
app-vpc-b
app-vpc-c
Una zona privada alojada en AWS Route 53 puede asociarse con varias VPC.
entonces:
VPC-A
implementar:
nslookup ssm.ap-northeast-1.amazonaws.com
conseguir:
10.0.10.50
10.0.20.50
VPC-B
mismo:
nslookup ssm.ap-northeast-1.amazonaws.com
También:
10.0.10.50
10.0.20.50
En este momento:
VPC-A
│
│ DNS
▼
ssm.ap-northeast-1.amazonaws.com
│
▼
10.0.10.50
│
▼
Transit Gateway
│
▼
Central VPC
│
▼
SSM VPC Endpoint
Con esto concluye la historia.
17. Paso 9: Grupo de seguridad de punto final
Este es el segundo error muy común.
El punto final ENI tiene un grupo de seguridad.
Por ejemplo:
endpoint-sg
Inbound:
HTTPS
TCP 443
Source:
10.10.0.0/16
10.20.0.0/16
10.30.0.0/16
Se puede hacer aún más fino.
Por ejemplo, solo:
10.10.10.0/24
10.20.20.0/24
Permitir el acceso al punto final.
Si el paso no está permitido aquí:
DNS OK
Routing OK
TGW OK
aún:
timeout
18. Flujo de datos final
Por ejemplo, EC2 en VPC-A:
aws ssm describe-instance-information \
--region ap-northeast-1
Solicitud de SDK:
https://ssm.ap-northeast-1.amazonaws.com
① DNS:
ssm.ap-northeast-1.amazonaws.com
↓
Route53 Private Hosted Zone
↓
10.0.10.50
② Routing:
EC2
10.10.1.50
↓
VPC-A route table
↓
10.0.0.0/16 → TGW
③ TGW:
10.0.10.50
↓
Shared VPC attachment
④ Shared VPC:
Endpoint ENI
10.0.10.50
⑤ Endpoint:
PrivateLink
↓
AWS SSM
Lo siguiente no es necesario durante todo el proceso:
Internet Gateway
NAT Gateway
Public IP
Esta es una de sus mayores ventajas. El propósito de PrivateLink es permitir el acceso a los servicios de AWS a través de una red privada sin necesidad de IGW, NAT ni direcciones IP públicas.
19. ¿Cómo gestionar múltiples puntos finales?
Supongamos que necesitas:
SSM
EC2 Messages
SSM Messages
KMS
CloudWatch
CloudWatch Logs
Secrets Manager
ECR API
ECR DKR
STS
Central VPC:
Network VPC
├─ vpce-ssm
├─ vpce-ssmmessages
├─ vpce-ec2messages
├─ vpce-kms
├─ vpce-monitoring
├─ vpce-logs
├─ vpce-secretsmanager
├─ vpce-ecr-api
├─ vpce-ecr-dkr
└─ vpce-sts
Route53:
ssm.ap-northeast-1.amazonaws.com
→ SSM Endpoint
ssmmessages.ap-northeast-1.amazonaws.com
→ SSM Messages Endpoint
ec2messages.ap-northeast-1.amazonaws.com
→ EC2 Messages Endpoint
kms.ap-northeast-1.amazonaws.com
→ KMS Endpoint
logs.ap-northeast-1.amazonaws.com
→ Logs Endpoint
secretsmanager.ap-northeast-1.amazonaws.com
→ Secrets Manager Endpoint
Entonces PHZ asocia simultáneamente:
VPC-A
VPC-B
VPC-C
VPC-D
...
Algunos servicios de AWS tienen estructuras DNS únicas, como los puntos de conexión ECR Docker/OCI. AWS también señala que algunos servicios pueden requerir alias comodín, por lo que no se puede asumir que todos los puntos de conexión tengan un único registro simple.
20. ¿Qué ocurre si se trata de cuentas de AWS diferentes?
Por ejemplo:
Network Account
111111111111
App Account A
222222222222
App Account B
333333333333
La arquitectura es perfectamente aceptable.
recomendar:
AWS Organizations
Network Account
├─ TGW
├─ Shared VPC
├─ Interface Endpoints
└─ Route53 PHZ
↓ AWS RAM
App Account A
└─ VPC-A
App Account B
└─ VPC-B
Se puede acceder a TGW a través de:
AWS Resource Access Manager
compartir.
Las asociaciones entre cuentas para las Zonas Privadas Alojadas son un poco más complicadas.
21. Asociación de PHZ entre cuentas
Por ejemplo:
Network Account:
PHZ Z123456
App Account:
VPC vpc-abcdef
Primero la cuenta de red:
aws route53 create-vpc-association-authorization \
--hosted-zone-id Z123456 \
--vpc VPCRegion=ap-northeast-1,VPCId=vpc-abcdef
Luego, Cuenta de la aplicación:
aws route53 associate-vpc-with-hosted-zone \
--hosted-zone-id Z123456 \
--vpc VPCRegion=ap-northeast-1,VPCId=vpc-abcdef
El proceso oficial de AWS para las zonas alojadas privadas entre cuentas es el siguiente:
PHZ Owner
↓
CreateVPCAssociationAuthorization
VPC Owner
↓
AssociateVPCWithHostedZone
Además, esta operación entre cuentas no se puede completar únicamente utilizando la consola de Route 53; requiere CLI/API/SDK.
22. Método 2: Interconexión de VPC
Si solo tienes dos o tres VPC, no necesariamente necesitas un TGW.
Por ejemplo:
Central VPC
Endpoint VPC
10.0.0.0/16
/ \
/ \
Peering Peering
/ \
VPC-A VPC-B
10.10/16 10.20/16
Configuración:
VPC-A ↔ Central VPC
VPC-B ↔ Central VPC
Entonces:
VPC-A:
10.0.0.0/16
→ pcx-aaa
Central:
10.10.0.0/16
→ pcx-aaa
10.20.0.0/16
→ pcx-bbb
Endpoint SG:
443
10.10.0.0/16
443
10.20.0.0/16
DNS todavía:
PHZ
↓
Endpoint Alias
↓
associate VPC-A
associate VPC-B
23. El mayor inconveniente del Peering
él:
El enrutamiento transitivo no es compatible.
AWS lo ha dejado claro en comunicados oficiales.
Por ejemplo:
VPC-A
│
peering
│
Central
│
peering
│
VPC-B
Esto no puede utilizarse para concluir que:
A → Central → B
Es posible.
Por lo tanto, si:
2 VPC
3 VPC
Mirar de reojo es muy cómodo.
si:
20 VPC
50 VPC
100 VPC
Su mantenimiento será cada vez más difícil.
Por lo tanto, en términos generales:
Pequeño: Interconexión de VPC Grande: Puerta de enlace de tránsito
24. Método 3: Utilizar directamente el DNS del punto final.
También existe un método muy sencillo, especialmente adecuado para realizar pruebas.
Después de crear un punto final, AWS generará algo como esto:
vpce-0123456789abcdef-xxxx.ssm.ap-northeast-1.vpce.amazonaws.com
AWS creará nombres DNS regionales y de zona para el punto final de la interfaz.
Por lo tanto, siempre que la red VPC-A pueda alcanzar la VPC compartida, podrá hacerlo directamente:
aws ssm describe-instance-information \
--endpoint-url \
https://vpce-xxxx.ssm.ap-northeast-1.vpce.amazonaws.com
De esta forma, ni siquiera necesitas hacerlo tú mismo:
ssm.ap-northeast-1.amazonaws.com
Private Hosted Zone。
ventaja
Súper fácil.
Ideal para:
Validar enrutamiento, validar SG, validar TGW, validar punto final
defecto
Es necesario modificar la configuración de la aplicación.
original:
AWS SDK
↓
ssm.ap-northeast-1.amazonaws.com
Ahora se convierte en:
AWS SDK
↓
vpce-xxx....
Muchas aplicaciones no son fáciles de modificar de esta manera.
Por lo tanto, el entorno de producción es generalmente:
PHZ + Alias
mayoría.
25. La mayor ventaja del punto final centralizado
① Reducir significativamente el punto final
Suposición:
20 VPC
15 Interface Endpoints
2 AZ
Distributed:
20 × 15 × 2
=
600 Endpoint AZ instances
Centralización:
15 × 2
=
30
La diferencia es enorme.
26. Ventaja 2: Los costos pueden reducirse significativamente.
Punto final de interfaz recibido:
Endpoint/AZ/hour
+
Data Processing / GB
AWS PrivateLink cobra una tarifa por hora y zona de disponibilidad, además del procesamiento de datos. La tarifa base para el primer PB es de aproximadamente 0,009 €/GB; el precio por hora varía según la región.
Distributed:
VPC × Service × AZ × endpoint-hour
Central:
Service × AZ × endpoint-hour
+
TGW
Cuantas más VPC haya, más significativa será la diferencia en el número de puntos finales.
27. Pero TGW no es gratis.
Muchos diagramas arquitectónicos que se encuentran aquí ignoran deliberadamente este punto.
Transit Gateway recibió:
Tarifa horaria de adjunto + Procesamiento de datos / GB
AWS cobra oficialmente en función del número de horas de conexión y la cantidad de datos que fluyen a través del TGW.
Por lo tanto, lo que realmente debería calcularse es:
Punto final por VPC
Costo = Número de VPC × Número de puntos finales × Número de AZ × Datos de punto final por hora + PrivateLink
Centralized
Costo = Número de puntos finales × Número de AZ × Punto final por hora + conexión TGW por hora + procesamiento de datos TGW + procesamiento de datos PrivateLink + posibles datos entre AZ
entonces:
Si una empresa ya dispone de un TGW (Township Gateway), un punto final central suele ser una opción muy atractiva.
Pero si:
Solo hay 2 VPC, solo 3 puntos finales y ningún TGW.
Construir un TGW específicamente para ahorrar costos en los puntos finales puede no ser rentable.
28. El mayor inconveniente de Centralized: el radio de explosión.
Este es un tema muy importante.
resultan ser:
VPC-A → Endpoint-A
VPC-B → Endpoint-B
VPC-C → Endpoint-C
Existe un problema con el punto final A:
Solo A tiene un problema.
Centralización:
A ─┐
B ─┼→ Central Endpoint
C ─┘
Punto final central, enrutamiento de VPC compartida, DNS o configuración incorrecta de TGW:
A
B
C
D
E
...
Ambos podrían ser suspendidos.
entonces:
El coste de ahorrar dinero y gestionar los gastos supone un mayor impacto en las infraestructuras compartidas.
AWS también señala específicamente que un punto final centralizado puede ampliar el alcance de las políticas y las repercusiones en caso de fallos.
29. La política de puntos finales también se volverá más compleja.
Distributed:
Punto final de VPC de desarrollo → Permisos de desarrollo Punto final de VPC de producción → Permisos de producción Punto final de VPC de seguridad → Permisos de seguridad
Muy fácil de manejar.
Centralización:
Un punto final KMS para la monitorización de seguridad en entornos de desarrollo, producción y pruebas...
Todo compartido.
Endpoint Policy:
Principal
Resource
Action
Conditions
Se volverá cada vez más complicado.
AWS también ha emitido un recordatorio especial al respecto:
La centralización aumenta la dificultad de gestionar las políticas de privilegios mínimos para los puntos finales, y el alcance de una única política de punto final es mayor; además, el propio documento de política de punto final tiene limitaciones de tamaño.
30. El aislamiento por motivos de seguridad también es un problema.
Por ejemplo:
Production VPC
Development VPC
Todos los usos:
Central S3 Interface Endpoint
A pesar de:
IAM
Bucket Policy
Endpoint Policy
SG
Aún es posible controlar los permisos, pero los límites físicos/de red ya no son completamente independientes.
Por lo tanto, para entornos particularmente exigentes:
Herramientas de seguridad para la producción financiera PCI
Diseños posibles:
Prod Endpoint VPC
NonProd Endpoint VPC
En lugar de toda la empresa:
Una VPC de punto final
31. Estructura empresarial recomendada
No es que solo haya uno en toda la empresa, sino que:
AWS Services
│
┌─────────────┴──────────────┐
│ │
Prod Endpoint VPC NonProd Endpoint VPC
│ │
TGW TGW
┌────┼────┐ ┌────┼────┐
│ │ │ │ │ │
Prod Prod Prod Dev Test Sandbox
VPC1 VPC2 VPC3
incluso:
Security
Production
NonProduction
Cree una VPC de punto final compartido por separado.
De esta forma, podemos tener en cuenta ambos aspectos:
Gestión de costos Seguridad Aislamiento Radio de explosión
32. Otro problema muy práctico: los conflictos de DNS.
Por ejemplo, VPC-A ya tenía el suyo propio:
SSM Endpoint
Private DNS = Enabled
Entonces vuelves a asociar:
ssm.ap-northeast-1.amazonaws.com
Esta es la PHZ central.
Esto podría provocar conflictos en el espacio de nombres DNS.
Por lo tanto, la migración debería ser generalmente:
① Crear un punto final central ② Crear una pHZ central ③ Probar el DNS específico del punto final ④ Asociar la VPC de la red ⑤ Verificar el DNS ⑥ Eliminar el punto final propio de la VPC de la red ⑦ Verificar los servicios ⑧ Migrar a la siguiente VPC
En lugar de eliminarlos todos a la vez.
33. Es posible realizar operaciones entre regiones, pero no se recomienda su uso excesivo.
Por ejemplo:
Tokyo VPC
ap-northeast-1
Osaka VPC
ap-northeast-3
En teoría:
Tokyo VPC
↓
TGW
↓
TGW Peering
↓
Osaka
↓
Central Endpoint
AWS también ofrece una arquitectura de punto final centralizado entre regiones, a través de:
TGW Peering
+
Private Hosted Zones
lograr.
Sin embargo, generalmente se recomienda:
Tokyo Endpoint VPC
↓
Tokyo VPCs
Osaka Endpoint VPC
↓
Osaka VPCs
Es decir:
Una región, una VPC de punto final central.
entonces:
Menor latencia, red más simple, mejor aislamiento ante desastres, menores costos de tráfico entre regiones.
34. Comparación directa de cuatro opciones
| proyecto | Punto final por VPC | Peering Central | TGW Central | S3 Gateway |
|---|---|---|---|---|
| Número de punto final | mucho | pocos | pocos | por VPC |
| Costos de PrivateLink | alto | Bajo | Bajo | gratis |
| Costo de TGW | ninguno | ninguno | tener | ninguno |
| Gestión de DNS | Simple | medio | medio | Es muy sencillo. |
| complejidad de la red | más bajo | medio | medio | más bajo |
| VPC a gran escala | ❌ | ❌ | ✅ | ✅ |
| Aislamiento | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Blast Radius | Pequeño | medio | grande | Pequeño |
| Varias cuentas | Poder | Poder | Muy adecuado | Cada uno creado |
| Transitive Routing | N/A | ❌ | ✅ | N/A |
| Número recomendado de VPC | 1 a una pequeña cantidad | pequeña cantidad | Mediano y grande | cualquier |
35. Un diseño adecuado para entornos de gran escala.
Supongamos que la empresa tiene:
30 VPC, 5 cuentas de AWS, región de Tokio
Se puede establecer:
Network Account
│
├─ Transit Gateway
│
├─ Endpoint VPC
│ │
│ ├─ SSM
│ ├─ SSM Messages
│ ├─ EC2 Messages
│ ├─ ECR API
│ ├─ ECR DKR
│ ├─ STS
│ ├─ KMS
│ ├─ Secrets Manager
│ ├─ CloudWatch
│ ├─ CloudWatch Logs
│ ├─ SNS
│ └─ SQS
│
└─ Route53 Private Hosted Zones
Entonces:
Account A
├─ VPC1 ─┐
├─ VPC2 ─┤
└─ VPC3 ─┤
│
Account B│
├─ VPC4 ─┤
├─ VPC5 ─┤
└─ VPC6 ─┤
▼
TGW
│
▼
Endpoint VPC
│
▼
AWS PrivateLink
pero:
S3 Gateway Endpoint
DynamoDB Gateway Endpoint
Todavía se recomienda:
Creado por separado para cada VPC.
Dado que es gratuito, el propio Gateway Endpoint no se puede utilizar desde otras VPC a través de TGW/Peering.
36. Toda la arquitectura puede recordarse como 4 capas.
De hecho, cuando tengas que solucionar problemas en el futuro, solo tendrás que recordar estas cuatro capas:
┌─────────────────┐
│ DNS │
│ Route53 PHZ │
└────────┬────────┘
│
▼
Endpoint Private IP
│
┌────────┴────────┐
│ Routing │
│ TGW/Peering │
└────────┬────────┘
│
┌────────▼────────┐
│ Security │
│ Endpoint SG/NACL│
└────────┬────────┘
│
┌────────▼────────┐
│ IAM Policy │
│ Endpoint Policy │
│ Service Policy │
└─────────────────┘
Si no puede acceder, siga estos pasos:
① DNS
② Route
③ Security Group/NACL
④ IAM / Endpoint Policy
Mediante la investigación, generalmente se pueden encontrar los problemas.
La frase más memorable
Un punto final de VPC no se "comparte con varias VPC" a través de la RAM.
La naturaleza centralizada de los puntos finales de interfaz es:
Central VPC
↓
Interface Endpoint ENI
↑
TGW / VPC Peering
↑
Other VPCs
Aprobado de nuevo:
Route53 Private Hosted Zone
En todas las VPC:
ssm.ap-northeast-1.amazonaws.com
Todos fueron analizados y resultaron ser:
Central VPC Endpoint
Con esto finaliza todo el proceso. Shared/Centralized VPC Endpoint。
y No hagas esto con los puntos finales de puerta de enlace de S3/DynamoDB; crea el tuyo propio para cada VPC.Porque es gratuito y AWS prohíbe explícitamente su uso desde el otro extremo, como TGW o Peering.