이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
Apigee 에뮬레이터는 로컬 개발 환경에서 API 프록시를 배포하고 테스트하기 위해 개발자에게 공개적으로 제공되는 맞춤설정된 Docker 이미지입니다. Docker 이미지는 gcr에 정기적으로 게시됩니다.
첫 번째 API 프록시를 배포하고 테스트할 준비가 되면 에뮬레이터 섹션을 사용하여 에뮬레이터 버전과 설정된 에뮬레이터의 수명 주기를 확인하고 관리해야 합니다.
이 섹션을 통해 다음 작업을 수행할 수 있습니다.
설치된 에뮬레이터의 서로 다른 버전, Docker 및 런타임 정보를 포함한 각 에뮬레이터 버전에 생성된 컨테이너, 제어, 트래픽 포트 보기
Apigee 에뮬레이터 관리에 설명된 대로 Apigee 에뮬레이터 컨테이너의 뷰를 추가, 삭제, 시작, 중지, 재설정, 업데이트, 새로고침
배포된 애플리케이션 확인(환경 배포 참고)
활성 테스트 리소스 확인(Apigee 에뮬레이터로 테스트 리소스 내보내기 참조)
Apigee 에뮬레이터 관리
다음 섹션에 설명된 대로 Apigee 에뮬레이터를 관리합니다.
에뮬레이터 버전 선택
기본적으로 에뮬레이터 폴더에는 안정적인 버전이 표시됩니다. 그러나 요구사항에 따라 다른 버전을 선택할 수 있습니다.
다음 방법 중 하나를 사용하여 Apigee 에뮬레이터 버전 목록을 확인하고 태그 값을 기록합니다.
- Google Artifact Registry를 사용합니다. 문서 및 사용자 인터페이스를 참조하세요.
- Docker Hub를 사용합니다.
Cloud Code 확장 프로그램에 Apigee 에뮬레이터 버전을 추가하려면
관리 >설정을 클릭한 후apigee emulators
를 검색합니다.항목 추가를 클릭합니다.
1단계에서 가져온 태그 값을 입력합니다. 예를 들면
1.10.0
또는google/apigee-emulator:1.10.0
입니다.확인을 클릭합니다.
새로 추가된 에뮬레이터가 emulator 폴더에 표시됩니다.
Apigee 에뮬레이터 설치
Apigee 에뮬레이터를 설치하려면 다음 안내를 따르세요.
작업공간에서 emulators 폴더를 펼칩니다.
설치할 Apigee 에뮬레이터 버전 위에 커서를 놓습니다.
를 클릭합니다.
Apigee의 컨테이너 추가의 안내에 따라 컨테이너를 추가합니다.
선택한 Apigee 에뮬레이터 버전의 최신 이미지가 설치됩니다. 설치가 완료되면 Emulator installed successfully
메시지가 표시되고 Apigee 에뮬레이터 컨테이너 상태가 준비로 바뀝니다.
Apigee 에뮬레이터의 컨테이너 추가
UI를 사용하여 Apigee 에뮬레이터에 대해 컨테이너를 추가하려면 다음 안내를 따르세요.
emulators 폴더를 펼칩니다.
컨테이너를 추가할 Apigee 에뮬레이터 위에 커서를 놓습니다.
+를 클릭합니다.
Apigee 에뮬레이터 컨테이너의 고유 이름을 입력하고 Enter를 누릅니다. 영숫자 문자, 대시(-), 밑줄(_)을 입력합니다.
Apigee 에뮬레이터 컨테이너에 대해 제어 포트로 사용할 숫자 값을 입력하고 Enter를 누릅니다. 제어 포트는 컨테이너 간에 고유해야 합니다. 기본값은
8080
입니다.Apigee 에뮬레이터 컨테이너의 트래픽 포트로 사용할 숫자 값을 입력하고 Enter를 누릅니다. 트래픽 포트는 컨테이너 간에 고유해야 합니다. 기본값은
8998
입니다.
컨테이너가 추가됩니다.
Apigee 에뮬레이터의 상태 정보 보기
다음 섹션에 설명된 대로 Apigee 에뮬레이터의 상태 정보를 확인합니다.
UI 사용
Docker 및 런타임 정보를 포함하여 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 에뮬레이터를 시작하려면 시작할 컨테이너 위에 커서를 놓고 를 클릭합니다.
Docker CLI 사용
Apigee 에뮬레이터를 시작하려면 docker start CONTAINER_NAME
을 실행합니다.
이 명령은 터미널 탭에서 실행합니다.
상태는 Ready
로 설정되어 있습니다.
Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.
Apigee 에뮬레이터 재설정
다음 섹션에 설명된 대로 Apigee 에뮬레이터를 재설정하여 모든 배포 및 내보낸 테스트 리소스를 삭제합니다.
UI 사용
Apigee 에뮬레이터를 재설정하려면 에뮬레이터 섹션에서 Apigee 에뮬레이터 컨테이너 위에 커서를 놓고 를 클릭합니다.
Apigee 에뮬레이터가 재설정되고 상태가 Ready
로 설정됩니다.
다음 정보가 출력 탭에 표시됩니다.
Resetting the Apigee Emulator Reset completed
Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.
Apigee 에뮬레이터 다시 시작
Apigee 에뮬레이터를 다시 시작하려면 터미널 탭에서 docker restart CONTAINER_NAME
를 실행합니다. 예를 들면 docker restart MyContainer
입니다.
Apigee 에뮬레이터 업데이트
Apigee 에뮬레이터가 최신 버전과 동기화되지 않은 경우 다음 섹션에 설명된 대로 UI 또는 Docker CLI를 사용하여 설치된 버전을 업데이트할 수 있습니다.
UI 사용
Apigee 에뮬레이터를 업데이트하려면 에뮬레이터 섹션에서 Apigee 에뮬레이터 위에 커서를 놓고 를 클릭합니다.
Docker CLI 사용
Apigee 에뮬레이터를 업데이트하려면 터미널 탭에서 적합한 최신 버전을 사용하여 다음 Docker 명령어를 실행합니다.
docker ps
를 실행하여 이미지 이름을 가져옵니다. 예를 들면gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION
입니다.docker pull IMAGE_NAME
을 실행하여 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 에뮬레이터 컨테이너 위에 커서를 놓고 를 클릭합니다.
Docker CLI 사용
Apigee 에뮬레이터를 중지하려면 터미널 탭에서 docker stop CONTAINER_NAME
를 실행합니다.
Apigee 에뮬레이터가 중지되고 상태가 Not
running
으로 변경됩니다.
Apigee 런타임 Docker 컨테이너 맞춤설정도 참조하세요.
Apigee 에뮬레이터의 컨테이너 삭제
다음 섹션에 설명된 대로 UI 또는 Docker CL을 사용하여 Apigee 에뮬레이터의 컨테이너를 삭제합니다.
UI 사용
Apigee 에뮬레이터를 삭제하려면 에뮬레이터 섹션에서 Apigee 에뮬레이터 컨테이너 위에 커서를 놓고 를 클릭합니다.
Docker CLI 사용
Apigee 에뮬레이터의 컨테이너를 삭제하려면 터미널 탭에서 다음 Docker 명령어를 실행합니다.
docker stop CONTAINER_NAME
을 실행하여 Apigee Emulator 설치 이미지를 중지합니다(아직 중지되지 않은 경우). 예를 들면docker stop MyContainer
입니다.docker rm CONTAINER_NAME
을 실행하여 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 를 사용하여 docker run 명령어에 값이 추가됩니다. 기본 목록에는 "XTERM": "xterm-256color" 가 포함됩니다.
|
labels |
컨테이너와 연결할 라벨을 하나 이상 추가합니다. 볼륨은 -l 를 통해 docker run 명령어에 추가됩니다. 기본값은 none 입니다. |
privileged |
컨테이너를 실행하는 동안 --privileged 옵션 사용 여부를 제어합니다. 기본값은 true 입니다. |
volumes |
컨테이너에 마운트할 볼륨을 하나 이상 추가합니다. 볼륨은 -v 를 사용하여 docker run 명령어에 추가됩니다. 기본값은 none 입니다. |
Apigee 런타임 Docker 컨테이너를 맞춤설정하려면 다음 안내를 따르세요.
이 기능은 Insider 빌드의 일부로 제공됩니다(v1.21.0 이상). Insider 빌드 설치의 설명대로 Insider 빌드를 설치합니다.
관리 > 설정을 클릭한 후apigee docker
를 검색합니다.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":"" }
옵션을 수정하고 파일을 저장합니다.
서비스 계정 기반 인증을 지원하도록 Apigee 에뮬레이터 맞춤설정
Google Cloud 서비스 계정 기반 인증을 사용하는 프록시를 테스트할 경우 Apigee 에뮬레이터에서 Google 서비스 계정 키에 액세스해야 합니다. 단계를 수행하여 서비스 계정 기반 인증을 지원하도록 Apigee 에뮬레이터를 구성합니다.
서비스 계정 키 만들기 및 다운로드
Apigee 에뮬레이터에서 서비스 계정을 지원하기 위한 요구사항인 서비스 계정 토큰 생성자 역할이 있는 Google Cloud 서비스 계정을 만듭니다. 서비스 계정 키 만들기의 설명대로 서비스 계정 키를 만듭니다.
Apigee 에뮬레이터에 제공할 수 있도록 키를 로컬 파일 시스템에 다운로드합니다.
Apigee 에뮬레이터 구성
Apigee 에뮬레이터 설정을 구성하려면 다음 안내를 따르세요.
Apigee 런타임 Docker 컨테이너 맞춤설정의 설명대로 Docker 옵션을 엽니다
컨테이너.
Docker 옵션의
volumes
섹션에서 다운로드한 서비스 계정 키 경로를 컨테이너에서 사용할 수 있도록 새 볼륨을 추가합니다. 키가/opt/apigee/keys/apigee-sa-key.json
경로에 다운로드되었다고 가정하면 다음 설정은 컨테이너 내의/emulator/keys
경로에/opt/apigee/keys
콘텐츠를 마운트합니다."volumes": { "/opt/apigee/keys":"/emulator/keys" }
Docker 옵션의
environmentVariables
섹션에서 마운트된 경로의 파일을 가리키는GOOGLE_APPLICATION_CREDENTIALS
변수를 추가합니다."environmentVariables": { "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json" }
설정을 저장하고 테스트에 사용할 수 있는 새 컨테이너 인스턴스를 만듭니다.
다음 예시에서는 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 에뮬레이터 설정을 구성하려면 다음 안내를 따르세요.
Apigee 런타임 Docker 컨테이너 맞춤설정의 설명대로 Docker 옵션을 엽니다.
Docker 옵션의
environmentVariables
섹션에서 전달 프록시 주소를 HTTP URL로 가리키는FORWARD_PROXY
변수를 추가합니다."environmentVariables": { "FORWARD_PROXY":"http://proxy_host:proxy_port" }
설정을 저장하고 테스트용 새 컨테이너 인스턴스를 만듭니다.