Prefix list (프리픽스 리스트) 사용해보기

2023.03.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요, 임채정입니다.
EC2 인스턴스를 작성할 때 세큐리티 그룹을 무조건 할당해야 합니다.
이때, 만약 세큐리티 그룹의 소스(CIDR)가 약 40라면 어떨까요?
그걸 다른 EC2에도 할당해야하는 소스라면 어떨까요?
그럴때 사용하면 유용한 서비스인 Prefix list 에 대해 정리해보겠습니다.

아젠다

  1. 사용 예시
  2. Prefix list 사용해보기

1. 사용 예시

일단 문제 상황을 다시 정리해보겠습니다.

아래 사진과 같이 EC2에는 각각의 세큐리티 그룹이 있습니다.
그리고 세큐리티 그룹의 룰은 각각 40개이상입니다.
이 때, 두 개의 시큐리티 그룹은 일부분의 공통의 룰을 가지고 있습니다.
이 상황에서 일부의 시큐리티 그룹 룰이 변경된다면 모든 시큐리티 그룹을 하나씩 수정해야 합니다.
두 개라면 다행이지만 만약 3개, 4개, 10개라면 어떨까요? 점점 더 귀찮고 작업 중에 실수가 나올 수 도 있습니다.

이 문제를 해결할 수 있는 방법은 뭐가 있을까요?
공통의 룰을 다른 시큐리티 그룹으로 정리하고 그걸 두 개의 EC2에 할당할까요?
확실히 이렇게 하면 하나의 시큐리티 그룹을 수정하는 것으로 해결할 수 있습니다.

이 방법으로도 해결할 수 있지만 이렇게 공통의 룰이 많아지고 종류도 많아질 수록 관리하기가 힘들것같습니다.
또한, EC2에 여러 개의 시큐리티 그룹을 설정할 수는 있지만 이런 설정을 여러 개 하다보면 왜 설정을 했는지 혹은 뭘 설정해야 하는지 헷갈릴 수도 있겠네요
그리고 더 나아가서 같은 포트의 연속되는 룰을 좀 깔끔하게 정리하고 싶어지네요.
또한, 하나의 룰마다 포트를 선택해서 작성하는 것보다 더 간단하게 작성할 수 있을 것 같습니다.

이럴때 Prefix list 를 사용할 수 있습니다.
Prefix list 는 시큐리티 그룹 룰의 CIDR를 리스트로 정리할 수 있습니다.
위의 상황에서 Prefix list 로 변경시켜보겠습니다.

다음과 같이 시큐리티 그룹에 들어가는 항목이 간출하게 변했습니다.
어차피 같은 포트로 정의 되기 때문에 이렇게 정리하면 어떤 룰이 설정되어 있는지도 보기 쉽네요.
Prefix list 의 사용법은 굉장히 간단합니다.

2. Prefix list 사용해보기

실제로 Prefix list 를 사용해보겠습니다.

먼저 시큐리티 그룹 두 개가 있습니다.

이 두 개의 시큐리티 그룹에 Prefix list 를 사용해 룰을 추가해보겠습니다.

2-1. Prefix list 생성

Prefix list 를 작성해주겠습니다.

VPC 페이지에서 관리형 접두사 목록에 들어갑니다.
그리고 접두사 목록 생성을 클릭합니다.

접두사 목록 이름을 입력해주고 최대 항목을 입력합니다.
이 때, 최대 항목은 입력해줄 CIDR의 개수로 설정해줍니다.
나중에 CIDR를 추가할 때는 개수도 조절할 수 있기 때문에 불필요한 공간이 없도록 CIDR의 개수를 딱 맞춰서 입력해주겠습니다.

그 후 CIDR를 입력해줍니다.
입력이 끝나면 접두사 목록 생성을 클릭해서 Prefix list 를 작성합니다.

작성되었습니다.

2-2. Prefix list 사용해보기

이제 시큐리티 그룹에 Prefix list 를 사용해봅시다.

먼저 prefix-list-A에서 인바운드 규칙 편집을 클릭합니다.

규칙을 추가하고 원하는 유형(포트)을 설정하고 소스에서 접두사 목록을 찾아 선택해줍니다.

그리고 저장을 해주면 다음과 같이 소스에 Prefix list 가 들어갑니다.
실제로는 Prefix list 에 저장해둔 CIDR 리스트가 저장되어 있습니다.

다음으로 prefix-list-B에서도 같은 작업을 해주면 간단하게 두 시큐리티 그룹에서 공통으로 사용하는 룰을 보기 쉽고 간단하게 설정할 수 있었습니다.
블로그에서는 EC2 두 개로 설명을 했지만 더 많은 EC2가 있는 경우에는 더 유용하게 사용할 수 있을 것 같습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !