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


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

사전 요구 사항

  • 인터넷에서 연결할 수 있는 공유 외부(공용) 서브넷입니다.

절차

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

    예제
    $ source ~/overcloudrc
  2. 공용 서브넷(public_subnet)에 로드 밸런서(lb1)를 만듭니다.

    참고

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

    예제
    $ openstack loadbalancer create --name lb1 \
    --vip-subnet-id public_subnet --wait
  3. CIDR(192.0.2.0/24198.51.100.0/24)을 사용하여 리스너(listener1)를 생성합니다.

    예제
    $ 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 --wait
  4. 리스너 기본 풀(pool1)을 만듭니다.

    예제

    이 예에서는 TCP 포트 80에서 사용자 지정 애플리케이션으로 구성된 백엔드 서버가 포함된 프라이빗 서브넷을 사용하는 풀이 생성됩니다.

    $ openstack loadbalancer pool create --name pool1 \
    --lb-algorithm ROUND_ROBIN --listener listener1 --protocol TCP --wait
  5. 백엔드 서버에 연결하는 풀에 상태 모니터를 생성하고 경로(/)를 테스트합니다.

    상태 점검이 권장되지만 필수는 아닙니다. 상태 모니터가 정의되지 않은 경우 멤버 서버는 ONLINE 으로 간주됩니다.

    예제
    $ openstack loadbalancer healthmonitor create --name healthmon1 \
    --delay 15 --max-retries 4 --timeout 10 --type HTTP --url-path / \
    pool1 --wait
  6. 프라이빗 서브넷(private_subnet)에서 로드 밸런서 멤버(192.0.2.10192.0.2.11)를 기본 풀에 추가합니다.

    예제

    이 예에서 백엔드 서버 192.0.2.10192.0.2.11 은 각각 member1member2 로 이름이 지정됩니다.

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

검증

  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
맨 위로 이동