Elastic network interfaces | Cloud Native Viet
Elastic Network Interface là một thành phần mạng logic trong VPC đại diện cho một card mạng ảo. Nó có thể bao gồm
các thuộc tính sau:
- Địa chỉ primary private IPv4 từ dãy địa chỉ IPv4 của VPC
- Một hoặc nhiều địa chỉ secondary private IPv4 từ dãy địa chỉ IPv4 của VPC
- Một địa chỉ Elastic IP (IPv4) trên mỗi địa chỉ private IPv4
- Một địa chỉ public IPv4
- Một hoặc nhiều địa chỉ IPv6
- Một hoặc nhiều security group
- Địa chỉ MAC
- Cờ kiểm tra nguồn/đích
- Mô tả
Ta có thể TẠO và cấu hình các network interface trong tài khoản của mình và đính kèm chúng vào các instance trong VPC.
Tài khoản của ta cũng có thể có các network interface do người yêu cầu quản lý (requester-managed), được tạo và quản lý
bởi các dịch vụ AWS để cho phép ta sử dụng các tài nguyên và dịch vụ khác. Ta không thể tự quản lý các network interface
này. Để biết thêm thông tin, hãy xem
Requester-managed network interface
Tài nguyên AWS này được gọi là network interface trong AWS Management Console và Amazon EC2 API. Do đó, AWS sử dụng
“network interface” trong tài liệu này thay vì “Elastic Network Interface”. Thuật ngữ “network interface” trong
tài liệu này luôn có nghĩa là “Elastic network interface”.
Mục Lục
Cơ bản về Network Interface
Ta có thể TẠO một network interface, gắn nó vào một instance, tách (detach) nó ra khỏi một instance và gắn nó vào một
instance khác. Các thuộc tính của network interface vẫn dính liền với nó khi nó được gắn (attach) vào hoặc tách ra
(detach) khỏi một instance và được gắn lại (reattach) vào một instance khác. Khi di chuyển một network interface
từ instance này sang instance khác, network traffic sẽ được chuyển hướng đến instance mới.
Primary network interface
Mỗi instance có một network interface mặc định, được gọi là primary network interface. Ta KHÔNG thể tách (detach)
primary network interface ra khỏi một instance. Ta có thể tạo và đính kèm các network interface bổ sung. Số lượng
network interface tối đa mà ta có thể sử dụng là khác nhau tùy theo instance type. Để biết thêm thông tin, hãy xem
địa chỉ IP trên mỗi network interface cho mỗi instance type
Địa chỉ public IPv4 cho network interface
Trong VPC, tất cả các subnet đều có thuộc tính có thể chỉnh sửa để xác định xem các network interface được tạo ra
trong subnet đó (và do đó các instance được khởi chạy vào subnet đó) có được gán địa chỉ public IPv4 hay không.
Để biết thêm thông tin, hãy xem hành vi đánh địa chỉ IP cho subnet trong Hướng dẫn sử dụng Amazon VPC. Địa chỉ public IPv4 được gán từ nhóm (pool)
địa chỉ public IPv4 của Amazon. Khi khởi chạy một instance, địa chỉ IP được gán cho primary network interface được tạo ra.
Khi tạo một network interface, nó sẽ kế thừa thuộc tính đánh địa chỉ public IPv4 từ subnet. Nếu sau đó ta CHỈNH SỬA
thuộc tính đánh địa chỉ public IPv4 của subnet, network interface sẽ GIỮ LẠI thiết lập đã từng có hiệu lực khi
nó được tạo. Nếu khởi chạy một instance và chỉ định một network interface hiện có làm primary network interface
thì thuộc tính địa chỉ public IPv4 được xác định bởi network interface này.
Để biết thêm thông tin, hãy xem Địa chỉ public IPv4 và DNS hostname bên ngoài
Địa chỉ Elastic IP cho network interface
Nếu có địa chỉ Elastic IP, ta có thể liên kết nó với một trong các địa chỉ private IPv4 cho network interface.
Ta có thể liên kết một địa chỉ Elastic IP với mỗi địa chỉ private IPv4
Nếu ta tách (disassociate) địa chỉ Elastic IP khỏi network interface, ta có thể giải phóng nó trở lại nhóm (pool)
địa chỉ. Đây là cách duy nhất để liên kết địa chỉ Elastic IP với một instance trong subnet hoặc VPC khác, vì
network interface là cụ thể cho subnet
Địa chỉ IPv6 cho network interface
Nếu liên kết các IPv6 CIDR block với VPC và subnet của mình, ta có thể gán một hoặc nhiều địa chỉ IPv6 từ dãy subnet
cho network interface. Mỗi địa chỉ IPv6 có thể được gán cho một network interface
Tất cả các subnet đều có thuộc tính có thể chỉnh sửa để xác định xem các network interface được tạo trong subnet đó
(và do đó các instance được khởi chạy vào subnet đó) có được tự động gán địa chỉ IPv6 từ dãy địa chỉ của subnet đó
hay không. Để biết thêm thông tin, hãy xem hành vi đánh địa chỉ IP cho subnet trong Hướng dẫn sử dụng Amazon VPC. Khi khởi chạy một instance, địa chỉ IPv6
được gán cho primary network interface được tạo ra.
Để biết thêm thông tin, hãy xem địa chỉ IPv6
Hành vi Terminate
Ta có thể thiết lập hành vi kết thúc (termination) cho một network interface được gắn với một instance.
Ta có thể chỉ định xem có nên tự động xóa network interface khi kết thúc instance mà nó được đính kèm hay không.
Kiểm tra Nguồn/Đích
Ta có thể bật hoặc tắt kiểm tra nguồn/đích, điều này đảm bảo rằng instance là nguồn hoặc đích của bất kỳ traffic
nào mà nó nhận được. Kiểm tra nguồn/đích được bật theo mặc định. Ta phải TẮT kiểm tra nguồn/đích nếu instance chạy
các dịch vụ như NAT, routing hoặc firewall
Giám sát IP traffic
Ta có thể bật VPC flow log trên network interface của mình để bắt (capture) các thông tin về IP traffic đến và đi
từ một network interface. Sau khi đã tạo flow log, ta có thể xem và lấy về dữ liệu của nó trong Amazon CloudWatch Logs.
Để biết thêm thông tin, hãy xem VPC flow log trong
Hướng dẫn sử dụng Amazon VPC.
Network Card
Các instance có nhiều card mạng sẽ cung cấp hiệu năng mạng cao hơn, bao gồm khả năng băng thông trên 100 Gbps và
hiệu năng tốc độ gói được cải thiện. Mỗi network interface được gắn với một card mạng. Primary network interface
phải được gán cho card mạng có index là 0
Nếu bật Elastic Fabric Adapter (EFA) khi khởi chạy instance hỗ trợ nhiều card mạng thì tất cả các card mạng
đều khả dụng. Ta có thể chỉ định tối đa một EFA cho mỗi card mạng. EFA được tính là một network interface.
Các instance sau hỗ trợ nhiều card mạng. Tất cả các instance type khác đều hỗ trợ một card mạng.
Instance type
Số network cards
dl1.24xlarge
4
p4d.24xlarge
4
Địa chỉ IP cho từng Network Interface của từng Instance Type
Bảng sau liệt kê số lượng network interface tối đa cho mỗi instance type và số lượng địa chỉ private IPv4
và địa chỉ IPv6 tối đa trên mỗi network interface. Giới hạn cho địa chỉ IPv6 khác với giới hạn cho địa chỉ
private IPv4 trên mỗi network interface. Không phải tất cả các instance type đều hỗ trợ địa chỉ IPv6.
Instance type | Số network interfaces tối đa | Địa chỉ Private IPv4 từng interface | Địa chỉ IPv6 từng interface
a1.medium | 2 | 4 | 4
a1.large | 3 | 10 | 10
a1.xlarge | 4 | 15 | 15
a1.2xlarge | 4 | 15 | 15
a1.4xlarge| 8 | 30 | 30
a1.metal | 8 | 30 | 30
c1.medium | 2 | 6 | IPv6 not supported
c1.xlarge | 4 | 15 | IPv6 not supported
… | … | … | …
Tham khảo thêm: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
Ta có thể sử dụng lệnh AWS CLI describe-instance-types
để hiển thị thông tin về một instance type, chẳng hạn như các network interface được hỗ trợ và địa chỉ IP
trên mỗi interface. Ví dụ sau hiển thị thông tin này cho tất cả các C5 instance
$ aws ec2 describe-instance-types --filters "Name=instance-type,Values=c5.*" --query "InstanceTypes[].{Type: InstanceType, MaxENI: NetworkInfo.MaximumNetworkInterfaces, IPv4addr: NetworkInfo.Ipv4AddressesPerInterface}" --output table
---------------------------------------
| DescribeInstanceTypes |
+----------+----------+---------------+
| IPv4addr | MaxENI | Type |
+----------+----------+---------------+
| 30 | 8 | c5.4xlarge |
| 50 | 15 | c5.24xlarge |
| 15 | 4 | c5.xlarge |
| 30 | 8 | c5.12xlarge |
| 10 | 3 | c5.large |
| 15 | 4 | c5.2xlarge |
| 50 | 15 | c5.metal |
| 30 | 8 | c5.9xlarge |
| 50 | 15 | c5.18xlarge |
+----------+----------+---------------+
Làm việc với Network Interface
Tham khảo thêm: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#working-with-enis
Link gốc