Elastic IP là một địa chỉ IPv4 Public được AWS cấp phát cho tài khoản AWS sử dụng trong hạ tầng đám mây máy chủ ảo hoá EC2 AWS. Với địa chỉ Elastic IP này, máy chủ ảo Instance EC2 sẽ được liên kết sử dụng cho các hoạt động dịch vụ trên Internet thế giới thay vì IP Public mặc định khi khởi tạo Instance EC2 ban đầu.
Khi bạn đã sử dụng địa chỉ Elastic IP thì không một ai khác có thể sử dụng địa chỉ đó được nữa. Khi bạn cấp phát một địa chỉ Elastic IP, thì địa chỉ IP này sẽ liên kết sử dụng với tài khoản AWS của bạn. Nếu mà máy chủ ảo EC2 Instance của bạn không có địa chỉ public IPv4 thì bạn có thể liên kết sử dụng địa chỉ Elastic IP để giao tiếp các dịch vụ trên Instance với khắp Internet thế giới. Hiện tại AWS không hỗ trợ địa chỉ Elastic IPv6.
Sự khác nhau giữa địa chỉ IP Public khi khởi tạo EC2 Instance và Elastic IP
Khi bạn khởi tạo EC2 Instance bạn sẽ được Amazon Web Services cấp cho 1 địa chỉ IP Public để sử dụng mang tính tạm thời. Giúp bạn quản lý máy chủ ảo Instance qua hệ thống Internet. Khi mà bạn stop máy chủ ảo Instance xuống, thì khi bật lên lại bạn có khả năng sẽ được cấp một địa chỉ IP Public xa lạ khác được lấy ra từ pool địa chỉ IP của AWS. Trong tình huống bạn bật Instance lên và thấy địa chỉ IP Public cũ thì hoàn toàn là vấn đề ngẫu nhiên thôi.
Elastic IP là địa chỉ IPv4 được cấp phát và gắn kết sử dụng với tài khoản AWS của bạn. Elastic IP mang tính chất vĩnh viễn, tức khi đã cấp phát địa chỉ Elastic IP này thì bạn có thể tự do liên kết địa chỉ với các máy chủ ảo Instance để sử dụng. Ngay cả khi máy chủ ảo Instance đã stop thì sau khi bật lên hoạt động lại vẫn sẽ sử dụng tiếp Elastic IP.
Kiến thức cơ bản về Elastic IP
- Để sử dụng địa chỉ Elastic IP, trước tiên bạn thực hiện hành động cấp phát (allocate) một địa chỉ Elastic IP cho tài khoản AWS của bạn, sau đó thực hiện liên kết sử dụng địa chỉ Elastic IP đó với máy chủ ảo Instance hoặc card mạng Interface.
- Bạn có thể tách một địa chỉ IP Elastic từ một tài nguyên và kết nối lại nó với một tài nguyên khác.
- Một địa chỉ IP Elastic bị chia sẽ vẫn được cấp phát cho tài khoản của bạn cho đến khi bạn giải phóng (release) nó một cách rõ ràng.
- Để đảm bảo hiệu quả sử dụng địa chỉ Elastic IPv4, AWS áp đặt một khoản phí nhỏ hàng giờ nếu địa chỉ Elastic IP không được sử dụng (coi thêm ở phần kề).
- Mỗi địa chỉ Elastic IP chỉ dùng cho một khu vực (region) cụ thể.
Cách tạo 1 Elastic IP.
Để tạo 1 Elastic IP hãy vào Elastic IP -> Allocate Elastic IP address
Tại Public IPv4 address pool chọn Amazon’s pool of IPv4 addresses
Kéo xuống dưới bạn có thể gắn thêm các Tags và sau đó bấm Allocate.
Amazon sẽ tạo cho bạn 1 Elastic IP (3.135.16.8) như hình.
Giờ hãy chọn Elastic IP vừa tạo rồi vào Action -> Associate Elastic IP address để gắn Elastic IP này vào 1 Instances nào đó.
Bây giờ hãy chọn 1 Instances mà bạn muốn gắn Elastic IP này vào.
Kéo xuống dưới bấm chọn Allow this Elastic IP address to be reassociated và bấm Associate để kết thúc.
Sau khi gắn xong Elastic IP cho Instances bạn hãy vào Instances và kiểm tra Instances của bạn đã được gắn Elastic IP mới.
Bạn có thể sử dụng ssh để verify kết quả.
Lợi ích của việc sử dụng Elastic IP
- IP tĩnh và public: khác với IP Public thường khi khởi tạo Instance sẽ mất khi bạn stop Instance. Thì Elastic IP chỉ bị mất khi bạn giải phóng địa chỉ IP này. Nên hoàn toàn có thể thay thế vai trò của IP Public.
- Linh động: địa chỉ Elastic IP được cấp phát và sử dụng theo tài khoản AWS , chứ không phụ thuộc vào một máy chủ ảo EC2 Instance bất kì.
- Cân bằng tải/Fail-over: giả sử Server A của bạn đang sử dụng địa chỉ Elastic IP A và đang bị tải quá cao. Bạn phải mau chóng dựng lên một máy chủ ảo EC2 Instance B khác với cấu hình máy chủ cao hơn. Sau đó bạn có thể dễ dàng chuyển đổi địa chỉ Elastic IP A qua server B xử lý tiếp. Hoặc chịu lỗi hệ thống nhanh chóng bằng cách hoán đổi IP sang server khác.
Chi phí cho một Elastic IP
Địa chỉ Elastic IP được sử dụng miễn phí khi và chỉ khi địa chỉ này đang được sử dụng bởi một máy chủ ảo Instance đang chạy. Như vậy nghĩa là sao ? Vì số lượng địa chỉ IPv4 ngày càng thu hẹp, chính vì vậy mà Amazon không muốn có bất kì sự lãng phí khi người dùng AWS xin cấp địa chỉ Elastic IP nhưng không xài nó.
Từ nguyên nhân này mà Amazon sẽ tính tiền sử dụng Elastic IP vào tài khoản bạn trong những trường hợp sau:
- Phí 0.005$ cho 1 địa chỉ Elastic IP được liên kết sử dụng với một máy chủ ảo Instance đang không chạy hoặc đang được dừng hoạt động.
- Phí 0.005$ cho việc xài nhiều hơn 1 địa chỉ Elastic IP liên kết cho một máy chủ ảo Instance EC2. Như vậy một máy chủ ảo Instance chỉ được phép xài miễn phí 1 địa chỉ Elastic IP.
Hãy cân nhắc giải phóng (release) địa chỉ Elastic IP khi bạn không còn sử dụng nó nữa.
Giới hạn địa chỉ Elastic IP
Mặc định Amazon chỉ cho cấp tối đa 5 địa chỉ Elastic IP cho 1 tài khoản AWS (AWS Account) sử dụng. Nếu bạn có nhu cầu sử dụng nhiều hơn 5 địa chỉ Elastic IP thì bạn cần điền form request sau : LINK
Lưu ý khi xoá địa chỉ Elastic IP
Một khi bạn đã xoá địa chỉ Elastic IP thì bạn sẽ không thể sử dụng lại địa chỉ IP đó nữa. Địa chỉ IP đó khi bị xoá sẽ quay trở lại pool Amazon IP Address. Khi bạn chuẩn bị xoá 1 địa chỉ Elastic IP thì bạn cần đảm bảo các vấn đề sau :
- Cân nhắc địa chỉ IP đó sẽ không được sử dụng trong hệ thống dịch vụ của bạn.
- Đảm bảo DNS Record của bất kì tên miền nào trỏ về địa chỉ Elastic IP này cần được kiểm tra và đổi record IP cho tên miền.
Hy vọng bài viết đã cung cấp đủ kiến thức cơ bản để bạn tiếp tục hành trình sử dụng EC2 Instance. Ở bài khác bạn sẽ học cách “cấp phát địa chỉ Elastic IP” và “liên kết sử dụng Elastic IP với máy chủ ảo EC2 Instance” nhé.