10.4. 액세스 제어 목록을 사용하여 로드 밸런서 생성


ACL(액세스 제어 목록)을 생성하여 리스너로 들어오는 트래픽을 허용된 소스 IP 주소 세트로 제한할 수 있습니다. 기타 들어오는 트래픽은 거부됩니다. 또한 백엔드 멤버를 계속 사용할 수 있도록 상태 모니터를 생성하는 것이 좋습니다.

사전 요구 사항

  • TCP 포트 80에서 사용자 지정 애플리케이션으로 구성된 백엔드 서버가 포함된 프라이빗 서브넷입니다.
  • 백엔드 서버는 URL 경로 / 에 상태 점검으로 구성됩니다.
  • 인터넷에서 도달할 수 있는 공유 외부(공용) 서브넷입니다.

절차

  1. 자격 증명 파일을 가져옵니다.

    예제

    $ source ~/overcloudrc

  2. 공용 서브넷(public_subnet)에서 로드 밸런서(lb1)를 만듭니다.

    참고

    괄호 안의 값은 이 절차의 예제 명령에 사용되는 샘플 값입니다. 이러한 샘플 값을 사이트에 적합한 값으로 바꿉니다.

    예제

    $ openstack loadbalancer create --name lb1 --vip-subnet-id public_subnet

  3. 로드 밸런서의 상태를 확인합니다.

    예제

    $ openstack loadbalancer show lb1

  4. 다음 단계로 진행하기 전에 provisioning_status 가 EgressIP 인지 확인합니다.
  5. 허용된 CIDR(192.0.2.0/24 및 198.51.100.0/24 )을 사용하여 리스너(리스너1)를 만듭니다.

    예제

    $ openstack loadbalancer listener create --name listener1 --protocol TCP --protocol-port 80 --allowed-cidr 192.0.2.0/24 --allowed-cidr 198.51.100.0/24 lb1

  6. 리스너 기본 풀(pool1)을 생성합니다.

    예제

    $ openstack loadbalancer pool create --name pool1 --lb-algorithm ROUND_ROBIN --listener listener1 --protocol TCP

  7. 백엔드 서버에 연결하고 경로(/)를 테스트하는 풀에 상태 모니터를 생성합니다.

    예제

    $ openstack loadbalancer healthmonitor create --delay 15 --max-retries 4 --timeout 10 --type HTTP --url-path / pool1

  8. 프라이빗 서브넷(private_subnet)에서 로드 밸런서 구성원 (192.0.2.10 및 192.0.2.11)을 기본 풀에 추가합니다.

    예제

    $ openstack loadbalancer member create --subnet-id private_subnet --address 192.0.2.10 --protocol-port 80 pool1
    
    $ openstack loadbalancer member create --subnet-id private_subnet --address 192.0.2.11 --protocol-port 80 pool1

검증

  1. 리스너(listener1) 설정을 보고 확인합니다.

    예제

    $ openstack loadbalancer listener show listener1

    샘플 출력

    +-----------------------------+--------------------------------------+
    | Field                       | Value                                |
    +-----------------------------+--------------------------------------+
    | admin_state_up              | True                                 |
    | connection_limit            | -1                                   |
    | created_at                  | 2022-01-15T11:11:09                  |
    | default_pool_id             | None                                 |
    | default_tls_container_ref   | None                                 |
    | description                 |                                      |
    | id                          | d26ba156-03c3-4051-86e8-f8997a202d8e |
    | insert_headers              | None                                 |
    | l7policies                  |                                      |
    | loadbalancers               | 2281487a-54b9-4c2a-8d95-37262ec679d6 |
    | name                        | listener1                            |
    | operating_status            | ONLINE                               |
    | project_id                  | 308ca9f600064f2a8b3be2d57227ef8f     |
    | protocol                    | TCP                                  |
    | protocol_port               | 80                                   |
    | provisioning_status         | ACTIVE                               |
    | sni_container_refs          | []                                   |
    | timeout_client_data         | 50000                                |
    | timeout_member_connect      | 5000                                 |
    | timeout_member_data         | 50000                                |
    | timeout_tcp_inspect         | 0                                    |
    | updated_at                  | 2022-01-15T11:12:42                  |
    | client_ca_tls_container_ref | None                                 |
    | client_authentication       | NONE                                 |
    | client_crl_container_ref    | None                                 |
    | allowed_cidrs               | 192.0.2.0/24                         |
    |                             | 198.51.100.0/24                      |
    +-----------------------------+--------------------------------------+

    이 예에서 allowed_cidrs 매개 변수는 192.0.2.0/24 및 198.51.100.0/24의 트래픽만 허용하도록 설정됩니다.

  2. 로드 밸런서가 안전한지 확인하려면 CIDR이 allowed_cidrs 목록에 없는 클라이언트의 리스너에 대한 요청을 확인하십시오. 요청이 성공하지 못합니다.

    샘플 출력

    curl: (7) Failed to connect to 203.0.113.226 port 80: Connection timed out
    curl: (7) Failed to connect to 203.0.113.226 port 80: Connection timed out
    curl: (7) Failed to connect to 203.0.113.226 port 80: Connection timed out
    curl: (7) Failed to connect to 203.0.113.226 port 80: Connection timed out

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동