Code Engine 에서 서비스 엔드포인트 사용
모든 IBM Cloud® Code Engine 프로젝트는 IBM Cloud® 서비스 엔드포인트와의 통합을 제공합니다. 이 지원을 통해 기존 인프라에서 Code Engine 워크로드에 연결하고 IBM Cloud 네트워크 내에 머물 수 있습니다.
Code Engine 워크로드의 가시성을 제어하고 애플리케이션 또는 기능을 공용 또는 비공개 엔드포인트에 노출할지 여부를 지정할 수 있습니다. visibility = private 에 대해 구성된 애플리케이션 또는 기능은 서비스 엔드포인트를 통해 액세스됩니다. 서비스 엔드포인트를 통해 액세스하는 애플리케이션이나 기능은 IBM 네트워크를 벗어나지 않고 IBM Cloud 네트워크 내에 머물러 있습니다.
공용 엔드포인트
공용 엔드포인트는 공용 네트워크에서 배치에 대한 연결을 제공합니다. 프로비저닝 시 공용 엔드포인트는 모든 배치에 대한 기본 옵션입니다. 사용자 환경에는 배치에 연결하기 위한 인터넷 액세스 권한이 있어야 합니다.
사설 엔드포인트
사설 네트워크에 서비스 엔드포인트가 있는 배치는 공용 인터넷에서 액세스할 수 없는 엔드포인트를 가져옵니다. 모든 트래픽은 Code Engine 배치 전용 하드웨어로 라우팅되고 IBM Cloud 사설 네트워크에서 유지됩니다. 이 엔드포인트를 오가는 모든 트래픽은 무료이며 트래픽이 IBM Cloud 에 머무르는 조건으로 요금이 부과되지 않습니다. 사용자 환경에 IBM Cloud 사설 네트워크에 대한 액세스 권한이 있으면 인터넷 연결을 배치에 연결할 필요가 없습니다.
Code Engine 프라이빗 엔드포인트가 있는 애플리케이션 배포는 프라이빗 네트워크 내의 모든 계정에서 접속할 수 있으며 각 인스턴스에 대한 액세스는 인증이 필요합니다. 이 액세스를 특정 IP 주소, IP 주소 범위, IBM Cloud 서비스 또는 VPC로 제한하려면 컨텍스트 기반 제한 규칙을 구성하세요.
서비스 엔드포인트를 사용하여 안전하게 Code Engine 리소스 관리
-
사설 엔드포인트를 사용할 Code Engine 프로젝트를 지정하십시오. CLI에서만 개인용 엔드포인트를 사용하도록 Code Engine 프로젝트를 구성할 수 있습니다. 프로젝트를 작성하려면
ibmcloud ce project create명령을--endpoint=private옵션과 함께 사용하십시오.ibmcloud ce project create --name myproject --endpoint=private프로젝트가
active상태가 될 때까지 기다리십시오. CLI에서ibmcloud ce project get명령을 사용하여 프로젝트 상태를 확인할 수 있습니다.기존 Code Engine 프로젝트가 사설 엔드포인트를 사용하도록 하려면
ibmcloud ce project select명령을--endpoint=private옵션과 함께 사용하십시오.ibmcloud ce project select --name myproject --endpoint=privateproject create및project select명령의 경우,--endpoint옵션을 명시적으로 지정하지 않으면 동작이 시스템에 의해 결정됩니다. IBM Cloud CLI가private.cloud.ibm.com에 연결된 경우 Code Engine 프로젝트는--endpoint가private인 것처럼 동작합니다. IBM Cloud CLI가cloud.ibm.com에 연결된 경우 Code Engine 프로젝트는--endpoint가public인 것처럼 동작합니다. -
새 프로젝트를 만들지 않고 기존 프로젝트를 선택한 경우 애플리케이션이 비공개 엔드포인트에만 표시되도록 하려면 기존 프로젝트가 비공개 가시성을 가진 애플리케이션을 지원하는지 확인하세요.
ibmcloud ce project get명령을 사용하여Application Private Visibility Supported의 출력이true로 설정되었는지 확인하십시오. 값이false인 경우 기존 프로젝트 내에서 이 기능을 사용할 수 있도록 IBM 지원 센터에 문의하십시오.ibmcloud ce project get -n myproject출력 예
Getting project 'myproject'... OK Name: myproject ID: abcdabcd-abcd-abcd-abcd-f1de4aab5d5d Status: active Enabled: true Application Private Visibility Supported: false Selected: true Region: us-south Resource Group: default Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f Age: 52d Created: Tue, 28 Sep 2021 05:12:16 -0500 Updated: Tue, 28 Sep 2021 05:12:19 -0500 Quotas: Category Used Limit App revisions 1 60 Apps 1 20 Build runs 1 100 Builds 2 100 Configmaps 2 100 CPU 0 64 Ephemeral storage 0 256G Instances (active) 0 250 Instances (total) 0 2500 Job runs 0 100 Jobs 0 100 Memory 0 256G Secrets 6 100 Subscriptions (cron) 0 100 Subscriptions (IBM Cloud Object Storage) 0 100 Subscriptions (Kafka) 0 100 -
비공개 엔드포인트에서만 볼 수 있는 애플리케이션 또는 함수를 만듭니다.
ibmcloud ce application create또는ibmcloud ce function create명령을--visibility=private옵션과 함께 사용하십시오. 또는 콘솔을 사용하여 애플리케이션 또는 기능을 만들거나 업데이트하고 앱의 가시성을 설정할 수 있습니다.ibmcloud ce application create -n myapp --visibility=private
서비스 엔드포인트로 애플리케이션에 안전하게 액세스하기
-
Code Engine 프로젝트에서 애플리케이션이
visibility=private설정으로 구성되었는지 확인하십시오. 비공개 엔드포인트로 애플리케이션 배포하기를 참조하세요. -
사설 네트워크에 노출된 Code Engine 애플리케이션의 URL을 검색하십시오. URL은
<app>.<uuid>.private.<region>.codeengine.appdomain.cloud형식입니다.-
Code Engine 콘솔에서 애플리케이션의 도메인 매핑 탭으로 이동하여 애플리케이션의 표시 여부와 사용 가능한 URL을 확인합니다.
-
Code Engine CLI 에서
--option url옵션과 함께ibmcloud ce application get명령을 사용하십시오. 다음 예제에서는myapp의 가시성이visibility=private으로 설정되어 있으므로 이 명령에--option url을 지정하면 비공개 네트워크로 URL 출력됩니다.ibmcloud ce application get -n myapp -output url출력 예
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
-
-
IBM Cloud 비공개 네트워크 내에서 애플리케이션을 호출합니다(예: IBM Cloud 셸에서 애플리케이션 호출).
myapp애플리케이션은 간단한 Hello World 애플리케이션입니다. cURL, 을 사용하여myapp애플리케이션을 실행하면Hello World이 반환됩니다. 예를 들어 IBM Cloud 셸에서 실행합니다:curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
서비스 엔드포인트를 사용하여 안전하게 기능에 액세스
-
Code Engine 프로젝트에서
visibility=private설정으로 함수가 구성되었는지 확인합니다. 사설 엔드포인트를 사용하여 기능 배치 를 참조하십시오. -
비공개 네트워크에 노출된 Code Engine 함수의 URL 를 검색합니다. URL은
<function>.<uuid>.private.<region>.codeengine.appdomain.cloud형식입니다.-
Code Engine 콘솔에서 함수에 대한 도메인 매핑 탭으로 이동하여 함수의 표시 여부와 사용 가능한 URL을 확인합니다.
-
Code Engine CLI 에서
ibmcloud ce function get명령을 사용하십시오. 다음 예제에서는myfunction의 가시성이visibility=private으로 설정되어 있으므로 이 명령은 URL 비공개 네트워크로 출력합니다.ibmcloud ce function get -n myfunction출력 예
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
-