Introduction
This article is a summaryof the following video.
What's the IPAM?
The IPAM(IP Address Manager) makes it easier to plan track and monitor IP addresses acorss AWS accounts and AWS Regions.
Automate IP assignments
Across multiple regions and accounts based on application's unique networking and security need.
Monitor across network
Avoid downtime: Overlap detection, track IPs in compliance with security policy, utilization trendsRetrospective analysis
Faster troubleshooting and auditing
Key Concept
Scope
IP space for single network; by default you will have a private and public scope.Pool
Collection of contiguous IP address ranges (CIDRs) used to organize your IP addresses.Allocation
CIDR assignment from a pool to another resources (i.e. VPC) or another pool.
Enabling IPAM
If you are subscribed to an MSP org or subordinate to another root AWS account, the way IPAM is enabled is slightly different.
Create network admin account (now shown).
Set delegated admin in org management account.
Create IPAM in delegated admin account.
Dashboard with IPAM
Managed Point
Managed CIDRs, managed by aws
Unmanaged CIDRs, managed by client
Ignored CIDRs, ignore to manage
Complaint Point
Adherence to specific network design principles and securtiy policiesComplaint CIDRs [👍]
Noncomplaint CIDRs
Nonoverlapping Point
Nested CIDR blocks or notNonoverlapping CIDRs [👍]
Overlapping CIDRs
IP address uage dashboard
Pros of Amazon IPAM
개인적으로 CIDR Block을 손쉽게 관리할 수 있는 부분은 매력적이었습니다.
VPC가 5개만 넘어가더라도 10.0.20.1/18과 10.1.20.1/19가 겹치는지 파악하기는 매우 어렵습니다. 따라서 이런 부분을 Amazon IPAM을 이용해서 관리할 수 있는 부분은 매력적으로 보였습니다.
또한 CIDR Block 별로 사용할 수 있는 IP Address의 잔여량을 볼 수 있는 것도 매력적이었습니다. 이 부분은 EventBridge Scheduler, Lambda와 통합하여 스케줄링 기반 알람을 구현하여 IP 주소 부족으로 인한 장애상황등도 미리 예측할 수 있지 않을까 생각해봅니다.
Aspect of pricing
Free Tier와 Advanced Tier가 존재합니다.
하지만 대부분의 서버가 Private IP Address를 쓰기 때문에, 실제로는 Advanced Tier를 사용이 강제됩니다. 서버가 약 100대에서 1000대만 되어도 그 비용 부담은 월간 25,507.224 KRW ~ 255,072.24 KRW가 됩니다. 단순히 IP address를 관리하기 위한 비용 치고는 너무비싼 느낌이 있습니다.
criteria | $/1hour,1ip | calculation | us dollar ($) | exchange currency | korean (₩) |
---|---|---|---|---|---|
Only 1 IP Address | |||||
1 Hour Pricing | 0.00027 | * 1 | 0.00027 | * 1,312.10 | 0.354267 |
1 Day Pricing | 0.00027 | * 24 | 0.00648 | * 1,312.10 | 8.502408 |
1 Month Pricing | 0.00027 | * 24 * 30 | 0.1944 | * 1,312.10 | 255.07224 |
1 Year Pricing | 0.00027 | * 24 * 365 | 2.3652 | * 1,312.10 | 3,103.37892 |
Almost 1000 IP Address | |||||
1 Hour Pricing | 0.00027 | * 1 * 1000 | 0.27 | * 1,312.10 | 354.267 |
1 Day Pricing | 0.00027 | * 24* 1000 | 6.48 | * 1,312.10 | 8,502.408 |
1 Month Pricing | 0.00027 | * 24 * 30* 1000 | 194.4 | * 1,312.10 | 255,072.24 |
1 Year Pricing | 0.00027 | * 24 * 365* 1000 | 2365.2 | * 1,312.10 | 3,103,378.92 |
Alternatives
비용 절감을 위해서 타사 솔루션과 오픈소스 툴을 고민할 수 있습니다.
네트워크 관련 서비스는 네트워크 상의 변경이 거의 없기 때문에, 오픈소스 툴로 간단한 솔루션을 구축한 이후 이를 점진적으로 개선하는 방법도 좋아보입니다.
이 경우, netbox-community/netbox등의 도구가 있어보입니다.
다만 netbox는 물리적인 장치 기반의 IPAM으로 보이기 때문에, 완벽한 대체재로서 작동하기 어렵습니다.
또는 리소스에 Tagging이 제대로 되어 있다면, IP Address Usage 알람 정도는 간단한 python 스크립트로 구성할 수 있어 보입니다.
Conclusion
Amazon IPAM은 VPC CIDR Block을 효과적으로 관리하고 나아가 VPC의 IP Address 가용량를 확인할 수 있는 좋은 솔루션입니다 하지만 기능으로 발생하는 이점은 "소화기"에 가깝기 때문에, 기능 대비 비용이 비싼 것 같이 느껴지기도 합니다.
따라서 다양한 대안을 고민해보고 간단한 기능은 직접 구현해보는 것도 좋아 보입니다.