네트워크 ACL 작성

서브넷의 인바운드 및 아웃바운드 트래픽을 제한하도록 ACL을 구성할 수 있습니다. 기본적으로는 모든 트래픽이 허용됩니다.

각 서브넷은 하나의 ACL에만 연결될 수 있습니다. 그러나 각 ACL은 여러 서브넷에 연결될 수 있습니다.

시작하기 전에 VPC 및 서브넷을 작성했는지 확인하십시오.

콘솔에서 네트워크 ACL 만들기

IBM Cloud 콘솔에서 ACL을 구성하려면 다음 단계를 따르십시오

  1. IBM Cloud 콘솔로 이동하여 계정에 로그인하세요.

  2. 탐색 메뉴 탐색 메뉴 아이콘을 선택한 다음 인프라 VPC 아이콘 > 네트워크 > 액세스 제어 목록을 클릭합니다.

  3. **작성 +**를 클릭하십시오.

  4. 위치 편집 아이콘 위치 편집 아이콘 을 선택하고 다음 필드에 값을 입력하십시오.

    • 지역-액세스 제어 목록의 대륙을 선택하십시오.
    • 지역-액세스 제어 목록에 대한 지역을 선택하십시오.
  5. ‘세부 정보’ 아래의 다음 필드에 값을 입력하십시오:

    • 이름- 액세스 제어 목록의 고유 이름을 입력합니다.
    • 자원 그룹-액세스 제어 목록에 대한 자원 그룹을 선택하십시오. 이 액세스 제어 목록에 대해 기본 그룹을 사용하거나 자원 그룹 목록 (정의된 경우) 에서 선택할 수 있습니다. 자세한 정보는 리소스를 리소스 그룹으로 구성하는 데 대한 우수 사례를 참조하십시오.

    프로비저닝이 완료된 후에는 리소스 그룹을 변경할 수 없습니다.

    • 태그-사용자 태그를 추가합니다. 사용자 태그는 계정 전체에서 볼 수 있습니다. 자세한 정보는 태그에 대한 작업을 참조하십시오.
    • 액세스 관리 태그-액세스 제어 관계를 구성하는 데 도움이 되도록 액세스 관리 태그를 추가합니다. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오.
    • 가상 사설 클라우드- VPC를 선택하십시오. 이 ACL에 대해 기본 VPC를 사용하거나, 정의된 경우 목록에서 선택할 수 있습니다. 자세한 정보는 Virtual Private Cloud 시작하기를 참조하십시오.
  6. '규칙'에서 '생성 +'를 클릭하여 서브넷으로 들어오거나 나가는 트래픽을 허용할 대상을 정의하는 인바운드 및 아웃바운드 규칙을 구성합니다. 각 규칙에 대해 다음 정보를 지정하십시오.

    • 지정된 트래픽의 허용 또는 거부 여부를 선택하십시오.
    • 규칙이 적용되는 프로토콜을 선택하십시오. ACL 규칙에서 ANY IPv4 프로토콜 사용에 대한 자세한 내용은 인터넷 통신 프로토콜 이해를 참조하십시오.
    • 규칙의 소스와 목적지에 규칙이 적용되는 IP 범위와 포트를 지정하십시오. 예를 들어, 서브넷의 IP 범위 192.168.0.0/24로의 모든 인바운드 트래픽이 허용되도록 하려는 경우에는 Any를 소스로 지정하고 192.168.0.0/24를 대상으로 지정하십시오. 그러나 169.168.0.0/24에서만 전체 서브넷으로의 인바운드 트래픽을 허용하려면 169.168.0.0/24를 규칙의 소스로, Any를 규칙의 대상으로 지정하십시오.
    • 규칙의 우선 순위를 지정하십시오. 낮은 숫자가 지정된 규칙이 먼저 평가되며 더 높은 숫자가 지정된 규칙을 오버라이드합니다. 예를 들어 우선순위가 2인 규칙이 HTTP 트래픽을 허용하고 우선순위가 5인 규칙이 모든 트래픽을 거부하는 경우, HTTP 트래픽은 여전히 허용됩니다.
    • 작성을 클릭하십시오.
    • 이 ACL에 연결할 서브넷을 선택하십시오. ‘첨부’를 클릭하여 추가 서브넷을 첨부하십시오.

    서브넷에 기존 ACL 연결이 있는 경우에는 이 ACL이 작성되고 있는 ACL로 대체됩니다.

  7. 페이지의 오른쪽 하단에 있는 요약 메뉴에서 총 예상 비용을 보십시오.

CLI를 사용하여 네트워크 ACL 생성하기

시작하기 전에 CLI 환경을 설정 하십시오.

CLI에서 네트워크 ACL을 생성하려면 다음 명령을 실행하십시오

ibmcloud is network-acl-create ACL_NAME VPC \
[--rules (RULES_JSON|@RULES_JSON_FILE) | --source-acl-id SOURCE_ACL_ID] \
[--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] \
[--output JSON] [-q, --quiet]

여기서:

ACL_NAME
네트워크 ACL의 이름입니다. VPC
VPC의 ID입니다. --rules
JSON 또는 JSON 파일 형식의 ACL 규칙. --source-acl-id
규칙을 복사할 네트워크 ACL의 ID. --resource-group-id
리소스 그룹의 ID. 이 옵션은 --resource-group-name`` 옵션과 상호 배타적입니다. --resource-group-name
리소스 그룹의 이름. 이 옵션은 --resource-group-id`` 옵션과 상호 배타적입니다. --output
JSON 형식으로 출력합니다. -q, --quiet
상세 출력이 표시되지 않도록 합니다.

예를 들어, 다음과 같습니다.

  • ibmcloud is network-acl-create my-acl 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479
  • ibmcloud is network-acl-create my-acl 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --source-acl-id 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3

API를 사용하여 네트워크 ACL 생성하기

API를 사용하여 네트워크 ACL을 생성하려면 다음 단계를 따르십시오

  1. API 환경을 설정하십시오.

  2. API 명령에 사용하도록 변수에 VpcId를 저장하십시오.

    export VpcId=<your_vpc_id>
    
  3. 네트워크 ACL을 작성하십시오.

    curl -X POST -sH "Authorization:${iam_token}" \
    "$vpc_api_endpoint/v1/network_acls?version=$api_version&generation=2" \
    -d '{"name": "testacl", "vpc":{"id": "'$VpcId'"},"resource_group": {"id": "'$ResourceGroupId'"}}' | jq
    

예: 규칙 구성

예를 들어, 다음 인바운드 규칙을 구성할 수 있습니다.

  • 인터넷으로부터의 HTTP 트래픽을 허용합니다.
  • 서브넷 10.10.20.0/24로부터의 모든 인바운드 트래픽을 허용합니다.
  • 모든 기타 인바운드 트래픽은 거부합니다.
인바운드 규칙을 구성하기 위한 정보입니다.
우선순위 허용/거부 프로토콜 소스 대상
1 허용 TCP 임의 IP, 80 - 80 포트 임의의 IP, 임의의 포트
2 허용 전체 10.10.20.0/24, 어디든 상관없다 임의의 IP, 임의의 포트
3 거부 전체 임의의 IP, 임의의 포트 임의의 IP, 임의의 포트

그런 후 다음 아웃바운드 규칙을 구성하십시오.

  • 인터넷으로의 HTTP 트래픽을 허용합니다.
  • 서브넷 10.10.20.0/24로의 모든 아웃바운드 트래픽을 허용합니다.
  • 모든 기타 아웃바운드 트래픽은 거부합니다.
아웃바운드 규칙을 구성하기 위한 정보입니다.
우선순위 허용/거부 프로토콜 소스 대상
1 허용 TCP 임의의 IP, 임의의 포트 임의 IP, 80 - 80 포트
2 허용 전체 임의의 IP, 임의의 포트 10.10.20.0/24, 어디든 상관없다
3 거부 전체 임의의 IP, 임의의 포트 임의의 IP, 임의의 포트