아웃바운드 연결 작업 Code Engine

IBM Cloud® Code Engine 아웃바운드 연결 기능은 Code Engine 프로젝트에 대해 도달 가능한 엔드포인트를 정의하는 기능을 지원합니다.

  • 아웃바운드 연결에 허용된 대상 IP 주소 범위를 CIDR 표기법으로 사용합니다.
  • Code Engine 콘솔 또는 CLI를 사용하여 Code Engine 프로젝트를 IBM Cloud VPC 비공개 경로 서비스에 연결합니다.

콘솔이나 CLI를 사용하여 아웃바운드 연결을 생성할 수 있습니다.

아웃바운드 연결에 허용되는 대상 IP 주소 범위

허용된 대상 IP 주소 범위는 아웃바운드 트래픽이 안전하다고 정의한 주소로 제한되도록 합니다. 따라서 원치 않는 인터넷 액세스를 방지하고 규정 준수 및 보안을 강화할 수 있습니다.

CIDR 범위 사양은 항상 허용되는 대상인 프로젝트 내부 통신, 비공개 경로 연결 또는 비공개 서비스 연결에는 영향을 미치지 않습니다. 따라서 CIDR 범위를 기준으로 아웃바운드 트래픽을 제한해도 Code Engine 프로젝트 내의 애플리케이션이 서로 통신하거나 연결된 비공개 경로 서비스 또는 IBM Cloud 서비스 API의 비공개 엔드포인트와 통신하는 것을 막지는 못합니다.

사용 사례에 따라 아웃바운드 연결 사양이 결정될 수 있습니다. 일반적인 유스 케이스는 다음과 같습니다.

  • 프로젝트 내의 Code Engine 애플리케이션이 외부 엔드포인트에 도달해서는 안 되는 경우 규칙을 지정하지 않음(즉, 허용된 IP 주소 없음).
  • 허용되는 단일 대상 IP 주소 범위(0.0.0.0/0)를 지정하여 가능한 모든 엔드포인트를 허용합니다. 기본적으로 IP 범위가 0.0.0.0/0 로 설정된 allow-all이라는 이름의 규칙이 있습니다.
  • Code Engine 프로젝트 내의 워크로드가 지정된 범위의 엔드포인트(예: 온프레미스 데이터 센터)에만 도달하도록 허용되는 대상 IP 주소 범위가 있는 규칙을 지정합니다.

비공개 경로 연결

비공개 경로를 사용하면 보안을 손상시키거나 VPC를 위험에 빠뜨리지 않고 IBM Cloud 서비스와 Code Engine 같은 서비스 사이를 연결할 수 있습니다. 공급업체의 VPC에 연결하기 위해 IBM Cloud 서비스 사용 설정하기를 참조하세요.

이 다이어그램은 Code Engine 애플리케이션의 VPE 게이트웨이와 VPC에 연결하여 비공개 경로 서비스를 설정하는 방법을 보여줍니다. 먼저 Code Engine 애플리케이션이 Code Engine 의 VPC 내 VPE 게이트웨이에 연결됩니다. 그런 다음 VPE 게이트웨이가 공급자의 VPC에 있는 비공개 경로 NLB에 연결합니다. 차례로 비공개 경로 NLB는 공급자의 애플리케이션에 연결합니다. 그러면 공급자의 애플리케이션이 요청에 응답합니다. 이 비공개 경로 서비스 활동은 IBM Cloud 비공개 네트워크의 단일 영역(예: us-south)에 완전히 포함되어 있습니다.

개인 경로를 사용하여 Code Engine 프로젝트를 개인 네트워크를 통해 VPC에 연결합니다.
개인 경로를 사용하여 Code Engine 프로젝트를 개인 네트워크를 통해 VPC에 연결합니다.

아래 다이어그램은 비공개 경로를 Code Engine 프로젝트와 연결하는 데 도움이 되는 추가 예시를 보여줍니다:

개인 경로를 사용하여 Code Engine 프로젝트를 VPC 또는 기타 외부 네트워크의 다양한 대상에 연결합니다.
개인 경로를 사용하여 Code Engine 프로젝트를 VPC 또는 기타 외부 네트워크의 다양한 대상에 연결합니다

비공개 서비스 연결

모든 Code Engine 프로젝트의 허용된 아웃바운드 대상의 일부로 공통 IBM Cloud 플랫폼 서비스 집합의 비공개 엔드포인트에 연결할 수 있습니다. 사용 가능한 플랫폼 서비스 세트는 다음 표에 자세히 설명된 대로 지역별로 다릅니다.

지역별 프라이빗 엔드포인트가 활성화된 플랫폼 서비스
플랫폼 서비스 지역에서 사용 가능한 비공개 엔드포인트
글로벌 검색 (엔드포인트 URL ) 및 글로벌 태깅 (엔드포인트 URL ) au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, jp-osa, jp-tok, us-east, us-south
글로벌 카탈로그 ( 엔드포인트 URL ) au-syd, br-sao, eu-de, jp-osa, us-east, us-south
계정 관리 (엔드포인트 URL (https://private.accounts.cloud.ibm.com) ) eu-de, us-east, us-south
사용량 측정 ( 엔드포인트 URL ) eu-de, us-east, us-south
엔터프라이즈 관리 ( 엔드포인트 URL ) eu-de, us-east, us-south
리소스 컨트롤러 ( 엔드포인트 URL ) eu-de, us-east, us-south
사용자 관리 ( 엔드포인트 URL ) eu-de, us-east, us-south

콘솔을 사용하여 허용된 아웃바운드 대상 관리하기

아웃바운드 연결에 허용된 대상 IP 주소 범위 추가하기

허용된 대상 IP 주소 범위를 생성하여 외부 네트워크를 통해 워크로드가 연결할 수 있는 위치를 제한할 수 있습니다.

  1. ‘연결’ 페이지로 이동하세요:
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택합니다.
    2. 프로젝트 설정 > 연결 > CIDR 범위 탭을 클릭하여 기존에 허용된 대상 IP 주소 범위 목록을 확인합니다.
  2. 추가를 클릭하여 허용된 대상 IP 주소 범위를 생성합니다.
  3. 이름을 입력하십시오.
  4. CIDR 표기법으로 IP 주소 범위를 입력하십시오.
  5. 구성을 확인합니다.

아웃바운드 연결을 위한 비공개 경로 연결 추가하기

Code Engine 프로젝트와 VPC 사이에 비공개 경로 연결을 설정할 수 있습니다.

  1. ‘연결’ 페이지로 이동하세요:
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택합니다.
    2. 프로젝트 설정 > 연결 > 비공개 경로 연결 탭을 클릭하면 기존 비공개 경로 연결 목록을 볼 수 있습니다.
  2. ‘추가’를 클릭하여 비공개 경로 연결을 생성하세요.
  3. 이름을 입력하십시오.
  4. 연결할 비공개 경로 서비스 인스턴스를 이름 또는 CRN으로 지정합니다.
    1. 이름 드롭다운 목록에서 비공개 경로 서비스 인스턴스를 선택합니다.
    2. CRN으로 비공개 경로 서비스 인스턴스 CRN을 입력합니다.
  5. 격리 정책을 선택합니다:
    1. 공유- 대상 VPC와 동일한 IBM Cloud 계정에 있는 Code Engine 프로젝트 또는 동일한 엔터프라이즈 계정군 내의 계정 간에 비공개 경로 연결을 재사용할 수 있도록 허용합니다.
    2. 전용- 이 비공개 경로 연결의 사용을 정확히 하나의 Code Engine 프로젝트로 제한합니다.
  6. 구성을 확인합니다.

VPC에 대한 연결이 생성되면 비공개 경로 서비스 소유자가 연결 요청을 받게 됩니다. 소유자는 이 연결 요청을 검토, 허용 또는 거부할 수 있습니다. 비공개 경로 연결 세부 정보 보기에 표시되는 Code Engine account IDVPE gateway creation timestamp 소비자를 사용하여 비공개 경로 서비스 내에서 연결 요청을 식별합니다.

아웃바운드 연결에 허용된 대상 IP 주소 범위 업데이트하기

허용된 대상 IP 주소 범위를 변경하여 워크로드가 의도하지 않은 엔드포인트(예: 공용 인터넷에 연결)에 연결하지 못하도록 할 수 있습니다.

  1. ‘연결’ 페이지로 이동하세요:
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택합니다.
    2. 프로젝트 설정 > 연결 > CIDR 범위 탭을 클릭하여 기존에 허용된 대상 IP 주소 범위 목록을 확인합니다.
  2. 편집하려는 허용된 대상 IP 주소 범위가 있는 행을 클릭합니다.
  3. 업데이트된 IP 주소 범위를 입력하고 변경 사항을 저장합니다.

아웃바운드 연결 규칙을 업데이트할 때는 다음 사항에 유의하세요:

  • 허용된 대상 IP 주소 범위는 충돌하지 않고 추가됩니다. 여러 범위를 정의하는 경우 허용된 대상은 지정된 모든 범위의 합집을 생성하므로 범위를 추가하는 순서가 결과 허용 대상에 영향을 미치지 않습니다. 기존 범위가 이미 커버하고 있는 두 번째 범위를 추가하면 시스템에서 중복으로 간주하여 생성을 거부합니다.

  • IP 주소 범위 0.0.0.0/0 를 지정하면 기존 규칙이 모두 제거되고 전체 연결이 열립니다.

  • 아웃바운드 연결 규칙을 제한한 후에는 워크로드가 규칙을 적용하는 데 다소 시간이 걸릴 수 있습니다. 예를 들어 코드에서 사용되는 HTTP 클라이언트가 아웃바운드 연결 규칙을 업데이트하기 전에 연결을 설정하면 해당 엔드포인트에 대한 연결을 열 수 있습니다. 아웃바운드 연결 규칙이 즉시 적용되도록 하려면 모든 연결을 초기화하세요. 워크로드를 다시 배포하거나 코드에서 이러한 상황을 처리하여 재설정할 수 있습니다.

  • Code Engine 프로젝트에서 아웃바운드 연결을 제한하면 외부 요청을 할 수 없어 빌드 실행이 실패하는 등 의도하지 않은 부작용이 발생할 수 있습니다.

아웃바운드 연결을 위한 비공개 경로 연결 업데이트하기

Code Engine 프로젝트와 VPC 사이의 비공개 경로 연결을 dedicated 또는 shared 로 변경할 수 있습니다.

  • 개인 경로 연결은 shared 이므로 대상 VPC와 동일한 IBM Cloud 계정에 있는 Code Engine 프로젝트 또는 동일한 엔터프라이즈 계정 제품군 내의 계정 간에 재사용할 수 있습니다.
  • 비공개 경로 연결을 정확히 하나의 Code Engine 프로젝트로만 사용하도록 제한하려면 격리 정책을 dedicated 로 설정하세요.
  • dedicated 비공개 경로 연결은 언제든지 shared 으로 변경할 수 있습니다.
  • shared 비공개 경로 연결은 둘 이상의 Code Engine 프로젝트에서 사용하지 않는 경우에만 dedicated 으로 변경할 수 있습니다.

비공개 경로 연결의 격리 정책을 업데이트하려면 다음과 같이 하세요:

  1. ‘연결’ 페이지로 이동하세요:
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택합니다.
    2. 프로젝트 설정 > 연결 > 비공개 경로 연결 탭을 클릭하면 기존 비공개 경로 연결 목록을 볼 수 있습니다.
  2. 업데이트하려는 비공개 경로 연결이 있는 행으로 이동하여 점 3개 행 작업 아이콘을 클릭하고 격리 정책 변경 옵션을 선택합니다.
  3. 대화 상자에서 변경을 클릭하여 변경 사항을 확인합니다.

아웃바운드 연결에 대해 허용된 아웃바운드 대상 삭제하기

아웃바운드 연결에 대해 더 이상 정의하지 않으려면 이전에 정의한 허용된 아웃바운드 대상을 삭제할 수 있습니다.

허용된 대상 IP 주소 범위를 삭제하면 프로젝트 내의 Code Engine 애플리케이션, 기능 및 작업에 대한 아웃바운드 트래픽이 차단됩니다.

  1. ‘연결’ 페이지로 이동하세요:
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택합니다.
    2. 프로젝트 설정 > 연결 > CIDR 범위 탭을 클릭하여 기존 허용된 대상 IP 주소 범위 목록을 보거나 비공개 경로 연결 탭을 클릭하여 기존 비공개 경로 연결 목록을 확인합니다.
  2. 제거하려는 허용된 발신 목적지가 있는 행으로 이동하여 점 3개 행 작업 아이콘을 클릭하고 삭제 옵션을 선택합니다.
  3. 메시지가 표시되면 삭제를 확인합니다.

CLI를 사용하여 허용된 아웃바운드 대상 관리하기

CLI 명령을 사용하여 허용된 아웃바운드 대상과 작업하려면 IBM Cloud 계정에 로그인하고 Code Engine 계정 및 리소스 그룹을 선택합니다.

아웃바운드 연결에 허용된 대상 IP 주소 범위 추가하기

Code Engine 연결 아웃바운드 CLI 명령의 경우 다음을 지정할 수 있습니다 --name--cidr 값을 지정하여 허용되는 대상 IP 주소 범위를 구성할 수 있습니다. 다음 CIDR 가이드라인을 따르세요:

  • 예약된 IP 범위에서 IP 범위를 사용하지 마세요.
  • --name--cidr 값을 중복해서 사용하지 마세요.
  • 지원되지 않는 CIDR 이름을 사용하지 마세요.
  • 지원되지 않는 IP 주소 범위는 사용하지 마십시오. CIDR 표기법을 따릅니다.

허용된 대상 IP 주소 범위를 생성하여 외부 네트워크를 통해 워크로드가 연결할 수 있는 위치를 제한할 수 있습니다.

  1. Code Engine 프로젝트를 선택하세요. 예를 들어, 다음과 같습니다.

    ibmcloud ce project select --name myproject
    
  2. --name--cidr 옵션을 지정하여 허용된 대상 IP 주소 범위를 생성합니다. 유효한 이름과 IP 주소를 입력합니다. 다음 예시를 참조하세요:

    ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
    

아웃바운드 연결을 위한 비공개 경로 연결 추가하기

Code Engine 연결 아웃바운드 CLI 명령의 경우 다음을 지정할 수 있습니다 --name, --format, --pps-crn, 그리고 선택적으로 --isolation-policy 값을 지정하여 Code Engine 프로젝트와 VPC 사이에 비공개 경로 연결을 설정할 수 있습니다.

  1. Code Engine 프로젝트를 선택하세요. 예를 들어, 다음과 같습니다.

    ibmcloud ce project select --name myproject
    
  2. --name, --format, --pps-crn 을 지정하여 아웃바운드 연결을 위한 비공개 경로 연결을 만듭니다. 유효한 이름, 형식 및 CRN을 입력합니다. --isolation-policy 을 지정하는 경우 shared 또는 dedicated 을 입력합니다. 다음 예시를 참조하세요:

    ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f
    
    ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
    

VPC에 대한 연결이 생성되면 비공개 경로 서비스 소유자가 연결 요청을 받게 됩니다. 소유자는 이 연결 요청을 검토, 허용 또는 거부할 수 있습니다. 비공개 경로 연결 세부 정보 보기에 표시되는 Code Engine account IDVPE gateway creation timestamp 소비자를 사용하여 비공개 경로 서비스 내에서 연결 요청을 식별합니다.

아웃바운드 연결에 대해 허용된 기존 목적지 표시

허용된 특정 아웃바운드 대상을 표시하려면 이름을 지정합니다. 예를 들어, 다음과 같습니다.

ibmcloud ce connectivity outbound get --name my-allowed-destination

허용된 모든 아웃바운드 목적지를 표시하려면 실행합니다:

ibmcloud ce connectivity outbound list

예를 들어 허용된 아웃바운드 대상의 선택된 형식을 표시하려면 다음과 같이 실행합니다:

ibmcloud ce connectivity outbound list --format cidr,pps

ibmcloud ce connectivity outbound list --format cidr

ibmcloud ce connectivity outbound list --format pps

아웃바운드 연결에 허용된 대상 IP 주소 범위 업데이트하기

허용된 대상 IP 주소 범위를 변경하여 워크로드가 의도하지 않은 엔드포인트(예: 공용 인터넷에 연결)에 연결하지 못하도록 할 수 있습니다.

--name--cidr 옵션을 지정하여 허용되는 대상 IP 주소 범위를 업데이트합니다. 유효한 이름과 IP 주소를 입력합니다. 다음 예시를 참조하세요:

ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0 --force

아웃바운드 연결 규칙을 업데이트할 때는 다음 사항에 유의하세요:

  • 허용된 대상 IP 주소 범위는 충돌하지 않고 추가됩니다. 여러 범위를 정의하는 경우 허용된 대상은 지정된 모든 범위의 합집을 생성하므로 범위를 추가하는 순서가 결과 허용 대상에 영향을 미치지 않습니다. 기존 범위가 이미 커버하고 있는 두 번째 범위를 추가하면 시스템에서 중복으로 간주하여 생성을 거부합니다.

  • IP 주소 범위 0.0.0.0/0 를 지정하면 기존 규칙이 모두 제거되고 전체 연결이 열립니다.

  • 아웃바운드 연결 규칙을 제한한 후에도 워크로드가 규칙을 적용하는 데 다소 시간이 걸릴 수 있습니다. 예를 들어 코드에서 사용되는 HTTP 클라이언트가 아웃바운드 연결 규칙을 업데이트하기 전에 연결을 설정하면 해당 엔드포인트에 대한 연결을 열 수 있습니다. 아웃바운드 연결 규칙이 즉시 적용되도록 하려면 모든 연결을 초기화하세요. 워크로드를 다시 배포하거나 코드에서 이러한 상황을 처리하여 재설정할 수 있습니다.

  • Code Engine 프로젝트에서 아웃바운드 연결을 제한하면 외부 요청을 할 수 없어 빌드 실행이 실패하는 등 의도하지 않은 부작용이 발생할 수 있습니다.

아웃바운드 연결을 위한 비공개 경로 연결 업데이트하기

Code Engine 프로젝트와 VPC 사이의 비공개 경로 연결을 dedicated 또는 shared 로 변경할 수 있습니다.

  • 개인 경로 연결은 shared 이므로 대상 VPC와 동일한 IBM Cloud 계정에 있는 Code Engine 프로젝트 또는 동일한 엔터프라이즈 계정 제품군 내의 계정 간에 재사용할 수 있습니다.
  • 비공개 경로 연결을 정확히 하나의 Code Engine 프로젝트로만 사용하도록 제한하려면 --isolation-policydedicated 로 설정합니다.
  • dedicated 비공개 경로 연결은 언제든지 shared 으로 변경할 수 있습니다.
  • shared 비공개 경로 연결은 둘 이상의 Code Engine 프로젝트에서 사용하지 않는 경우에만 dedicated 으로 변경할 수 있습니다.

비공개 경로 연결을 업데이트하려면 --name--isolation-policy 옵션을 지정합니다. 다음 예시를 참조하세요:

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared

아웃바운드 연결에 대해 허용된 아웃바운드 대상 삭제하기

아웃바운드 연결에 대해 더 이상 정의하지 않으려면 이전에 정의한 허용된 아웃바운드 대상을 삭제할 수 있습니다.

허용된 대상 IP 주소 범위를 삭제하면 프로젝트 내의 Code Engine 애플리케이션, 기능 및 작업에 대한 아웃바운드 트래픽이 차단됩니다.

확인을 통해 허용된 아웃바운드 대상을 삭제하려면 이름을 지정합니다. 예를 들어, 다음과 같습니다.

ibmcloud ce connectivity outbound delete --name my-allowed-destination

허용된 아웃바운드 대상을 강제로 삭제하려면(즉, 확인 없이) 실행합니다:

ibmcloud ce connectivity outbound delete --name my-allowed-destination --force