이제 Google Cloud와 하이브리드 UI를 구성하고 런타임을 설치 및 구성했으므로 이 모든 것이 어떻게 작동하는지 볼 준비가 되었습니다.
이 섹션에서는 다음 절차를 안내합니다.
- API 프록시 마법사를 사용하여 Apigee UI에서 새 API 프록시 만들기
- UI를 사용하여 클러스터에 새 프록시 배포
1. 하이브리드 UI를 사용하여 새 API 프록시 만들기
이 섹션에서는 API 프록시 마법사를 사용하여 UI에서 새 API 프록시를 만드는 방법을 설명합니다.
API 프록시 마법사를 사용하여 간단한 API 프록시를 만들려면 다음 안내를 따르세요.
- 브라우저에서 Apigee UI를 엽니다.
- 기본 뷰에서 개발 > API 프록시를 선택합니다.
- 환경 드롭다운 목록에서 새 API 프록시를 만들 환경을 선택합니다. 이 섹션에서는 환경 이름을 'test'라고 가정합니다. 5단계: 환경 추가에서 하나 이상의 환경을 만들었습니다.
하이브리드 UI는 해당 환경의 API 프록시 목록을 표시합니다. 아직 프록시를 만들지 않았다면 목록은 비어 있습니다.
- 오른쪽 상단에서 +프록시를 클릭합니다. API 프록시 마법사가 시작됩니다.
- 역방향 프록시(가장 일반적)를 선택하고 다음을 클릭합니다.
프록시 세부정보 뷰가 표시됩니다.
- 다음 설정으로 프록시를 구성합니다.
- 프록시 이름: 'myproxy'를 입력합니다. 이 섹션의 나머지 단계에서는 이를 프록시 ID라고 가정합니다.
- 프록시 기본 경로: '/myproxy'로 자동 설정됩니다. 프록시 기본 경로는 API에 요청을 수행하는 데 사용되는 URL의 일부입니다. Edge는 URL을 사용하여 수신 요청을 적절한 API 프록시로 일치시키며 라우팅합니다.
- (선택사항) 설명: '간단한 프록시로 Apigee 하이브리드 테스트'와 같이 새 API 프록시에 설명을 입력합니다.
- 대상(기존 API): https://mocktarget.apigee.net을 입력합니다. 이는 Apigee가 API 프록시에 대한 요청에서 호출하는 대상 URL을 정의합니다. mocktarget 서비스는 Apigee에서 호스팅되며 간단한 데이터를 반환합니다. API 키 또는 액세스 토큰이 필요하지 않습니다.
API 프록시의 세부정보는 다음과 같아야 합니다.
- 다음을 클릭합니다.
- 정책 화면에서 보안 옵션으로 통과(승인 없음)을 선택합니다.
- 다음을 클릭합니다.
- 요약 화면에서 만들기를 클릭합니다.
하이브리드는 프록시를 생성합니다. 이는 프록시 번들이라고도 합니다.
- 프록시 목록으로 이동을 클릭합니다.
하이브리드는 API 프록시 목록을 표시하는 프록시 뷰를 표시합니다. 새 프록시는 아직 배포되지 않았음을 의미하는 회색 상태 표시기와 함께 목록 상단에 있어야 합니다.
2. 하이브리드 UI를 사용하여 클러스터에 프록시 배포
새 프록시를 만든 후에는 이를 사용해 볼 수 있도록 배포해야 합니다. 이 섹션에서는 하이브리드 UI를 사용하여 새 프록시를 배포하는 방법을 설명합니다.
하이브리드 UI로 API 프록시를 배포하려면 다음 안내를 따르세요.
- Apigee UI에서 개발 > API 프록시를 선택합니다.
'test' 환경이 선택되어 있는지 확인합니다.
UI의 프록시 목록에 새 프록시가 표시됩니다.
'myproxy' 프록시를 클릭합니다.
UI에 프록시의 API 프록시 개요 탭이 표시됩니다.
배포 아래의 버전 열에 '배포되지 않음'이 표시됩니다.
- 업데이트 열에서 드롭다운 선택기를 펼쳐 배포할 버전을 선택합니다.
드롭다운 목록에는 '1'과 '배포 취소'만 표시됩니다.
드롭다운 목록에서 배포하려는 버전인 '1'을 선택합니다.
UI에 배포를 확인하라는 메시지가 표시됩니다.
- 배포를 클릭합니다.
UI에서 새 프록시의 버전 1을 클러스터에 배포하는 프로세스를 시작합니다.
배포는 즉각적인 프로세스가 아닙니다. 하이브리드의 '최종 일관성' 배포 모델은 새 배포가 즉시가 아니라 짧은 시간 동안 클러스터에 출시됨을 의미합니다.
UI에서 프록시의 배포 상태를 확인하는 방법에는 여러 가지가 있지만, 다음 두 단계에서는 방금 배포한 API 프록시를 호출하는 방법과 Apigee API를 호출하여 배포 상태를 확인하는 방법을 설명합니다.
3. API 프록시 호출
환경 그룹을 만드는 데 사용한 호스트 이름의 DNS 레코드를 업데이트할 수 있는지 여부에 따라 다음 단계를 수행합니다.
호스트 이름의 DNS를 업데이트할 수 없는 경우
환경 그룹 호스트 이름이 등록되지 않았거나 DNS 레코드를 업데이트할 수 없으면 다음 단계를 수행합니다. 다음 단계에서는 인그레스 IP를 가져와 --resolve
플래그와 함께 cURL 호출에서 직접 사용합니다.
- 인그레스 IP를 내보냅니다.
export INGRESS_IP=$(kubectl -n istio-system get service \ istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
- 보안 인그레스 포트 번호를 내보냅니다.
export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \ service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
- 환경 그룹의 호스트 별칭을 변수로 내보냅니다.
export HOSTALIAS=your_host_alias
- API 프록시를 호출합니다. cURL의
--resolve
플래그를 사용하면 인그레스 IP를 직접 지정할 수 있습니다.curl -H Host:$HOSTALIAS --resolve \ $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_IP \ https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k
호스트 이름의 DNS를 업데이트할 수 있는 경우
환경 그룹을 만들 때 사용한 호스트 이름이 등록되고 외부 인그레스 IP를 가리키도록 DNS 레코드를 업데이트할 수 있으면 다음 단계를 수행합니다.
- 인그레스의 외부 IP를 변수로 내보냅니다.
export INGRESS_IP=$(kubectl -n istio-system get service \ istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
- 변수에 IP 주소가 있는지 확인합니다. 예를 들면 다음과 같습니다.
echo $INGRESS_IP 34.118.196.202
- 이 IP 주소를 사용하여 등록기관 또는 DNS 제공업체에서 DNS 레코드(일반적으로 A 또는 CNAME 레코드)를 업데이트합니다. DNS 레코드 변경사항이 적용되는 데 최대 1시간까지 기다려야 할 수 있습니다.
- 환경 그룹의 호스트 별칭을 변수로 내보냅니다.
export HOSTALIAS=your_host_alias
- API 프록시를 호출합니다.
curl -k https://$HOSTALIAS/myproxy
예를 들면 다음과 같습니다.
curl -v -k https://apitest.acme.com/myproxy
호출이 성공하면 다음 출력이 표시됩니다.
Hello, Guest!