Apigee 에뮬레이터란 무엇인가요?

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

Apigee Edge 문서를 보세요.

Apigee 에뮬레이터는 로컬 개발 환경에서 API 프록시를 배포하고 테스트하기 위해 개발자에게 공개적으로 제공되는 맞춤설정된 Docker 이미지입니다. Docker 이미지는 gcr에 정기적으로 게시됩니다.

첫 번째 API 프록시를 배포하고 테스트할 준비가 되면 에뮬레이터 섹션을 사용하여 에뮬레이터 버전과 설정된 에뮬레이터의 수명 주기를 보고 관리해야 합니다.

이 섹션을 통해 다음 작업을 수행할 수 있습니다.

에뮬레이터 섹션 세부정보

  • 설치된 에뮬레이터의 서로 다른 버전, Docker 및 런타임 정보를 포함한 각 에뮬레이터 버전에 생성된 컨테이너, 제어, 트래픽 포트 보기

  • Apigee 에뮬레이터 관리에 설명된 대로 Apigee 에뮬레이터 컨테이너의 뷰를 추가, 삭제, 시작, 중지, 재설정, 업데이트, 새로고침

  • 현재 배포된 애플리케이션 확인(환경 배포 참조)

  • 활성 테스트 리소스 확인(Apigee 에뮬레이터로 테스트 리소스 내보내기 참조)

Apigee 에뮬레이터 관리

다음 섹션에 설명된 대로 Apigee 에뮬레이터를 관리합니다. 또한 Apigee 에뮬레이터 탐색을 참조하세요.

에뮬레이터 버전 선택

기본적으로 에뮬레이터 뷰에는 안정적인 버전이 표시됩니다. 그러나 요구사항에 따라 다른 버전을 간단하게 선택할 수 있습니다.

  1. 다음 방법 중 하나를 사용하여 Apigee 에뮬레이터 버전 목록을 보고 태그 값을 기록합니다.

  2. Cloud Code 확장 프로그램에 Apigee 에뮬레이터 버전을 추가하려면 관리 >설정을 클릭한 후 apigee emulators를 검색합니다.

  3. 항목 추가를 클릭합니다. 에뮬레이터 설정

  4. 1단계에서 가져온 태그 값을 입력합니다. 예를 들면 1.10.0 또는 google/apigee-emulator:1.10.0입니다.

  5. 확인을 클릭합니다.

  6. 새로 추가된 에뮬레이터가 에뮬레이터 뷰에 표시됩니다.

Apigee 에뮬레이터 설치

Apigee 에뮬레이터를 설치하려면 다음 안내를 따르세요.

  1. 로컬 개발에서 에뮬레이터 항목을 펼쳐 나열된 에뮬레이터를 확인합니다. Apigee 에뮬레이터 확장

  2. 설치하려는 Apigee 에뮬레이터 버전 위에 커서를 놓습니다.

  3. Apigee 에뮬레이터 설치를 클릭합니다.

    Apigee 에뮬레이터 설치

    Apigee 에뮬레이터 컨테이너를 구성하라는 메시지가 표시됩니다.

  4. Apigee 에뮬레이터 컨테이너의 고유 이름을 입력하고 Enter를 누릅니다. 영숫자 문자, 대시(-), 밑줄(_)을 입력합니다.

  5. Apigee 에뮬레이터 컨테이너에 대해 제어 포트로 사용할 고유한 숫자 값을 입력하고 Enter를 누릅니다. 제어 포트는 기본적으로 8080으로 지정됩니다.

  6. Apigee 에뮬레이터 컨테이너의 트래픽 포트로 사용할 고유한 숫자 값을 입력하고 Enter를 누릅니다. 트래픽 포트는 기본적으로 8998로 지정됩니다.

선택한 Apigee 에뮬레이터 버전의 최신 이미지가 설치됩니다. 설치가 완료되면 Emulator installed successfully 메시지가 표시되고 Apigee 에뮬레이터 컨테이너 상태가 준비로 바뀝니다.

Apigee 에뮬레이터 설치

Apigee 에뮬레이터의 컨테이너 추가

UI를 사용하여 Apigee 에뮬레이터에 대해 컨테이너를 추가하려면 다음 안내를 따르세요.

  1. 로컬 개발에서 에뮬레이터 섹션을 펼칩니다.

    Apigee 에뮬레이터 확장

  2. 컨테이너를 추가할 Apigee 에뮬레이터 위에 커서를 놓습니다.

  3. +를 클릭합니다. 컨테이너를 구성하라는 메시지가 표시됩니다.

  4. Apigee 에뮬레이터 컨테이너에 대해 제어 포트로 사용할 숫자 값을 입력하고 Enter를 누릅니다. 제어 포트는 컨테이너 간에 고유해야 합니다. 기본값은 8080입니다.

  5. Apigee 에뮬레이터 컨테이너의 트래픽 포트로 사용할 숫자 값을 입력하고 Enter를 누릅니다. 트래픽 포트는 컨테이너 간에 고유해야 합니다. 기본값은 8998입니다.

  6. Apigee 에뮬레이터 컨테이너의 고유 이름을 입력하고 Enter를 누릅니다. 영숫자 문자, 대시(-), 밑줄(_)을 입력합니다.

컨테이너가 추가됩니다.

Apigee 에뮬레이터의 상태 정보 보기

다음 섹션에 설명된 대로 Apigee 에뮬레이터의 상태 정보를 확인합니다.

UI 사용

Docker 및 런타임 정보를 포함하여 Apigee 에뮬레이터의 상태 정보를 보려면 Apigee 에뮬레이터 섹션에서 컨테이너를 확장합니다. 표시되는 정보는 사용 중인 Apigee 에뮬레이터 버전과 일치합니다.

Apigee 에뮬레이터 상태 정보

Docker CLI 사용

Apigee 에뮬레이터 및 구성된 포트의 컨테이너 상태 정보를 보려면 터미널 탭에서 docker ps를 실행합니다. 다음은 응답의 예시입니다. 표시되는 실제 응답은 사용 중인 Apigee 에뮬레이터 버전에 따라 다릅니다.

CONTAINER ID   IMAGE                                COMMAND       CREATED        STATUS        PORTS                                      NAMES
33756b8c5c5b   ...apigee-emulator:1.11.0   "/usr/bin…"   10 hours ago   Up 10 hours   7000-7001/tcp, 0.0.0.0:8080->8080/tcp...   apigee-emulator

Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.

Apigee 에뮬레이터 시작

다음 섹션에 설명된 대로 Apigee 에뮬레이터를 시작합니다.

UI 사용

Apigee 에뮬레이터를 시작하려면 시작할 Apigee 에뮬레이터 컨테이너 위에 커서를 놓고 Apigee 에뮬레이터 시작 아이콘를 클릭합니다.

Docker CLI 사용

Apigee 에뮬레이터를 시작하려면 터미널 탭에서 docker start apigee-emulator를 실행합니다.

Ready로 설정된 상태:

Apigee 에뮬레이터 상태 정보

Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.

Apigee 에뮬레이터 재설정

다음 섹션에 설명된 대로 Apigee 에뮬레이터를 재설정하여 모든 배포 및 내보낸 테스트 리소스를 삭제합니다.

UI 사용

Apigee 에뮬레이터를 재설정하려면 Apigee 에뮬레이터 섹션에서 Apigee 에뮬레이터 컨테이너 위에 커서를 놓고 Apigee 에뮬레이터 재설정 아이콘를 클릭합니다.

Apigee 에뮬레이터가 재설정되고 상태가 Ready로 설정됩니다.

Apigee 에뮬레이터 상태 정보

다음 정보가 출력 탭에 표시됩니다.

Resetting the Apigee Emulator
Reset completed

Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.

Apigee 에뮬레이터 다시 시작

Apigee 에뮬레이터를 다시 시작하려면 터미널 탭에서 docker restart container-name를 실행합니다. 예를 들면 docker restart MyContainer입니다.

다음은 응답의 예시입니다.MyContainer

Apigee 에뮬레이터 업데이트

Apigee 에뮬레이터가 최신 버전과 동기화되지 않은 경우 다음 섹션에 설명된 대로 UI 또는 Docker CLI를 사용하여 설치된 버전을 업데이트할 수 있습니다.

UI 사용

Apigee 에뮬레이터를 업데이트하려면 Apigee 에뮬레이터 섹션에서 Apigee 에뮬레이터 위에 커서를 놓고 Apigee 에뮬레이터 업데이트 아이콘를 클릭합니다.

Docker CLI 사용

Apigee 에뮬레이터를 업데이트하려면 터미널 탭에서 적합한 최신 버전을 사용하여 다음 Docker 명령어를 실행합니다.

  • docker ps를 실행하여 이미지 이름을 가져옵니다. 예를 들면 gcr.io/apigee-release/hybrid/apigee-emulator:Emulator version입니다.

  • docker pull imagename을 실행하여 Apigee 에뮬레이터 설치 이미지를 업데이트합니다. 예를 들면 docker pull gcr.io/apigee-release/hybrid/apigee-emulator:Emulator version입니다.

Apigee 에뮬레이터가 업데이트되고 Emulator version is up to date 메시지가 표시됩니다.

Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.

Apigee 에뮬레이터 중지

다음 섹션에 설명된 대로 UI 또는 Docker CLI를 사용하여 Apigee 에뮬레이터를 중지합니다.

UI 사용

Apigee 에뮬레이터를 중지하려면 Apigee 에뮬레이터 섹션에서 Apigee 에뮬레이터 컨테이너 위에 커서를 놓고 Apigee 에뮬레이터 아이콘 중지를 클릭합니다.

Docker CLI 사용

Apigee 에뮬레이터를 중지하려면 터미널 탭에서 docker stop apigee-emulator를 실행합니다.

Apigee 에뮬레이터가 중지되고 상태가 Not running으로 변경됩니다.

실행 중이 아님

Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.

Apigee 에뮬레이터의 컨테이너 삭제

다음 섹션에 설명된 대로 UI 또는 Docker CL을 사용하여 Apigee 에뮬레이터의 컨테이너를 삭제합니다.

UI 사용

Apigee 에뮬레이터를 삭제하려면 Apigee 에뮬레이터 섹션에서 Apigee 에뮬레이터 컨테이너 위에 커서를 놓고 를 클릭합니다.

Docker CLI 사용

Apigee 에뮬레이터의 컨테이너를 삭제하려면 터미널 탭에서 다음 Docker 명령어를 실행합니다.

  • docker stop container를 실행하여 Apigee Emulator 설치 이미지를 중지합니다(아직 중지되지 않은 경우). 예를 들면 docker stop MyContainer입니다.

  • docker rm container를 실행하여 Apigee 에뮬레이터 설치 이미지를 중지합니다. 예를 들면 docker rm MyContainer입니다.

컨테이너가 삭제됩니다.

Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.

Apigee 런타임 Docker 컨테이너 맞춤설정

다음 옵션을 사용하여 Apigee 에뮬레이터 인스턴스를 제어하는 데 사용되는 Docker 명령줄을 맞춤설정할 수 있습니다.

옵션 설명
additionalArguments 인수를 하나 이상 추가합니다. 인수는 제공된 대로 정확히 docker run 명령어에 추가됩니다. 기본값은 ""(없음)입니다.
detached 컨테이너를 실행하는 동안 --detached 옵션 사용 여부를 제어합니다. 기본값은 true입니다.
dns DNS 서비스의 설명대로 DNS 서비스 -dns 플래그를 제어합니다. 기본값은 8.8.8.8입니다.
environmentVariables 옵션의 설명대로 환경 변수를 docker run 명령어에 추가합니다. 제공된 경우 -e name=value를 사용하여 docker run 명령어에 값이 추가됩니다. 기본 목록에는 "XTERM": "xterm-256color"가 포함됩니다.
labels 컨테이너와 연결할 라벨을 하나 이상 추가합니다. 볼륨은 -l label:value를 통해 docker run 명령어에 추가됩니다. 기본값은 none입니다.
privileged 컨테이너를 실행하는 동안 --privileged 옵션 사용 여부를 제어합니다. 기본값은 true입니다.
volumes 컨테이너에 마운트할 볼륨을 하나 이상 추가합니다. 볼륨은 -v label:value를 사용하여 docker run 명령어에 추가됩니다. 기본값은 none입니다.

Apigee 런타임 Docker 컨테이너를 맞춤설정하려면 다음 안내를 따르세요.

  1. 이 기능은 Insider 빌드의 일부로 제공됩니다(v1.21.0 이상). Insider 빌드 설치의 설명대로 Insider 빌드를 설치합니다.

  2. 관리 > 설정을 클릭한 후 apigee docker를 검색합니다.

  3. Cloudcode > Apigee: Docker 옵션에서 settings.json에서 수정을 클릭합니다. 다음과 같이 맞춤설정 가능한 옵션은 settings.json 파일에 표시됩니다.

    "cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {},
      "additionalArguments":""
    }
  4. 필요에 따라 옵션을 수정하고 파일을 저장합니다.

서비스 계정 기반 인증을 지원하도록 Apigee 에뮬레이터 맞춤설정

Google Cloud 서비스 계정 기반 인증을 사용하는 프록시를 테스트할 경우 Apigee 에뮬레이터에서 Google 서비스 계정 키에 액세스해야 합니다. 단계를 수행하여 서비스 계정 기반 인증을 지원하도록 Apigee 에뮬레이터를 구성합니다.

서비스 계정 키 만들기 및 다운로드

Apigee 에뮬레이터에서 서비스 계정을 지원하기 위한 요구사항인 서비스 계정 토큰 생성자 역할이 있는 Google Cloud 서비스 계정을 만듭니다. 서비스 계정 키 만들기의 설명대로 서비스 계정 키를 만듭니다.

Apigee 에뮬레이터에 제공할 수 있도록 키를 로컬 파일 시스템에 다운로드합니다.

Apigee 에뮬레이터 구성

Apigee 에뮬레이터 설정을 구성하려면 다음 안내를 따르세요.

  1. Apigee 런타임 Docker 컨테이너 맞춤설정의 설명대로 Docker 옵션을 엽니다.

  2. Docker 옵션의 volumes 섹션에서 다운로드한 서비스 계정 키 경로를 컨테이너에서 사용할 수 있도록 새 볼륨을 추가합니다. 키가 /opt/apigee/keys/apigee-sa-key.json 경로에 다운로드되었다고 가정하면 다음 설정은 컨테이너 내의 /emulator/keys 경로에 /opt/apigee/keys 콘텐츠를 마운트합니다.

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. Docker 옵션의 environmentVariables 섹션에서 마운트된 경로에 있는 파일을 가리키는 GOOGLE_APPLICATION_CREDENTIALS 변수를 추가합니다.

    "environmentVariables": {
      "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
    }

  4. 설정을 저장하고 테스트에 사용할 수 있는 새 컨테이너 인스턴스를 만듭니다.

다음 예시에서는 Google 서비스 계정 키를 Apigee 에뮬레이터와 연결하는 방법을 보여줍니다.

"cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color",
          "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {
         "/opt/apigee/keys":"/emulator/keys"
      },
      "additionalArguments":""
    }

HTTP 전달 프록시를 지원하도록 Apigee 에뮬레이터 구성

프록시와 연결된 백엔드 대상을 HTTP 전달 프록시를 통해서만 연결할 수 있는 경우가 많습니다. FORWARD_PROXY 환경 변수를 사용하여 대상에 연결하는 동안 전달 프록시를 사용하도록 Apigee 에뮬레이터를 구성할 수 있습니다.

Apigee 에뮬레이터 설정을 구성하려면 다음 안내를 따르세요.

  1. Apigee 런타임 Docker 컨테이너 맞춤설정의 설명대로 Docker 옵션을 엽니다.

  2. Docker 옵션의 environmentVariables 섹션에서 전달 프록시 주소를 HTTP URL로 가리키는 FORWARD_PROXY 변수를 추가합니다.

    "environmentVariables": {
      "FORWARD_PROXY":"http://proxy_host:proxy_port"
    }

  3. 설정을 저장하고 테스트용 새 컨테이너 인스턴스를 만듭니다.