Code Engine에서 가상 사설 엔드포인트 사용
모든 IBM Cloud® Code Engine 프로젝트는 VPC(Virtual Private Cloud)용 IBM Cloud® VPE(Virtual Private Endpoints)와의 통합을 제공합니다. 이 지원은 VPC내의 서브넷에서 할당되는 선택한 IP 주소를 사용하여 VPC 네트워크에서 Code Engine 애플리케이션 또는 기능에 연결하는 기능을 제공합니다.
Code Engine에서는 다음 유형의 VPE를 사용할 수 있습니다.
- 프로젝트 리소스 관리용 가상 사설 엔드포인트. 지역당 하나의 정적 VPE가 있습니다.
- 애플리케이션 액세스용 가상 사설 엔드포인트. Code Engine 프로젝트당 하나의 VPE가 있습니다. 프로젝트 내의 모든 앱은 이 VPE를 사용하여 액세스할 수 있습니다.
사설 엔드포인트는 IBM Cloud 사설 네트워크에서 프로젝트 리소스, 애플리케이션 또는 기능에 대한 연결을 제공합니다. 가상 사설 엔드포인트를 통해 연결하면 모든 트래픽이 Code Engine 애플리케이션 전용 하드웨어로 라우팅되고 IBM Cloud Private 네트워크에 남아 있습니다. 트래픽이 IBM Cloud에 남아 있는 조건에서 이 엔드포인트를 오가는 모든 트래픽에 대한 추가 비용은 없습니다.
Code Engine 프로젝트는 공용 및 가상 사설 엔드포인트를 모두 사용하여 구성됩니다.
Code Engine 애플리케이션의 가시성 을 제어하고 애플리케이션 또는 기능을 공용 또는 개인용 엔드포인트에 노출할지 여부를 지정할 수 있습니다. 사설 네트워크에 대해 구성된 애플리케이션 또는 기능은 VPE를 통해 또는 다른 Code Engine 애플리케이션 또는 기능을 통해 액세스할 수 있습니다. VPE를 통해 액세스되는 애플리케이션 또는 기능은 IBM 네트워크를 떠나지 않으며 IBM Cloud 네트워크 내에 유지됩니다.
VPE를 사용하여 안전하게 프로젝트 리소스 관리
시작하기 전에 IBM Cloud 계정이 있어야 합니다.
-
IBM Cloud® Virtual Private Cloud를 작성하십시오. 시작하기 지시사항을 따르십시오.
-
VPC에 최소 하나의 가상 서버 인스턴스(VSI)가 있고 VSI에 연결할 수 있는지 확인하십시오. VPC 콘솔, CLI및 API를 사용하여 IBM Cloud 콘솔의 IBM Cloud® Virtual Private Cloud 페이지에서 VSI를 프로비저닝할 수 있습니다.
- VSI에 액세스할 SSH 키를 작성하십시오.
- 콘솔을 사용하여 가상 서버 인스턴스를 작성하십시오.
- 인터넷에서 인스턴스에 연결할 수 있도록 유동 IP 주소를 예약하십시오.
- VSI에 연결하십시오.
-
IBM Cloud 콘솔에서 메뉴 아이콘을 클릭하고 VPC 인프라 -> 네트워크 -> 가상 사설 엔드포인트 게이트웨이를 선택하십시오. 이 지시사항에 따라 지역 Code Engine 엔드포인트
api.<region>.codeengine.cloud.ibm.com에 대한 VPE를 작성하십시오. -
VPE를 작성한 후 새 VPE 및 사설 DNS(pDNS)가 프로세스를 완료하고 VPC에 대한 작업을 시작하는 데 몇 분 정도 걸릴 수 있습니다. VPE의 세부사항 보기에 IP 주소 세트가 표시되면 완료가 확인된 것입니다.
-
VSI에 SSH로 접속하고
root@를 사용하십시오. 예를 들어,ssh root@<VSI_floating_IP_address>입니다. -
VSI 내에서 Code Engine 리소스에 액세스하려면 Code Engine CLI 환경을 설정하십시오. IBM Cloud CLI가
private.cloud.ibm.com에 연결되어 있는지 확인하십시오. -
사설 엔드포인트를 사용할 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명령을--visibility=private옵션과 함께 사용하십시오. 또는 콘솔을 사용하여 앱을 작성하거나 기존 앱을 업데이트하고 앱 가시성을 설정할 수 있습니다.ibmcloud ce application create -n myapp --visibility=private
이제 프로젝트 리소스를 관리하도록 가상 사설 엔드포인트를 구성하고 설정했습니다. 사설 엔드포인트에 노출할 앱을 제어하려는 경우 애플리케이션에 액세스하도록 VPE를 설정할 수 있습니다.
VPE를 사용하여 안전하게 앱에 액세스
시작하기 전에 IBM Cloud 계정이 있어야 합니다.
선택한 프로젝트에서 애플리케이션 비공개 가시성을 지원하는 경우에만 VPE를 사용하여 사설 엔드포인트로 앱에 액세스할 수 있습니다. 프로젝트에서 애플리케이션 비공개 가시성을 지원하는지 확인하려면 ibmcloud ce project get 명령을 사용하여 Application Private Visibility Supported의 출력이 true로 설정되었는지 확인하십시오.
-
IBM Cloud® Virtual Private Cloud를 작성하십시오. 시작하기 지시사항을 따르십시오.
-
VPC에 최소 하나의 가상 서버 인스턴스(VSI)가 있고 VSI에 연결할 수 있는지 확인하십시오. 콘솔, CLI및 API를 사용하여 IBM Cloud 콘솔의 IBM Cloud® Virtual Private Cloud 페이지에서 가상 서버 인스턴스를 빠르게 프로비저닝할 수 있습니다.
- VSI에 액세스할 SSH 키를 작성하십시오.
- UI를 사용하여 가상 서버 인스턴스를 작성하십시오.
- 인터넷에서 인스턴스에 연결할 수 있도록 유동 IP 주소를 예약하십시오.
- VSI에 연결하십시오.
-
Code Engine 프로젝트에서 애플리케이션이
visibility=private설정으로 구성되었는지 확인하십시오. 사설 엔드포인트를 사용하여 앱 배치를 참조하십시오. -
IBM Cloud 콘솔에서 메뉴 아이콘을 클릭하고 VPC 인프라 -> 네트워크 -> 가상 사설 엔드포인트 게이트웨이를 선택하십시오. 이 지시사항에 따라 개인용 애플리케이션 가시성에 사용할 특정 프로젝트에 대해 지역 Code Engine 엔드포인트에 대한 VPE를 작성하십시오. 이 프로젝트는 엔드포인트와 함께 테이블에
*.<uuid>.private.<region>.codeengine.appdomain.cloud형식으로 나열됩니다. -
VPE를 작성한 후 새 VPE 및 사설 DNS(pDNS)가 프로세스를 완료하고 VPC에 대한 작업을 시작하는 데 몇 분 정도 걸릴 수 있습니다. VPE의 세부사항 보기에 IP 주소 세트가 표시되면 완료가 확인된 것입니다.
-
사설 네트워크에 노출된 Code Engine 애플리케이션의 URL을 검색하십시오. URL은
<app>.<uuid>.private.<region>.codeengine.appdomain.cloud형식입니다. Code Engine 콘솔에서 애플리케이션의 도메인 맵핑 탭으로 이동하여 앱 및 사용 가능한 URL의 가시성을 보십시오. Code Engine CLI에서는ibmcloud ce application get명령을--option url옵션과 함께 사용할 수 있습니다.myapp의 가시성이visibility=private으로 설정되어 있기 때문에 이 명령과 함께--option url을 지정하면 사설 네트워크에 대한 URL이 출력됩니다.ibmcloud ce application get -n myapp -output url출력 예
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
이제 VSI에서 인스턴스를 사용할 수 있습니다. 애플리케이션을 호출하십시오.
myapp애플리케이션은 간단한 Hello World 애플리케이션입니다.myapp앱에 대해 curl을 실행하면Hello World가 리턴됩니다.curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
VPE를 사용하여 안전하게 기능에 액세스
시작하기 전에 IBM Cloud 계정이 있어야 합니다.
선택한 프로젝트가 기능 개인용 가시성 을 지원하는 경우에만 VPE를 사용하여 개인용 엔드포인트로 기능에 액세스할 수 있습니다. 프로젝트가 기능 개인용 가시성을 지원하는지 확인하려면 ibmcloud ce project get 명령을 사용하여 Application Private Visibility Supported 의 출력이 true 로 설정되어 있는지 확인하십시오.
-
IBM Cloud® Virtual Private Cloud를 작성하십시오. 시작하기 지시사항을 따르십시오.
-
VPC에 최소 하나의 가상 서버 인스턴스(VSI)가 있고 VSI에 연결할 수 있는지 확인하십시오. 콘솔, CLI및 API를 사용하여 IBM Cloud 콘솔의 IBM Cloud® Virtual Private Cloud 페이지에서 가상 서버 인스턴스를 빠르게 프로비저닝할 수 있습니다.
- VSI에 액세스할 SSH 키를 작성하십시오.
- UI를 사용하여 가상 서버 인스턴스를 작성하십시오.
- 인터넷에서 인스턴스에 연결할 수 있도록 유동 IP 주소를 예약하십시오.
- VSI에 연결하십시오.
-
Code Engine 프로젝트에서 애플리케이션이
visibility=private설정으로 구성되었는지 확인하십시오. 사설 엔드포인트를 사용하여 앱 배치를 참조하십시오. -
IBM Cloud 콘솔에서 메뉴 아이콘을 클릭하고 VPC 인프라 -> 네트워크 -> 가상 사설 엔드포인트 게이트웨이를 선택하십시오. 이 지시사항에 따라 개인용 애플리케이션 가시성에 사용할 특정 프로젝트에 대해 지역 Code Engine 엔드포인트에 대한 VPE를 작성하십시오. 이 프로젝트는 엔드포인트와 함께 테이블에
*.<uuid>.private.<region>.codeengine.appdomain.cloud형식으로 나열됩니다. -
VPE를 작성한 후 새 VPE 및 사설 DNS(pDNS)가 프로세스를 완료하고 VPC에 대한 작업을 시작하는 데 몇 분 정도 걸릴 수 있습니다. VPE의 세부사항 보기에 IP 주소 세트가 표시되면 완료가 확인된 것입니다.
-
사설 네트워크에 노출된 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
이제 VSI에서 인스턴스를 사용할 수 있습니다.