개인용 연결을 통해 이용자에게 서비스 노출
이 튜토리얼에서는 비용이 발생할 수 있습니다. Cost Estimator를 사용하여 예상 사용량을 기반으로 비용 추정값을 생성하십시오.
이 학습서에서는 제공자와 이용자 세트 간에 Private Path service 를 설정하는 단계를 안내합니다. Private Path service를 사용하여 이용자는 인터넷을 순회하지 않고 IBM 백본을 통해 제공자가 구현한 애플리케이션 또는 서비스에 액세스합니다.
목표
- Private Path service 기본 사항을 이해합니다.
- 공용 엔드포인트를 노출하지 않고 하나의 계정으로 애플리케이션을 배치합니다.
- Private Path service를 사용하여 애플리케이션을 노출하십시오.
- 개인용 연결을 통해서만 이용자 클라이언트에서 애플리케이션에 액세스하십시오.
- 제공자는 여러 구역에 분산된 여러 가상 서버에서 지원하는 복원성 애플리케이션을 구현합니다.
- 제공자는 가상 서버를 가리키는 백엔드 풀로 구성된 Private Path network load balancer (NLB) 를 작성하여 라운드 로빈 알고리즘을 사용하여 서버 간에 로드를 분배합니다.
- Private Path service 는 Private Path NLB 를 참조하고 이용자가 사용하는 서비스 엔드포인트를 지정합니다.
- 이용자는 가상 사설 엔드포인트 게이트웨이를 통해 제공자 애플리케이션에 액세스합니다. 모든 트래픽은 IBM Cloud에 대해 개인용으로 유지됩니다.
시작하기 전에
이 튜토리얼에는 다음 항목이 필요합니다.
- 하나의 IBM Cloud 청구 가능 계정 이 제공자 및 이용자 리소스를 모두 호스팅합니다.
- 튜토리얼에서 프로비저닝된 가상 서버 인스턴스에 연결하기 위한 VPC SSH키입니다.
VPC ssh 키 작성
가상 서버 인스턴스를 프로비저닝할 때 나중에 서버에 연결할 수 있도록 SSH 키가 인스턴스에 주입됩니다. 이 SSH키는 학습서 자원을 배치할 동일한 지역에 있어야 합니다.
- IBM Cloud에 SSH키가 구성되어 있지 않은 경우 VPC용키 작성에 대한 이 지시사항 을 참조하십시오.
- SSH키에 사용한 이름을 기록해 두십시오.
제공자 자원 및 애플리케이션 작성
이 학습서에서는 먼저 제공자 역할을 수행하고 애플리케이션을 구현합니다. 두 번째 단계에서는 이용자의 역할을 수행하고 애플리케이션을 호출합니다. 애플리케이션은 단순 nginx 웹 서버입니다.
- Schematics 로 이동하여 새 작업공간을 작성하십시오.
- 템플리트 지정 단계에서 다음을 수행하십시오.
- 저장소 URL 를
https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/provider로 설정합니다. - 전체 저장소 사용을 선택하십시오.
- Terraform 버전 을
terraform_v1.5로 설정하십시오. - 다음 을 클릭하십시오.
- 저장소 URL 를
- 워크스페이스 세부 정보 단계에서
- 작업공간 이름 을
pps-provider로 설정하십시오. - 작업공간을 작성할 자원 그룹 및 위치 를 선택하십시오. 이는 학습서에 대해 작성된 자원에는 영향을 주지 않습니다.
- 다음을 클릭하십시오.
- 작업공간 이름 을
- 작성을 클릭하십시오.
설정작업공간의 변수아래에서 다음을 수행하십시오.
- '
existing_ssh_key_name변수를 찾습니다.- 메뉴 (대화 상자) 를 사용하여 해당 값을 편집 하십시오.
- 값을 이전 섹션에서 작성한 SSH키의 이름 또는 기존 SSH키로 설정하십시오.
- 저장.
- 선택적으로
region,basename와 같은 다른 변수의 값을 조정할 수도 있습니다.
마지막으로 자원을 작성하십시오.
- 플랜 적용을 클릭하십시오.
- Schematics 가 리소스의 프로비저닝을 완료할 때까지 기다리십시오.
제공자 자원 및 애플리케이션 검토
제공자에 대해 Schematics 를 실행하면 다음 자원이 작성됩니다.
- 하나의 가상 프라이빗 클라우드(VPC),
- 세 개의 서브넷, 각 구역에 대해 하나씩,
- 각 서브넷에서 최소 하나의 가상 서버 인스턴스
- 모든 가상 서버 인스턴스를 포함하여 백엔드 풀로 구성된 Private Path NLB
- 및 Private Path service입니다.
- 가상 프라이빗 클라우드, 서브넷 및 가상 서버 인스턴스 로 이동하여 프로비저닝된 리소스를 검토하십시오.
- 로드 밸런서 에서 Private Path NLB 를 찾으십시오.
- Private Path 서비스 에서 작성된 Private Path service를 선택하십시오.
- Private Path service 세부사항에서 서비스 엔드포인트 가
vpc-pps.example.com로 설정되었는지 확인하십시오. 작업공간 구성 중에 사용자 정의basename를 지정한 경우에는 다를 수 있습니다. 이는 이용자가 애플리케이션과 상호작용하는 데 사용하는 엔드포인트입니다. - 이 정보를 이용자에게 전달해야 하므로 CRN 을 기록해 두십시오. 이용자는 CRN을 사용하여 가상 사설 엔드포인트 게이트웨이를 작성할 때 애플리케이션을 식별합니다.
Private Path service 는 거의 이용자와 공유할 준비가 되었습니다. 그러나 Private Path service 를 공개하기 전에 예상대로 작동하는지 테스트하는 것이 좋습니다.
이용자 자원 작성
Private Path service 가 올바르게 설정되었는지 확인하기 위해 Private Path service 의 이용자가 수행하는 것처럼 애플리케이션에 액세스하기 위해 가상 서버를 배치합니다.
Private Path service 가 공개될 때까지 작성된 동일한 계정 내에서만 액세스할 수 있습니다. 다른 사용자와 공유하기 전에 서비스를 테스트할 수 있는 좋은 기회를 제공합니다. 이는 이 단계에서 이 학습서의 이용자 측이 제공자 애플리케이션과 동일한 계정으로 프로비저닝되는 이유입니다.
- Schematics 로 이동하여 새 작업공간을 작성하십시오.
- 템플리트 지정 단계에서 다음을 수행하십시오.
- 저장소 URL 를
https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/consumer로 설정합니다. - 전체 저장소 사용을 선택하십시오.
- Terraform 버전 을
terraform_v1.5로 설정하십시오. - 다음 을 클릭하십시오.
- 저장소 URL 를
- 워크스페이스 세부 정보 단계에서
- 작업공간 이름 을
pps-consumer로 설정하십시오. - 작업공간을 작성할 자원 그룹 및 위치 를 선택하십시오. 이는 학습서에 대해 작성된 자원에는 영향을 주지 않습니다.
- 다음을 클릭하십시오.
- 작업공간 이름 을
- 작성을 클릭하십시오.
작업공간 설정의 변수 섹션에서 다음을 수행하십시오.
- '
existing_ssh_key_name변수를 찾습니다.- 메뉴 (대화 상자) 를 사용하여 해당 값을 편집 하십시오.
- 값을 이 학습서에 사용된 SSH키의 이름으로 설정하십시오.
- 저장.
- '
provider_crn변수를 찾습니다- 해당 값을 편집 하십시오.
- 값을 이전에 확보한 Private Path service CRN으로 설정하십시오.
- 저장.
- 선택적으로
region,basename와 같은 다른 변수의 값을 조정할 수도 있습니다.region는pps-provider작업공간에 설정된 값과 일치해야 합니다.
마지막으로 자원을 작성하십시오.
- 플랜 적용을 클릭하십시오.
- Schematics 가 리소스의 프로비저닝을 완료할 때까지 기다리십시오.
이용자 자원 및 애플리케이션 검토
이용자에 대해 Schematics 를 실행하면 다음 자원이 작성됩니다.
- 하나의 가상 프라이빗 클라우드(VPC),
- 두 개의 서브넷,
- 각 서브넷에서 하나의 가상 서버 인스턴스
- Private Path service CRN으로 구성되고 각 서브넷에 하나의 IP 주소가 있는 하나의 가상 사설 엔드포인트 게이트웨이.
- 가상 서버 인스턴스 로 이동하여 프로비저닝된 인스턴스를 검토하십시오.
- 가상 사설 엔드포인트 게이트웨이 로 이동하여 엔드포인트 게이트웨이가 보류 중으로 표시되는지 확인하십시오.
이 단계에서 이용자는 아직 제공자 애플리케이션에 액세스할 수 없습니다. Private Path service 에 대한 연결 요청이 검토되고 허용될 때까지 대기 중입니다.
이용자 요청 승인
애플리케이션의 제공자 역할을 합니다.
-
Private Path 서비스 목록 으로 이동하십시오.
-
작성한 Private Path service 에 검토할 보류 중인 연결 요청이 있습니다.
-
Private Path service를 선택하십시오.
-
연결 요청 테이블에서 이용자의 요청을 찾으십시오.
-
메뉴 (허용) 를 사용하여 연결을 허용 하십시오.
연결 요청 허용 대화 상자는 동일한 계정 ID의 모든 요청을 자동으로 허용하는 정책 을 작성하는 옵션을 제공합니다. 지금은 선택하지 않은 상태로 두십시오. 향후에는 이 계정에서 연결을 요청하는 이용자의 프로세스 속도를 높일 수 있습니다.
-
허용을 클릭하십시오.
이용자에서 제공자로의 연결 테스트
다시 이용자 역할을 수행합니다.
-
가상 사설 엔드포인트 게이트웨이 로 이동하여 엔드포인트 게이트웨이가 안정적으로 이동했음을 확인하십시오.
-
서비스 엔드포인트를 기록해 두십시오. 작업공간 구성 중에 사용자 정의
basename를 지정하지 않은 경우vpc-pps.example.com여야 합니다. -
가상 서버 인스턴스 로 이동하여 이용자 인스턴스 중 하나에 지정된 부동 IP를 찾으십시오. 인스턴스의 이름은
vpc-pps-consumer-vsi-us-south-1또는vpc-pps-consumer-vsi-us-south-2와 같이 지정됩니다. -
인스턴스 중 하나에 대한 SSH 연결을 여십시오.
ssh root@<floating-ip> -
서비스 엔드포인트를 호출하여 제공자 애플리케이션에 액세스하십시오.
curl http://vpc-pps.example.com결과가 다음과 같아야 합니다.
Hello world from vpc-pps-provider-vsi-us-south-2도메인 이름이 가상 서버 인스턴스로 올바르게 분석되는 데 몇 분이 걸릴 수 있습니다.
-
curl명령을 여러 번 반복하십시오. Private Path NLB의 백엔드 풀에 연결된 모든 가상 서버 인스턴스를 통과할 때 다른 출력을 표시하는 방법에 유의하십시오.
축하합니다. Private Path service 가 예상대로 작동하며 다른 사용자가 이용할 수 있도록 공개할 준비가 되었습니다.
튜토리얼 확장
이 학습서는 하나의 VPC에서 제공자 애플리케이션을 사용하고 다른 VPC에서 이용자를 사용하는 Private Path service 의 기본사항에 초점을 맞춥니다. 모두 동일한 계정 내에 있습니다.
- 다음 단계는 Private Path service를 공개 하는 것입니다. 공개되면 다른 IBM Cloud 계정의 클라이언트가 애플리케이션에 액세스하기 위한 연결 요청을 작성할 수 있습니다.
- 이용자에게 연결 정보 전달, 연결 요청 검토 및 계정 정책으로 프로세스 간소화 도 이용자의 성공적인 온보딩의 일부입니다.
자원 제거
이 학습서에 대해 작성된 자원을 제거하려면 다음을 수행하십시오.
-
Schematics 로 이동하십시오.
- '
pps-consumer워크스페이스를 선택합니다. - 조치 ... 에서 리소스 영구 삭제를 선택하십시오.
pps-consumer를 입력하고 삭제를 클릭하십시오.- Schematics 가 작업을 완료할 때까지 기다리십시오.
- 완료되면 조치 ... 메뉴에서 작업공간 삭제 를 선택하십시오.
pps-consumer를 입력하고 삭제를 클릭하십시오.
- '
-
pps-provider작업공간에서 동일한 단계를 반복하십시오.자원 그룹을 삭제할 수 없어 작업공간 삭제에 실패한 경우 몇 분 후에 자원 제거 를 재시도해야 할 수 있습니다.
리소스에 따라 즉시 삭제되지 않고 보유될 수 있습니다(기본 7일 동안). 리소스를 영구적으로 삭제하여 재확보하거나 보유 기간 내에 리소스를 복원할 수 있습니다. 리소스 재확보 사용 방법은 이 문서를 참조하십시오.