네트워크 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, 임의의 포트