개인용 연결을 통해 이용자에게 서비스 노출

이 튜토리얼에서는 비용이 발생할 수 있습니다. Cost Estimator를 사용하여 예상 사용량을 기반으로 비용 추정값을 생성하십시오.

이 학습서에서는 제공자와 이용자 세트 간에 Private Path service 를 설정하는 단계를 안내합니다. Private Path service를 사용하여 이용자는 인터넷을 순회하지 않고 IBM 백본을 통해 제공자가 구현한 애플리케이션 또는 서비스에 액세스합니다.

목표

  • Private Path service 기본 사항을 이해합니다.
  • 공용 엔드포인트를 노출하지 않고 하나의 계정으로 애플리케이션을 배치합니다.
  • Private Path service를 사용하여 애플리케이션을 노출하십시오.
  • 개인용 연결을 통해서만 이용자 클라이언트에서 애플리케이션에 액세스하십시오.

Architecture
Architecture showing Private Path service

  1. 제공자는 여러 구역에 분산된 여러 가상 서버에서 지원하는 복원성 애플리케이션을 구현합니다.
  2. 제공자는 가상 서버를 가리키는 백엔드 풀로 구성된 Private Path network load balancer (NLB) 를 작성하여 라운드 로빈 알고리즘을 사용하여 서버 간에 로드를 분배합니다.
  3. Private Path service 는 Private Path NLB 를 참조하고 이용자가 사용하는 서비스 엔드포인트를 지정합니다.
  4. 이용자는 가상 사설 엔드포인트 게이트웨이를 통해 제공자 애플리케이션에 액세스합니다. 모든 트래픽은 IBM Cloud에 대해 개인용으로 유지됩니다.

시작하기 전에

이 튜토리얼에는 다음 항목이 필요합니다.

  • 하나의 IBM Cloud 청구 가능 계정 이 제공자 및 이용자 리소스를 모두 호스팅합니다.
  • 튜토리얼에서 프로비저닝된 가상 서버 인스턴스에 연결하기 위한 VPC SSH키입니다.

VPC ssh 키 작성

가상 서버 인스턴스를 프로비저닝할 때 나중에 서버에 연결할 수 있도록 SSH 키가 인스턴스에 주입됩니다. 이 SSH키는 학습서 자원을 배치할 동일한 지역에 있어야 합니다.

  1. IBM Cloud에 SSH키가 구성되어 있지 않은 경우 VPC용키 작성에 대한 이 지시사항 을 참조하십시오.
  2. SSH키에 사용한 이름을 기록해 두십시오.

제공자 자원 및 애플리케이션 작성

이 학습서에서는 먼저 제공자 역할을 수행하고 애플리케이션을 구현합니다. 두 번째 단계에서는 이용자의 역할을 수행하고 애플리케이션을 호출합니다. 애플리케이션은 단순 nginx 웹 서버입니다.

  1. Schematics 로 이동하여 새 작업공간을 작성하십시오.
  2. 템플리트 지정 단계에서 다음을 수행하십시오.
    1. 저장소 URL 를 https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/provider 로 설정합니다.
    2. 전체 저장소 사용을 선택하십시오.
    3. Terraform 버전 을 terraform_v1.5 로 설정하십시오.
    4. 다음 을 클릭하십시오.
  3. 워크스페이스 세부 정보 단계에서
    1. 작업공간 이름 을 pps-provider 로 설정하십시오.
    2. 작업공간을 작성할 자원 그룹 및 위치 를 선택하십시오. 이는 학습서에 대해 작성된 자원에는 영향을 주지 않습니다.
    3. 다음을 클릭하십시오.
  4. 작성을 클릭하십시오.

설정작업공간의 변수아래에서 다음을 수행하십시오.

  1. ' existing_ssh_key_name 변수를 찾습니다.
    1. 메뉴 (대화 상자) 를 사용하여 해당 값을 편집 하십시오.
    2. 값을 이전 섹션에서 작성한 SSH키의 이름 또는 기존 SSH키로 설정하십시오.
    3. 저장.
  2. 선택적으로 region, basename 와 같은 다른 변수의 값을 조정할 수도 있습니다.

마지막으로 자원을 작성하십시오.

  1. 플랜 적용을 클릭하십시오.
  2. Schematics 가 리소스의 프로비저닝을 완료할 때까지 기다리십시오.

제공자 자원 및 애플리케이션 검토

제공자에 대해 Schematics 를 실행하면 다음 자원이 작성됩니다.

  • 하나의 가상 프라이빗 클라우드(VPC),
  • 세 개의 서브넷, 각 구역에 대해 하나씩,
  • 각 서브넷에서 최소 하나의 가상 서버 인스턴스
  • 모든 가상 서버 인스턴스를 포함하여 백엔드 풀로 구성된 Private Path NLB
  • 및 Private Path service입니다.

공급자
아키텍처*

  1. 가상 프라이빗 클라우드, 서브넷 및 가상 서버 인스턴스 로 이동하여 프로비저닝된 리소스를 검토하십시오.
  2. 로드 밸런서 에서 Private Path NLB 를 찾으십시오.
  3. Private Path 서비스 에서 작성된 Private Path service를 선택하십시오.
  4. Private Path service 세부사항에서 서비스 엔드포인트 가 vpc-pps.example.com 로 설정되었는지 확인하십시오. 작업공간 구성 중에 사용자 정의 basename 를 지정한 경우에는 다를 수 있습니다. 이는 이용자가 애플리케이션과 상호작용하는 데 사용하는 엔드포인트입니다.
  5. 이 정보를 이용자에게 전달해야 하므로 CRN 을 기록해 두십시오. 이용자는 CRN을 사용하여 가상 사설 엔드포인트 게이트웨이를 작성할 때 애플리케이션을 식별합니다.

Private Path service 는 거의 이용자와 공유할 준비가 되었습니다. 그러나 Private Path service 를 공개하기 전에 예상대로 작동하는지 테스트하는 것이 좋습니다.

이용자 자원 작성

Private Path service 가 올바르게 설정되었는지 확인하기 위해 Private Path service 의 이용자가 수행하는 것처럼 애플리케이션에 액세스하기 위해 가상 서버를 배치합니다.

Private Path service 가 공개될 때까지 작성된 동일한 계정 내에서만 액세스할 수 있습니다. 다른 사용자와 공유하기 전에 서비스를 테스트할 수 있는 좋은 기회를 제공합니다. 이는 이 단계에서 이 학습서의 이용자 측이 제공자 애플리케이션과 동일한 계정으로 프로비저닝되는 이유입니다.

  1. Schematics 로 이동하여 새 작업공간을 작성하십시오.
  2. 템플리트 지정 단계에서 다음을 수행하십시오.
    1. 저장소 URL 를 https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/consumer 로 설정합니다.
    2. 전체 저장소 사용을 선택하십시오.
    3. Terraform 버전 을 terraform_v1.5 로 설정하십시오.
    4. 다음 을 클릭하십시오.
  3. 워크스페이스 세부 정보 단계에서
    1. 작업공간 이름 을 pps-consumer 로 설정하십시오.
    2. 작업공간을 작성할 자원 그룹 및 위치 를 선택하십시오. 이는 학습서에 대해 작성된 자원에는 영향을 주지 않습니다.
    3. 다음을 클릭하십시오.
  4. 작성을 클릭하십시오.

작업공간 설정의 변수 섹션에서 다음을 수행하십시오.

  1. ' existing_ssh_key_name 변수를 찾습니다.
    1. 메뉴 (대화 상자) 를 사용하여 해당 값을 편집 하십시오.
    2. 값을 이 학습서에 사용된 SSH키의 이름으로 설정하십시오.
    3. 저장.
  2. ' provider_crn 변수를 찾습니다
    1. 해당 값을 편집 하십시오.
    2. 값을 이전에 확보한 Private Path service CRN으로 설정하십시오.
    3. 저장.
  3. 선택적으로 region, basename 와 같은 다른 변수의 값을 조정할 수도 있습니다. region 는 pps-provider 작업공간에 설정된 값과 일치해야 합니다.

마지막으로 자원을 작성하십시오.

  1. 플랜 적용을 클릭하십시오.
  2. Schematics 가 리소스의 프로비저닝을 완료할 때까지 기다리십시오.

이용자 자원 및 애플리케이션 검토

이용자에 대해 Schematics 를 실행하면 다음 자원이 작성됩니다.

  • 하나의 가상 프라이빗 클라우드(VPC),
  • 두 개의 서브넷,
  • 각 서브넷에서 하나의 가상 서버 인스턴스
  • Private Path service CRN으로 구성되고 각 서브넷에 하나의 IP 주소가 있는 하나의 가상 사설 엔드포인트 게이트웨이.

caption-side=bottom"
아키텍처*

  1. 가상 서버 인스턴스 로 이동하여 프로비저닝된 인스턴스를 검토하십시오.
  2. 가상 사설 엔드포인트 게이트웨이 로 이동하여 엔드포인트 게이트웨이가 보류 중으로 표시되는지 확인하십시오.

이 단계에서 이용자는 아직 제공자 애플리케이션에 액세스할 수 없습니다. Private Path service 에 대한 연결 요청이 검토되고 허용될 때까지 대기 중입니다.

이용자 요청 승인

애플리케이션의 제공자 역할을 합니다.

  1. Private Path 서비스 목록 으로 이동하십시오.

  2. 작성한 Private Path service 에 검토할 보류 중인 연결 요청이 있습니다.

  3. Private Path service를 선택하십시오.

  4. 연결 요청 테이블에서 이용자의 요청을 찾으십시오.

  5. 메뉴 (허용) 를 사용하여 연결을 허용 하십시오.

    연결 요청 허용 대화 상자는 동일한 계정 ID의 모든 요청을 자동으로 허용하는 정책 을 작성하는 옵션을 제공합니다. 지금은 선택하지 않은 상태로 두십시오. 향후에는 이 계정에서 연결을 요청하는 이용자의 프로세스 속도를 높일 수 있습니다.

  6. 허용을 클릭하십시오.

이용자에서 제공자로의 연결 테스트

다시 이용자 역할을 수행합니다.

  1. 가상 사설 엔드포인트 게이트웨이 로 이동하여 엔드포인트 게이트웨이가 안정적으로 이동했음을 확인하십시오.

  2. 서비스 엔드포인트를 기록해 두십시오. 작업공간 구성 중에 사용자 정의 basename 를 지정하지 않은 경우 vpc-pps.example.com 여야 합니다.

  3. 가상 서버 인스턴스 로 이동하여 이용자 인스턴스 중 하나에 지정된 부동 IP를 찾으십시오. 인스턴스의 이름은 vpc-pps-consumer-vsi-us-south-1 또는 vpc-pps-consumer-vsi-us-south-2 와 같이 지정됩니다.

  4. 인스턴스 중 하나에 대한 SSH 연결을 여십시오.

    ssh root@<floating-ip>
    
  5. 서비스 엔드포인트를 호출하여 제공자 애플리케이션에 액세스하십시오.

    curl http://vpc-pps.example.com
    

    결과가 다음과 같아야 합니다.

    Hello world from vpc-pps-provider-vsi-us-south-2
    

    도메인 이름이 가상 서버 인스턴스로 올바르게 분석되는 데 몇 분이 걸릴 수 있습니다.

  6. curl 명령을 여러 번 반복하십시오. Private Path NLB의 백엔드 풀에 연결된 모든 가상 서버 인스턴스를 통과할 때 다른 출력을 표시하는 방법에 유의하십시오.

축하합니다. Private Path service 가 예상대로 작동하며 다른 사용자가 이용할 수 있도록 공개할 준비가 되었습니다.

튜토리얼 확장

이 학습서는 하나의 VPC에서 제공자 애플리케이션을 사용하고 다른 VPC에서 이용자를 사용하는 Private Path service 의 기본사항에 초점을 맞춥니다. 모두 동일한 계정 내에 있습니다.

자원 제거

이 학습서에 대해 작성된 자원을 제거하려면 다음을 수행하십시오.

  1. Schematics 로 이동하십시오.

    1. ' pps-consumer 워크스페이스를 선택합니다.
    2. 조치 ... 에서 리소스 영구 삭제를 선택하십시오.
    3. pps-consumer 를 입력하고 삭제를 클릭하십시오.
    4. Schematics 가 작업을 완료할 때까지 기다리십시오.
    5. 완료되면 조치 ... 메뉴에서 작업공간 삭제 를 선택하십시오.
    6. pps-consumer 를 입력하고 삭제를 클릭하십시오.
  2. pps-provider 작업공간에서 동일한 단계를 반복하십시오.

    자원 그룹을 삭제할 수 없어 작업공간 삭제에 실패한 경우 몇 분 후에 자원 제거 를 재시도해야 할 수 있습니다.

리소스에 따라 즉시 삭제되지 않고 보유될 수 있습니다(기본 7일 동안). 리소스를 영구적으로 삭제하여 재확보하거나 보유 기간 내에 리소스를 복원할 수 있습니다. 리소스 재확보 사용 방법은 이 문서를 참조하십시오.