VPC 보안 그룹 작성 및 관리

가상 사설 클라우드 4.15 그리고 나중에

클러스터 작성 중 보안 그룹 추가

VPC 클러스터를 작성할 때 이름이 kube-<clusterID> 인 기본 작업자 보안 그룹이 자동으로 작성되어 클러스터의 모든 작업자에 적용됩니다. 기본 작업자 보안 그룹과 함께 추가 보안 그룹을 첨부할 수도 있습니다. 클러스터의 작업자에 적용되는 보안 그룹은 클러스터를 작성할 때와 작업자 풀을 작성할 때 적용되는 보안 그룹의 조합입니다. 클러스터에는 총 5개의 보안 그룹을 적용할 수 있습니다.

클러스터에 적용된 보안 그룹은 클러스터가 작성된 후에는 변경할 수 없습니다. 클러스터에 적용되는 보안 그룹의 규칙을 변경할 수 있지만 클러스터 레벨에서 보안 그룹을 추가하거나 제거할 수는 없습니다. 클러스터 작성 시 올바르지 않은 보안 그룹을 적용하는 경우 클러스터를 삭제하고 새 클러스터를 작성해야 합니다.

기본 보안 그룹만 원하는 경우

클러스터를 작성할 때 추가 보안 그룹을 지정하지 마십시오.

 ibmcloud oc cluster create vpc-gen2 --name CLUSTER-NAME --zone ZONE --vpc-id VPC-ID --subnet-id SUBNET-ID

보안 그룹 보기

VPC 보안 그룹에 대한 세부사항을 보려면 다음 단계를 수행하십시오.

  1. 클러스터를 나열하고 작업 중인 클러스터의 ID 를 기록하십시오.

    클러스터가 있는 VPC를 확인하려면 ibmcloud oc cluster get --cluster <cluster_name_or_id> 를 실행하고 출력에서 VPC ID 를 확인하십시오.

    ibmcloud oc cluster ls --provider vpc-gen2
    
  2. 클러스터가 있는 VPC에 첨부된 보안 그룹을 나열하십시오. VPC 보안 그룹에는 무작위로 생성된 이름 (예: trench-hexagon-matriarch-flower) 이 지정됩니다. 클러스터 보안 그룹의 이름은 kube-<cluster-ID> 형식으로 지정됩니다.

    ibmcloud is sgs | grep <vpc_name>
    

    출력 예

    ID                                          Name                                             Rules   Network interfaces   VPC                          Resource group   
    r006-111aa1aa-1a1a-1a11-1111-a111aaa1a11a   trench-hexagon-matriarch-flower                    4       0                    my-vpc                      default   
    r006-222aa2aa-2a2a-2a22-2222-a222aaa2a22a   kube-a111a11a11aa1aa11a11                          4       0                    my-vpc                      default   
    r006-333aa3aa-3a3a-3a33-3333-a333aaa3a33a   kube-r006-111a11aa-aaa1-1a1a-aa11-1a1a111aa11      4       0                    my-vpc                      default   
    
  3. 보안 그룹의 세부사항을 가져옵니다. 보안 그룹에 첨부된 인바운드 및 아웃바운드 규칙을 보려면 출력에서 규칙 섹션을 찾으십시오.

    ibmcloud is sg GROUP
    

    출력 예

    ...
    Rules      
    ID                                          Direction   IP version   Protocol                  Remote   
    r006-111bb1bb-1b1b-1b11-1111-b111bbb1b11b   outbound    ipv4         all                       0.0.0.0/0   
    r006-222bb2bb-2b2b-2b22-2222-b222bbb2b22b   inbound     ipv4         all                       behind-unbuilt-guidable-anthill   
    r006-333bb3bb-3b3b-3b33-3333-b333bbb3b33b   inbound     ipv4         icmp Type=8               0.0.0.0/0   
    r006-444bb4bb-4b4b-4b44-4444-b444bbb4b44b   inbound     ipv4         tcp Ports:Min=22,Max=22   0.0.0.0/0
    

콘솔에서 보안 그룹 보기

  1. VPC 대시보드의 보안 그룹에서 클러스터가 있는 VPC에 연결된 보안 그룹을 찾으십시오.

  2. 보안 그룹을 클릭합니다.

    보안 그룹이 첨부된 VPC별로 보안 그룹을 정렬하려면 테이블에서 가상 프라이빗 클라우드 열 표제를 클릭하십시오.

  3. 보안 그룹에 첨부된 인바운드 및 아웃바운드 규칙을 보려면 규칙 탭을 클릭하십시오.

콘솔에서의 보안 그룹 규칙 작성

  1. 가상 사설 클라우드 대시보드 에서 클러스터가 속한 VPC의 ‘ 기본 보안 그룹 ’ 이름을 클릭합니다.

  2. 규칙 탭을 클릭하십시오.

    • 작업자 노드에 대한 인바운드 트래픽을 제어하기 위한 새 인바운드 규칙을 작성하려면 인바운드 규칙 섹션에서 작성을 클릭하십시오.
    • 워커 노드로의 아웃바운드 트래픽을 제어할 새로운 규칙을 생성하려면, ‘아웃바운드 규칙’ 섹션에서 ‘생성’을 클릭하십시오.

    규칙을 추가한 후에는 콘솔에서 모든 아웃바운드 트래픽을 허용하는 기본값을 삭제하지 마세요. 대신 CLI에서 ibmcloud is security-group-rule-delete 명령을 실행하여 규칙을 제거합니다.

명령행에서 보안 그룹 규칙 작성

IBM Cloud CLI를 사용하여 클러스터의 기본 보안 그룹에 인바운드 및 아웃바운드 규칙을 추가하십시오.

  1. infrastructure-service 플러그인을 설치하십시오. 명령을 실행하기 위한 접두부는 ibmcloud is입니다.
    ibmcloud plugin install infrastructure-service
    
  2. VPC가 있는 지역을 대상으로 지정하십시오.
    ibmcloud target -r REGION
    
  3. 클러스터의 ID를 가져오십시오.
    ibmcloud oc cluster get -c CLUSTER
    
  4. 보안 그룹을 나열하고 ID를 기록합니다.
    ibmcloud is sgs
    
    무작위로 생성된 이름(chamomile-dislodge-showier-unfilled)의 VPC에 대한 기본 보안 그룹이 있는 출력 예입니다.
    ID                                          Name                                       Rules   Network interfaces   VPC          Resource group
    1a111a1a-a111-11a1-a111-111111111111        chamomile-dislodge-showier-unfilled        5       2                    events-vpc   default
    2b222b2b-b222-22b2-b222-222222222222        kube-df253b6025d64744ab99ed63bb4567b6      5       3                    gen2-vpn     default
    
  5. 보안 그룹 ID를 환경 변수로 저장하십시오.
    sg=GROUP
    
  6. 보안 그룹의 기본 규칙을 검토하십시오.
    ibmcloud is sg $sg
    
        ibmcloud is sg-rulec $sg inbound <protocol> [--remote <remote_address> | <CIDR_block> | <security_group_ID>] [--icmp-type <icmp_type> [--icmp-code <icmp_code>]] [--port-min <port_min>] [--port-max <port_max>]
        ```
    
    * 아웃바운드 트래픽 규칙을 작성하려면 [`ibmcloud is sg-rulec <sg> outbound` 명령](/docs/vpc?topic=vpc-creating-vpc-resources-with-cli-and-api&interface=cli#add-rules-to-default-security-group)을 사용하십시오.
    
    ```sh {: pre}
        ibmcloud is sg-rulec $sg outbound <protocol> [--remote <remote_address> | <CIDR_block> | <security_group_ID>] [--icmp-type <icmp_type> [--icmp-code <icmp_code>]] [--port-min <port_min>] [--port-max <port_max>]
        ```
        1. 사용자 정의 아웃바운드 규칙을 작성한 후 모든 아웃바운드 트래픽을 허용하는 기본 규칙의 ID를 가져오십시오.
    
            ```sh {: pre}
            ibmcloud is sg $sg
            ```
            출력 예
            ```sh {: screen}
            Rules
            ID                                          Direction   IP version   Protocol                        Remote
            r010-e3a34cbb-d5e8-4713-a57e-3e35a7458272   inbound     ipv4         all                             freeload-flavored-surging-repaying
            r010-036c3a13-1c16-4425-9667-a4ec34b1702b   inbound     ipv4         icmp Type=8                     0.0.0.0/0
            r010-15591636-6976-493f-a94f-70721702860a   inbound     ipv4         tcp Ports:Min=22,Max=22         0.0.0.0/0
            ```
        1. 모든 아웃바운드 트래픽을 허용하는 기본 규칙을 삭제하십시오.
    
            ```sh {: pre}
            ibmcloud is security-group-rule-delete $sg <rule_ID>
            ```