What's the IPAM?

AWS Youtube
이민석's avatar
Mar 13, 2024
What's the IPAM?

Introduction

This article is a summaryof the following video.

  1. AWS Youtbue | Amazon VPC IP Address Manager (IPAM) - Creating an IPAM with AWS Organizations | Amazon Web Services

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.

  1. Automate IP assignments

    Across multiple regions and accounts based on application's unique networking and security need.

  2. Monitor across network
    Avoid downtime: Overlap detection, track IPs in compliance with security policy, utilization trends

  3. Retrospective analysis
    Faster troubleshooting and auditing

1:56

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.

  1. Create network admin account (now shown).

  2. Set delegated admin in org management account.

  3. Create IPAM in delegated admin account.

Dashboard with IPAM

  1. Managed Point

    1. Managed CIDRs, managed by aws

    2. Unmanaged CIDRs, managed by client

    3. Ignored CIDRs, ignore to manage

  2. Complaint Point
    Adherence to specific network design principles and securtiy policies

    1. Complaint CIDRs [👍]

    2. Noncomplaint CIDRs

  3. Nonoverlapping Point
    Nested CIDR blocks or not

    1. Nonoverlapping CIDRs [👍]

    2. Overlapping CIDRs

  1. IP address uage dashboard

Pros of Amazon IPAM

개인적으로 CIDR Block을 손쉽게 관리할 수 있는 부분은 매력적이었습니다.
VPC가 5개만 넘어가더라도 10.0.20.1/1810.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 가용량를 확인할 수 있는 좋은 솔루션입니다 하지만 기능으로 발생하는 이점은 "소화기"에 가깝기 때문에, 기능 대비 비용이 비싼 것 같이 느껴지기도 합니다.

따라서 다양한 대안을 고민해보고 간단한 기능은 직접 구현해보는 것도 좋아 보입니다.

Share article

Unchaptered