AWS Nitro Architecture Flashcards
What are the components of the Nitro Architecture?
Nitro Architecture is a system with three main components:
a) Nitro Cards (a family of cards for different functions).
b) Nitro Security Chip
c) Nitro Hypervisor
What are the different types of Nitro Cards?
Four different types of cards:
a) VPC Data Plane - ENA PCIe controller
b) NVMe PCIe Contoller -EBS Data Plane
c) NVMe PCIe Contoller - Transparent Encryption; instance storage
d) Nitro Controller - Root of Trust
What is NVMe?
NVMe = Non-Volatile Memory Express
What does the Nitro VPC Card do?
Key components are:
- ENA Driver (support for multiple OSs and network speeds).
- Responsible for the VPC Data Plane
- Encapsulation
- Security Groups implemented in the card.
What does the Nitro EBS Card do?
- NVMe storage device
- Network attached storage (receives requests from VMs on the host and turns them into requests on the network)
- Supports encryption in HW (hence no tradeoff for performance vs security).
- Remote storage protocol (e.g. over fabric - appears that AWS uses proprietary protocols under the hood).
What does the Nitro Instance Store Card do?
- Provides access to local storage at very high data rates
- Does drive monitoring - i.e. the NVMe storage tends to wear out with time and performance tends to drop.
- Physical SSDs are on the same platform as the VMs.
What does the Nitro Controller Card do?
System Control
- Talks to the EC2 Control Plane (when a customer runs a “LaunchInstance” API call, that call eventually makes its way to a Nitro Controller card.
- Provides passive API endpoint
- Coordinates all other nitro cards
- Coordinates with the hypervisor and security chip
- Hardware root of trust (measurements and attestations).
What does the Nitro Security Chip do?
- Custom micro-controller; sits in front of all the buses to non-volatile memory; traps I/O; ensures that it is in a state that is deired.
- Controlled by Nitro Controller
- Provides HW-based root of trust.
- Because it sits in front of every bus on the motherboard, it is able to trap writes to devices - even on bare metal instances.
What is the Nitro Hypervisor?
- KVM-based hypervisor; no SSH capability is supported.
- Quiescent - does nothing by itself, acts only when requested by instance.
How are updates to Nitro done?
Updates to the Nitro Cards and Hypervisors are done safely.
No impact to customer instances.