Funcionamiento de la topología de Amazon EC2 - Amazon Elastic Compute Cloud

Funcionamiento de la topología de Amazon EC2

La red AWS está organizada en una jerarquía de capas. Las instancias de EC2 se conectan a la red en la tercera capa o por debajo de ella, según el tipo de instancia. La topología de una instancia se describe mediante un conjunto de nodos, con un nodo en cada capa de la red. El conjunto de nodos en la respuesta de la API DescribeInstanceTopology o DescribeCapacityReservationTopology ofrece una vista descendente de la jerarquía de la red, con el nodo inferior conectado a una instancia.

nota

Algunos tipos de instancias comprenden 4 nodos de red en un conjunto de nodos que representan 4 capas de la red, mientras que otros comprenden 3 nodos de red que representan 3 capas de la red. Para ver los tipos de instancias compatibles, consulte Tipos de instancias.

Según el tipo de reserva de capacidad, es posible que solo vea 1, 2 o 3 nodos de red.

En el siguiente diagrama, se proporciona una representación visual que se puede utilizar para comprender la topología de EC2. Los nodos de red se identifican como NN1NN7. Los valores i, ii y iii identifican las capas de red. Los números 1, 2, 3 y 4 identifican las instancias de EC2. Las instancias se conectan a un nodo de la capa inferior, identificado con iii en el siguiente diagrama. Se puede conectar más de una instancia al mismo nodo.

Representación gráfica de la topología de instancias.

En este ejemplo:

  • La instancia 1 se conecta al nodo de red 4 (NN4) en la capa iii. NN4 se conecta al nodo de red 2 (NN2) en la capa ii y NN2 se conecta al nodo de red 1 (NN1) en la capa i, que es la primera de la jerarquía de la red en este ejemplo. El conjunto de nodos de red comprende NN1, NN2 y NN4, expresados jerárquicamente desde las capas superiores a la inferior.

  • La instancia 2 también se conecta al nodo de red 4 (NN4). La instancia 1 y la instancia 2 comparten el mismo conjunto de nodos de red: NN1, NN2 y NN4.

  • La instancia 3 también se conecta al nodo de red 5 (NN5). NN5 se conecta a NN2 y NN2 se conecta a NN1. El conjunto de nodos de red para la instancia 3 es NN1, NN2 y NN5.

  • La instancia 4 se conecta al nodo de red 6 (NN6). Su conjunto de nodos de red es NN1, NN3 y NN6.

Al considerar la proximidad de las instancias 1, 2 y 3, las instancias 1 y 2 están más cerca unas de otras porque se conectan al mismo nodo de red (NN4), mientras que la instancia 3 está más alejada porque se conecta a un nodo de red diferente (NN5).

Al considerar la proximidad de todas las instancias de este diagrama, las instancias 1, 2 y 3 están más cerca unas de otras que de la instancia 4 porque comparten NN2 en su conjunto de nodos de red.

Como regla general, si el nodo de red conectado a dos instancias cualquiera es el mismo, estas instancias están físicamente cerca una de la otra, como ocurre con las instancias 1 y 2. Además, cuanto menor sea el número de saltos entre los nodos de red, más cerca estarán las instancias entre sí. Por ejemplo, las instancias 1 y 3 tienen menos saltos a un nodo de red común (NN2) que al nodo de red (NN1) que tienen en común con la instancia 4 y, por lo tanto, están más cerca unas de otras que de la instancia 4.

En este ejemplo, no hay instancias que se ejecuten en el nodo de red 7 (NN7) y, por lo tanto, la salida de la API no incluirá NN7.

Cómo interpretar la salida de DescribeInstanceTopology

Puede describir la topología de las instancias mediante la API DescribeInstanceTopology. La salida proporciona una vista jerárquica de la topología de red subyacente de una instancia.

El siguiente ejemplo de salida corresponde a la información de topología de red de las cuatro instancias del diagrama anterior. A los efectos de este ejemplo, se incluyen comentarios en la salida de ejemplo.

Es importante tener en cuenta la siguiente información de la salida:

  • NetworkNodes describe el conjunto de nodos de red de una única instancia.

  • En cada conjunto de nodos de red, los nodos de red se enumeran en orden jerárquico de arriba a abajo.

  • El nodo de red que está conectado a la instancia es el último nodo de red de la lista (la capa inferior).

  • Para determinar qué instancias están cerca unas de otras, primero busque los nodos de red comunes en la capa inferior. Si no hay nodos de red comunes en la capa inferior, busque nodos de red comunes en las capas superiores.

En la siguiente salida de ejemplo, i-1111111111example y i-2222222222example están ubicados más cerca uno del otro en comparación con las demás instancias de este ejemplo porque tienen el nodo de red nn-4444444444example en común en la capa inferior.

nota

La respuesta contiene 3 nodos de red o más. Para obtener información sobre la cantidad de nodos de red en la respuesta para cada tipo de instancia compatible, consulte Tipos de instancias.

{ "Instances": [ { "InstanceId": "i-1111111111example", //Corresponds to instance 1 "InstanceType": "p4d.24xlarge", "GroupName": "ML-group", "NetworkNodes": [ "nn-1111111111example", //Corresponds to NN1 in layer i "nn-2222222222example", //Corresponds to NN2 in layer ii "nn-4444444444example" //Corresponds to NN4 in layer iii - bottom layer, connected to the instance ], "CapacityBlockId": "null", "ZoneId": "usw2-az2", "AvailabilityZone": "us-west-2a" }, { "InstanceId": "i-2222222222example", //Corresponds to instance 2 "InstanceType": "p4d.24xlarge", "NetworkNodes": [ "nn-1111111111example", //Corresponds to NN1 - layer i "nn-2222222222example", //Corresponds to NN2 - layer ii "nn-4444444444example" //Corresponds to NN4 - layer iii - connected to instance ], "CapacityBlockId": "null", "ZoneId": "usw2-az2", "AvailabilityZone": "us-west-2a" }, { "InstanceId": "i-3333333333example", //Corresponds to instance 3 "InstanceType": "trn1.32xlarge", "NetworkNodes": [ "nn-1111111111example", //Corresponds to NN1 - layer i "nn-2222222222example", //Corresponds to NN2 - layer ii "nn-5555555555example" //Corresponds to NN5 - layer iii - connected to instance ], "CapacityBlockId": "null", "ZoneId": "usw2-az2", "AvailabilityZone": "us-west-2a" }, { "InstanceId": "i-444444444example", //Corresponds to instance 4 "InstanceType": "trn1.2xlarge", "NetworkNodes": [ "nn-1111111111example", //Corresponds to NN1 - layer i "nn-3333333333example", //Corresponds to NN3 - layer ii "nn-6666666666example" //Corresponds to NN6 - layer iii - connected to instance ], "CapacityBlockId": "null", "ZoneId": "usw2-az2", "AvailabilityZone": "us-west-2a" } ], "NextToken": "SomeEncryptedToken" }

Cómo interpretar la salida de DescribeCapacityReservationTopology

Puede describir la topología de la reserva de capacidad mediante la API DescribeCapacityReservationTopology. La salida proporciona una vista jerárquica de la topología de red subyacente de la capacidad reservada.

El siguiente ejemplo de salida corresponde a la información de topología de red del diagrama anterior. A los efectos de este ejemplo, se incluyen comentarios en la salida de ejemplo.

Es importante tener en cuenta la siguiente información de la salida:

  • NetworkNodes describe el conjunto de nodos de red de una única reserva de capacidad.

  • En cada conjunto de nodos de red, los nodos de red se enumeran en orden jerárquico de arriba a abajo.

  • El nodo de red que está conectado a la reserva de capacidad es el último nodo de red de la lista (la capa inferior).

  • Para determinar si las reservas de capacidad estarán cerca unas de otras, primero tiene que buscar los nodos de red comunes en la capa inferior de la salida. Si no hay nodos de red comunes en la capa inferior, busque nodos de red comunes en las capas superiores.

En el siguiente ejemplo de salida, cr-1111111111example se encuentra en nn-2222222222example y cr-2222222222example se encuentra en nn-3333333333example. Como las reservas de capacidad se encuentran en distintos nodos de red en layer ii, la comunicación entre las instancias de una reserva de capacidad y las instancias de la otra reserva de capacidad será ineficiente.

nota

La respuesta contiene 1, 2 o 3 nodos de red en función del tipo de reserva de capacidad.

{ "CapacityReservations": [ { "CapacityReservationId": "cr-1111111111example", "CapacityBlockId": "null", "State": "active", "InstanceType": "p4d.24xlarge", "NetworkNodes": [ "nn-1111111111example", //Corresponds to NN1 - layer i "nn-2222222222example" //Corresponds to NN2 - layer ii // Visibility of additional nodes requires an instance launch and // the DescribeInstanceTopology API ], "AvailabilityZone": "us-west-2a" }, { "CapacityReservationId": "cr-2222222222example", "CapacityBlockId": "null", "State": "active", "InstanceType": "trn1.2xlarge", "NetworkNodes": [ "nn-1111111111example", //Corresponds to NN1 - layer i "nn-3333333333example" //Corresponds to NN3 - layer ii // Visibility of additional nodes requires an instance launch and // the DescribeInstanceTopology API ], "AvailabilityZone": "us-west-2a" } ], "NextToken": "SomeEncryptedToken" }

Diferencias entre DescribeInstanceTopology y DescribeCapacityReservationTopology

En la siguiente tabla se comparan las principales diferencias entre las API DescribeInstanceTopology y DescribeCapacityReservationTopology:

Punto de comparación DescribeInstanceTopology DescribeCapacityReservationTopology
Fase de uso Tras la inicialización (modo de ejecución) Antes de la inicialización (modo de planificación y administración)
Finalidad principal Optimización de las cargas de trabajo en las instancias en ejecución

Planificación de la capacidad y administración de la reserva de capacidad (fusión, división, asignación) antes de la inicialización de la instancia

Número de nodos de red

Muestra todos los nodos de una instancia en ejecución. Si la instancia está en una reserva de capacidad, los primeros nodos coincidirán con la topología de reserva de capacidad correspondiente, seguidos de los nodos adicionales que se conectarán a la instancia.

Muestra un conjunto parcial de nodos, que varían según el estado (pending o active) y el tipo de la reserva de capacidad.*

Estado

Las instancias deben tener el estado running

Las reservas de capacidad deben tener el estado pending o active

Casos de uso
  • Optimización de la carga de trabajo

  • Ajuste del rendimiento

  • Análisis de la topología en tiempo de ejecución

  • Planificación de la capacidad

  • Administración de la reserva de capacidad (fusión/división/asignación)

  • Evaluación de la topología antes de la inicialización

* En el caso de los bloques de capacidad para Ultraservers, el conjunto de nodos de red es el mismo que al describir la topología de una reserva de capacidad active o su instancia en ejecución.