자원에 대한 보안 그룹 설정

보안 그룹을 구성하여 리소스에 대해 허용되는 인바운드 및 아웃바운드 트래픽을 정의할 수 있습니다. 예를 들면, 회사의 보안 정책을 기반으로 서브넷에 대한 ACL 규칙을 구성한 후 워크로드에 따라 특정 인스턴스에 대한 트래픽을 추가로 제한할 수 있습니다.

콘솔에서 리소스에 대한 보안 그룹 설정하기

UI를 사용하여 보안 그룹을 구성하려면 다음 단계를 수행하십시오.

  1. 브라우저에서 IBM Cloud 콘솔을 여십시오.

  2. 탐색 메뉴 탐색 메뉴 아이콘을 선택한 다음 인프라 VPC 아이콘 > 네트워크 > 보안 그룹을 클릭합니다.

  3. 보안 그룹 목록 테이블에서 작성 을 클릭하십시오.

  4. '위치' 섹션에서 다음 정보를 입력하십시오:

    • 지형-보안 그룹을 작성할 일반 영역을 표시합니다.
    • 지역-보안 그룹을 작성할 지역을 표시합니다.
  5. ‘세부 정보’ 섹션에 다음 정보를 입력하십시오:

    • 이름-보안 그룹의 고유 ID를 입력하십시오 (예: my-security-group).
    • 리소스 그룹- 보안 그룹에 사용할 리소스 그룹을 선택합니다.

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

    • 태그-사용자 태그를 추가합니다. 사용자 태그는 계정 전체에서 볼 수 있습니다. 자세한 정보는 태그에 대한 작업을 참조하십시오.

    사용자 태그는 계정 전체에서 볼 수 있습니다. 태그 이름에 민감한 데이터를 포함하지 마십시오.

    • 선택사항: 액세스 관리 태그-액세스 제어 관계를 구성하는 데 도움이 되도록 액세스 관리 태그를 추가하십시오. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오.
    • 선택 사항: 가상 사설 클라우드 (VPC)- VPC를 선택하세요.
  6. '규칙'에서 '생성'을 클릭하여 인스턴스로 들어오고 나가는 트래픽의 유형을 정의하는 인바운드 및 아웃바운드 규칙을 구성합니다. 각 규칙에 대해 다음 정보를 지정하십시오.

    • 규칙이 적용되는 프로토콜 및 포트를 선택하십시오.
    • 허용되는 트래픽에 대한 CIDR 블록 또는 IP 주소를 지정하십시오. 동일한 VPC에서 보안 그룹을 지정하여 선택된 보안 그룹에 연결된 모든 인스턴스의 송수신 트래픽을 허용할 수도 있습니다.

    팁:

    • 추가된 순서에 관계없이 모든 규칙이 평가됩니다.
    • 규칙은 Stateful이며, 이는 허용된 트래픽에 대한 응답인 리턴 트래픽이 자동으로 허용됨을 의미합니다. 예를 들어, 포트 80에서 인바운드 TCP 트래픽을 허용하는 규칙을 작성했습니다. 이 규칙에서는 다른 규칙을 작성할 필요 없이 포트 80을 통해 원래 호스트로 다시 응답하는 아웃바운드 TCP 트래픽을 보낼 수 있습니다.
    • Windows 이미지의 경우 인스턴스와 연관된 보안 그룹에서 인바운드 및 아웃바운드 원격 데스크탑 프로토콜 트래픽을 허용하는지 확인하십시오(TCP 포트 3389).
  7. 선택사항: 이러한 대상을 연결할 수 있는 경우 나머지 섹션에서 인터페이스, 베어메탈 인터페이스, 로드 밸런서, 가상 사설 엔드포인트 게이트웨이 및 VPN 서버를 연결하십시오.

CLI에서 리소스에 대한 보안 그룹 설정

이 예에서는 명령행 인터페이스(CLI)를 사용하여 사용하도록 설정된 보안 그룹을 사용하여 가상 서버 인스턴스를 생성합니다. 그림 1은 이 시나리오가 어떤지를 보여줍니다.

보안 그룹이 활성화된 가상 서버 인스턴스를 보여주는 그림
보안 그룹이 활성화된 인스턴스

그림 1에서 SG4로 이름 지정된 인스턴스에는 유동 IP 169.60.208.144가 지정되어 있으며 내부 VPC 주소는 10.10.10.5입니다. 따라서 SG4는 공용 인터넷에 연결할 수 있습니다. 인스턴스 SG4에 지정된 보안 그룹의 이름은 demosg입니다.

SG8 인스턴스는 VPC의 내부 전용으로 사설 IP 주소를 사용합니다. 인스턴스 SG8에 지정된 보안 그룹의 이름은 my_vpc_sg입니다. 이러한 인스턴스는 모두 sgvpc로 이름 지정된 VPC 내에 존재하고 동일한 서브넷 10.10.10.0/24에 존재하므로 서로 통신할 수 있습니다.

보안 그룹이 연결된 리소스 생성

my_vpc_sg에 대한 보안 그룹 규칙에는 SSH, PING 및 아웃바운드 TCP의 기본 기능이 포함됩니다.

먼저 ibmcloud is sgc 명령어를 사용하여 보안 그룹을 생성한 다음, 이 보안 그룹을 사용하는 리소스를 생성해야 한다는 점에 유의하십시오.

ibmcloud plugin install vpc-infrastructure에 액세스하려면 ibmcloud is를 입력해야 합니다. VPC및 서브넷 작성에 대한 자세한 정보는 CLI를 사용하여 VPC 리소스 작성 을 참조하십시오.

이 예제 CLI 코드의 명령을 복사하여 붙여넣으면 연결된 보안 그룹으로 인스턴스 작성을 시작할 수 있습니다. 이 샘플 코드에 시스템 응답이 완전히 표시되지 않습니다. VPC, 서브넷, 이미지, 키에 대한 올바른 리소스 ID 그리고 올바른 보안 그룹 ID 번호로 명령을 업데이트해야 합니다.

  1. my_vpc_sg라는 보안 그룹을 작성하십시오.

    ibmcloud is security-group-create my_vpc_sg $vpc
    

    나중에 사용할 수 있도록 ID를 변수(예: sg)에 저장하십시오.

    sg=0738-2d364f0a-a870-42c3-a554-000000632953
    
  2. SSH, PING 및 아웃바운드 TCP를 허용하는 규칙을 추가하십시오.

    ibmcloud is security-group-rule-add $sg inbound tcp --port-min 22 --port-max 22
    ibmcloud is security-group-rule-add $sg inbound icmp --icmp-type 8 --icmp-code 0
    ibmcloud is security-group-rule-add $sg outbound tcp
    
  3. 마지막으로 보안 그룹을 사용하여 인스턴스를 작성하십시오.

    ibmcloud is instance-create test-instance $vpc us-south-2 b-4x16 $subnet 1000 \
    --image $image --keys $key --sgs $sg
    

명령 목록 치트 시트

보안 그룹에 사용할 수 있는 VPC CLI 명령의 전체 목록을 보려면 다음을 입력하십시오.

ibmcloud is help | grep sg

규칙을 포함한 보안 그룹 및 해당 메타데이터를 보려면 이전 예제에 대해 다음을 입력할 수 있습니다.

ibmcloud is sg $sg

다음은 보안 그룹 규칙을 추가하기 위해 보안 그룹에 PING 인바운드 규칙을 추가하는 예제 명령입니다.

ibmcloud is security-group-rule-add $sg inbound icmp --icmp-type 8 --icmp-code 0

CLI를 사용하여 보안 그룹을 설정하는 방법에 대한 자세한 정보는 API및 CLI 환경 설정 을 참조하십시오.

API를 사용하여 리소스에 대한 보안 그룹 설정

다음 예에서는 IBM Cloud VPC API를 사용하여 보안 그룹을 작성하고 관리하는 방법을 보여 줍니다.

보안 그룹을 사용하려면 먼저 IBM Cloud VPC를 실행해야 합니다..

VPC 및 서브넷 작성에 대한 지시사항은 VPC 작성을 참조하십시오.

1단계: 보안 그룹 작성

IBM Cloud VPC에서 my-security-group이라는 리소스 그룹을 작성하십시오.

curl -X POST "$vpc_api_endpoint/v1/security_groups?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token" \
  -d '{
        "name": "my-security-group",
        "vpc": { "id": "'$vpc'" }
      }'

나중에 사용할 수 있도록 ID를 변수(예: sg)에 저장하십시오.

sg=0738-2d364f0a-a870-42c3-a554-000000632953

2단계: SSH 연결을 허용하기 위한 규칙 추가

포트 22에서 인바운드 연결을 허용하도록 보안 그룹에 대한 규칙을 작성하십시오.

curl -X POST "$vpc_api_endpoint/v1/security_groups/$sg/rules?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token" \
  -d '{
        "direction": "inbound",
        "protocol": "tcp",
        "port_min": 22,
        "port_max": 22
      }'

3단계: 보안 그룹 삭제(선택사항)

보안 그룹을 정리하면 네트워크 인터페이스와 연관시킬 수 없으며 다른 보안 그룹의 규칙에서 참조할 수 없습니다.

curl -X DELETE "$vpc_api_endpoint/v1/security_groups/$sg?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token"

API를 사용하여 보안 그룹을 설정하는 방법에 대한 자세한 정보는 보안 그룹을 참조하십시오.