Edge Microgateway 설정 및 구성

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

Edge Micro Gateway v. 2.3.x

개요

이 가이드에서는 Edge Microgateway 인스턴스를 가동하고 실행하는 데 필요한 단계를 안내합니다.

이 단계를 완료하면 API 요청을 처리할 수 있도록 완전히 구성된 Edge Micro Gateway 설치가 완료됩니다. Edge Micro Gateway를 통해 백엔드 대상에 대한 보안 API 호출을 수행하여 설정을 테스트합니다. 또한 Micro Gateway에 급증 저지 플러그인을 추가하는 방법도 알아봅니다.

이 가이드는 다음과 같이 구성됩니다.

기본 요건: Edge Micro Gateway 설치

Edge Micro Gateway 설치의 안내를 따릅니다. 설치를 완료하면 이 튜토리얼의 단계를 따를 수 있습니다.

설치가 완료되면 다음 섹션인 '1부: Edge Micro게이트 구성'을 진행합니다.

1부: Edge Micro Gateway 구성

이 부분에서는 명령줄 인터페이스 (CLI) 명령어를 사용하여 Apigee Edge와 통신하도록 Edge Micro Gateway를 구성합니다. Apigee Edge Cloud를 사용하는 경우 Apigee Edge Cloud 구성 단계를 따르세요. Apigee Private Cloud를 사용하는 경우 Apigee Edge 프라이빗 클라우드 단계를 따르세요.

Apigee Edge Cloud 구성 단계

다음 단계에 따라 Edge Micro Gateway를 Apigee Edge Cloud와 함께 사용하세요.

  1. 이전에 Edge Micro Gateway를 초기화하지 않았다면 초기화합니다 (이 단계를 한 번만 실행하면 됨).
    edgemicro init
    
  2. (선택사항) edgemicroconfigure 명령어에 대한 도움말을 출력합니다.
    edgemicro configure -h
    
  3. 다음 명령어를 실행하여 Edge Microgateway를 구성합니다.
    edgemicro configure -o [org] -e [env] -u [username] 
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • username은 Apigee 계정과 연결된 이메일 주소입니다.

edgemicro configure -o docs -e test -u jdoe@example.com

출력

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

Apigee Private Cloud 구성 단계

다음 단계에 따라 Edge Micro Gateway를 Apigee Private Cloud와 함께 사용하세요.

  1. edgemicro private connect 명령어에 대한 도움말 정보를 출력합니다. Edge Micro Gateway CLI 명령어 또는 명령어 옵션에 대해 이 방식으로 도움말을 인쇄할 수 있습니다.
    edgemicro private configure -h
    
  2. 다음 명령어를 실행합니다. Apigee Edge 프라이빗 클라우드 계정에 대한 표준 정보(조직 이름, 환경 이름, 사용자 이름(이메일 주소), 비밀번호, 관리 서버 IP, 라우터 IP)가 필요합니다.
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    
    명령어를 사용하려면 Edge 조직 관리자여야 합니다.

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • runtime_url은 프라이빗 클라우드 인스턴스의 런타임 URL입니다.
    • mgmt_url은 프라이빗 클라우드 인스턴스의 관리 서버 URL입니다.
    • username은 Apigee 계정과 연결된 이메일 주소입니다.
    • virtual_host는 쉼표로 구분된 가상 호스트 이름의 목록입니다. 기본값은 default,secure입니다.

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

또는 가상 호스트 별칭이 myorg-test.mycompany.com인 경우 다음과 같은 명령어를 사용합니다.

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

출력

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

설치 확인

다음 명령어를 실행하여 설치를 확인합니다. 오류가 보고되지 않으면 모든 항목이 올바르게 설정된 것이며 Edge Micro Gateway를 성공적으로 시작할 수 있습니다.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

각 항목의 의미는 다음과 같습니다.

  • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
  • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
  • key는 이전에 구성 명령어에서 반환된 키입니다.
  • secret는 이전에 구성 명령어에서 반환된 키입니다.

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

구성 정보

지금까지 모든 구성을 완료하면 Edge Micro Gateway가 Apigee Edge에 자체적으로 부트스트랩할 수 있습니다. 부트스트랩에 성공한 후 Edge Micro Gateway는 Apigee Edge에서 추가 구성 정보의 페이로드를 검색합니다.

이 구성 정보는 어디에 사용되나요? 이 튜토리얼의 다음 부분에서 살펴보겠지만, Edge Microgateway가 시작되면 Apigee Edge에서 특수한 Edge Micro Gateway 인식 API 프록시 목록을 수신해야 합니다. 이 가이드의 다음 부분에서는 Micro Gateway 인식 프록시를 만듭니다. Edge Microgateway는 이러한 Micro Gateway 인식 API 프록시가 프런트엔드 API만 호출하는 것으로 클라이언트를 제한하며, 클라이언트는 기본적으로 각 호출에 유효한 보안 토큰을 제공해야 합니다. 이러한 프록시에 대한 자세한 내용은 Edge Micro게이트 개요의 'Edge Micro Gateway 인식 프록시에 대해 알아야 할 사항을 참조하세요.

Edge 조직 관리자라면 다른 프록시와 마찬가지로 Edge Micro Gateway 인식 프록시를 Edge 제품에 추가할 수 있는지 알아볼 수 있습니다. 제품 및 개발자 앱을 사용하면 클라이언트별 보안 토큰을 생성하여 Edge Micro Gateway를 통해 호출되는 API에 대한 액세스를 제어할 수 있습니다. 앞서 언급했듯이 관련된 패턴은 Apigee Edge에서 모든 API 프록시, 제품, 개발자 앱을 사용하는 것과 동일합니다. 제품에 대한 자세한 내용을 확인하려면 Edge 문서의 API 제품이란 무엇인가요?부터 시작하세요.

다음으로 Edge Micro Gateway 인식 프록시를 만드는 방법을 살펴본 후 Edge Micro Gateway를 시작하고 설정을 테스트합니다.

2부: Apigee Edge에서 항목 만들기

이 부분에서는 Edge에서 다음 항목을 만듭니다.

  • micro Gateway 인식 프록시 - 시작 시 Edge Micro Gateway가 검색할 수 있는 특수 프록시입니다. Micro Gateway 인식 프록시에는 이름 지정 규칙을 따라야 합니다. 이름은 edgemicro_로 지정되어야 합니다. 예를 들면 edgemicro_hello 또는 edgemicro_userinfo입니다. Edge Micro Gateway가 시작되면 Edge Micro Gateway를 시작할 때 지정한 것과 동일한 Edge 조직 및 환경의 마이크로 게이트웨이 인식 프록시 목록을 Edge에서 검색합니다.

    Edge Microgatway는 각 마이크로 게이트웨이 인식 프록시에 대해 프록시의 대상 URL과 기본 경로를 검색합니다. 또한 Micro Gateway 인식 프록시는 Edge Micro Gateway에서 생성된 분석 데이터를 Edge 플랫폼의 프록시와 편리하게 연결할 수 있는 방법을 제공합니다. Micro Gateway는 API 호출을 처리하므로 분석 데이터를 Edge에 비동기식으로 푸시합니다. 애널리틱스 데이터는 다른 프록시에서와 마찬가지로 Edge 애널리틱스 UI에 마이크로 게이트웨이 인식 프록시 이름 아래에 표시됩니다.
  • 제품, 개발자, 개발자 앱 - Edge Micro Gateway는 제품, 개발자, 개발자 앱을 사용하여 OAuth2 액세스 토큰 또는 API 키 보안을 사용 설정합니다. Edge Micro Gateway가 시작되면 Apigee Edge 조직의 모든 제품 구성을 다운로드합니다. 또한 이 정보를 사용하여 API 키 또는 OAuth2 액세스 토큰으로 Edge Microgateway를 통해 수행된 API 호출을 확인합니다.

자세히 알아보기: Edge Micro게이트 개요의 'Edge Micro Gateway 인식 프록시에 대해 알아야 할 사항'도 참조하세요.

1. Edge에서 Edge Micro Gateway 인식 API 프록시 만들기

  1. Apigee Edge에서 조직에 로그인합니다.
  2. 기본으로 전환을 클릭하여 Edge 기본 UI로 이동합니다.
  3. 상단 메뉴에서 API > API 프록시를 선택합니다.
  4. API 프록시 페이지에서 + API 프록시를 클릭합니다.
  5. 프록시 빌드 마법사에서 역방향 프록시(가장 일반적)를 선택합니다.
  6. 다음을 클릭합니다.
  7. 마법사의 세부정보 페이지에서 다음과 같이 구성합니다. 다음과 같이 마법사를 정확하게 작성해야 합니다.
    • 프록시 이름: edgemicro_hello
    • 프록시 기본 경로: /hello
    • 기존 API: http://mocktarget.apigee.net/
  8. 다음을 클릭합니다.
  9. 마법사의 보안 페이지에서 통과 (없음)을 선택합니다.
  10. 다음을 클릭합니다.
  11. 마법사의 가상 호스트 페이지에서 기본값을 수락합니다.
  12. 다음을 클릭합니다.
  13. 마법사의 빌드 페이지에서 프록시 설정을 검토합니다. test 환경이 선택되어 있는지 확인합니다.
  14. Build and Deploy(빌드 및 배포)를 클릭합니다.

2. 제품 만들기

두 개의 프록시가 포함된 제품을 만듭니다.

  • 마이크로 게이트웨이 인식 프록시: edgemicro_hello
  • Edge Microgateway에서 설치한 인증 프록시: edgemicro-auth
  1. Edge UI (기본 버전)에서 게시 > 제품으로 이동합니다.
  2. '제품' 페이지에서 + 제품을 클릭합니다. 다음과 같이 제품 세부정보 페이지를 작성합니다.
    • 이름: EdgeMicroTestProduct
    • 표시 이름: EdgeMicroTestProduct
    • 환경: 테스트 및 프로덕션
    • 액세스: 공개
    • 키 승인 유형: 자동
    • 리소스:
      • API 프록시: edgemicro_hello를 선택합니다.
      • 버전: 1
      • 리소스 경로: /**
  3. 리소스 가져오기를 클릭합니다.
  4. 리소스에서 +API 프록시를 클릭합니다.
  5. edgemicro-auth를 선택합니다.
  6. 저장을 클릭합니다.

3. (선택사항) 테스트 개발자 만들기

이 튜토리얼의 목적에 맞게 다음 단계인 개발자 앱 만들기에서 기존 개발자를 사용할 수 있습니다. 그러나 원하는 경우 지금 테스트 개발자를 만드세요.

  1. 게시 > 개발자로 이동합니다.
  2. 제품 페이지에서 + 개발자를 클릭합니다.
  3. 대화상자를 작성하여 테스트 개발자를 만듭니다.

4. 개발자 앱 만들기

이 앱의 클라이언트 사용자 인증 정보를 사용하여 Edge Micro게이트를 통해 안전한 API 호출을 수행합니다.

  1. 게시 > 개발자 앱으로 이동합니다.
  2. 개발자 앱 페이지에서 + 개발자 앱을 클릭합니다.
  3. 다음과 같이 개발자 앱 페이지를 작성합니다.
    1. 이름: EdgeMicroTestApp
    2. 표시 이름: EdgeMicroTestApp
    3. 개발자: 테스트 개발자를 만들었다면 해당 개발자를 선택합니다. 또는 이 튜토리얼의 목적에 맞게 기존 개발자를 사용할 수 있습니다.
    4. 사용자 인증 정보:
      1. 만료: 없음을 선택합니다.
      2. + Product(+ 제품)를 클릭하고 EdgeMicroTestProduct(방금 만든 제품)를 선택합니다.
  4. 저장을 클릭합니다.
  5. 개발자 앱 목록 페이지로 돌아갑니다.
  6. 방금 만든 앱 EdgeMicroTestApp을 선택합니다.
  7. 소비자 키고객 비밀번호 옆에 있는 표시를 클릭합니다.

3부: Edge Micro Gateway 운영

이제 Edge Microgateway를 구성하고, Edge Micro Gateway를 인식할 수 있는 프록시가 하나 이상 있으므로 이제 Edge Micro게이트를 시작할 차례입니다. Edge Micro Gateway HTTP 서버는 로컬 머신에서 실행되며 해당 서버에 직접 API를 호출합니다.

1. Edge Micro Gateway 시작

edgemicro start 명령어를 사용하여 Edge Micro Gateway를 시작합니다.

  1. 이전에 edgemicroconfigure 명령어를 실행할 때 반환된 키가 있는지 확인합니다. 출력은 다음과 같습니다.
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (선택사항) edgemicro start 명령어의 도움말 정보를 출력합니다.
    edgemicro start -h
    
  3. Edge Micro게이트를 시작하려면 다음 명령어를 실행합니다.
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • key는 이전에 구성 명령어에서 반환된 키입니다.
    • secret는 이전에 구성 명령어에서 반환된 키입니다.

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    출력

    시작 명령어는 Apigee Edge에서 많은 구성 정보를 검색하며 이는 터미널 창으로 스크롤됩니다. 출력에는 발견된 Micro Gateway 인식 프록시와 제품의 목록이 표시됩니다. 출력이 끝나면 다음과 같이 표시됩니다.

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000
    

어떻게 된 것일까요?

edgemicro config 명령어를 실행한 터미널을 확인합니다. 표준 출력을 위로 스크롤하면 명령어가 Apigee Edge에서 Edge Micro Gateway 구성 정보의 페이로드를 검색하는 것을 확인할 수 있습니다. 이러한 정보에는 다음이 포함됩니다.

  • 이전에 Apigee Vault에 만들고 저장한 공개 키입니다.
  • 조직/환경에 있는 모든 Edge Micro Gateway 인식 프록시의 JSON 표현입니다. 이는 모두 edgemicro_ 프리픽스로 이름이 지정된 프록시입니다.
  • 조직/환경에 있는 모든 API 제품을 JSON으로 표현한 것입니다.

Edge Micro Gateway는 이 정보를 통해 처리가 허용되는 프록시와 프록시 경로를 알 수 있습니다. 또한 개발자 앱 키가 제품과 연결되는 Apigee Edge의 API 프록시와 동일한 방식으로 제품 정보를 사용하여 보안을 강화합니다. Edge Micro Gateway를 보호하는 단계를 곧 살펴봅니다.

2. Edge Micro Gateway 테스트

Edge Micro Gateway가 실행 중인 상태에서 프록시를 호출할 수 있습니다. edgemicro_hello 프록시 구성은 Edge Micro Gateway를 시작할 때 Edge에서 다운로드되었습니다. 프록시 기본 경로는 /hello입니다.

Edge Micro Gateway를 테스트하려면 기본 경로로 시작하고 리소스 경로 /echo를 추가합니다. 기본 경로 뒤에 오는 모든 항목 (쿼리 매개변수 포함)이 단순히 백엔드 대상으로 전달됩니다.

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

이 오류는 요청과 함께 유효한 API 키 또는 액세스 토큰을 전송하지 않았기 때문에 발생합니다. 기본적으로 Edge Micro Gateway는 모든 API 호출에 API 키 또는 액세스 토큰이 필요합니다. 이 가이드의 다음 단계에서는 이 API를 올바르게 보호하고 유효한 액세스 토큰을 가져와 요청에 포함하는 방법을 보여줍니다.

4. Edge Micro Gateway 중지

  1. 별도의 터미널 창에서 Edge Micro Gateway를 시작한 동일한 디렉터리cd합니다.
  2. 중지 명령어를 입력합니다.
    edgemicro stop
    

4부: Secure Edge Micro Gateway

API 키 또는 액세스 토큰을 사용하여 Edge Micro Gateway를 통한 API 호출을 보호할 수 있습니다.

OAuth2 액세스 토큰으로 API 호출 보호

OAuth2 액세스 토큰으로 API 호출을 인증하려면 다음 단계를 따르세요.

1. 필수 키 가져오기

  1. Edge UI에서 2부: Apigee Edge에서 항목 만들기에 설명된 대로 이전에 만든 개발자 앱으로 이동합니다. 앱의 이름은 EdgeMicroTestApp입니다.
  2. 개발자 앱 페이지에서 고객 키와 고객 비밀번호를 표시하고 복사합니다. 이 값은 다음 단계에서 액세스 토큰을 얻는 데 필요합니다.

2. 액세스 토큰 가져오기

액세스 토큰을 가져오는 방법에는 두 가지가 있습니다. 두 가지 방법을 모두 보여드리겠습니다.

CLI를 사용하여 액세스 토큰 가져오기

첫 번째 방법이 편리하며 가이드 전체에서 사용한 패턴을 따릅니다. 두 번째 방법은 일반적으로 토큰을 요청해야 하는 클라이언트 앱 개발자에게 더 유용합니다. 실제 토큰 엔드포인트는 Edge Micro Gateway를 구성할 때 배포된 edgemicro-auth 프록시에서 구현됩니다.

  1. (선택사항) token get 명령어의 도움말을 확인합니다.
    edgemicro token get -h
    
  2. Apigee Edge에서 만든 개발자 앱의 -i-s 매개변수 값을 고객 키와 고객 비밀번호 값으로 대체하여 토큰을 생성합니다.
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • consumer_id는 이전에 만든 개발자 앱의 소비자 ID입니다.
    • consumer_secret 은 이전에 만든 개발자 앱의 고객 비밀번호입니다.

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
    

    출력 (샘플)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
    

(선택사항) API를 사용하여 토큰 가져오기

curl 또는 다른 HTTP 클라이언트를 사용하여 Edge 프록시를 호출하는 데 익숙하다면 edgemicro token 명령어를 사용하는 대신 토큰 엔드포인트를 직접 호출할 수 있다는 점에 유의해야 합니다. 다음은 curl 예입니다. URL에서 조직 및 환경 이름을 대체하고 기본 인증 헤더에 콜론으로 구분된 고객 키:소비자 비밀번호 값을 전달하기만 하면 됩니다.

curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"

각 항목의 의미는 다음과 같습니다.

  • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
  • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
  • client_id는 이전에 만든 개발자 앱의 소비자 ID입니다.
  • client_secret 은 이전에 만든 개발자 앱의 고객 비밀번호입니다.

출력 (샘플)

edgemicro token CLI 명령어를 사용했는지 또는 curl을 사용하여 엔드포인트를 호출했는지에 관계없이 명령어는 클라이언트 호출에 사용할 수 있는 서명된 액세스 토큰을 반환합니다. 예를 들면 다음과 같습니다.

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Edge Micro Gateway에서 구성 확인하기

  1. 파일을 엽니다./.edgemicro/org-env-config.yaml. Edge Micro Gateway 설치의 'Edge Micro Gateway가 설치된 위치'도 참조하세요.
  2. 이러한 OAuth 플러그인 속성이 false로 설정되어 있는지 확인하세요. 기본적으로 false이지만 한 번 더 확인하는 것이 좋습니다.
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. 또한 org-env-config.yaml 파일에서 다음과 같이 OAuth 플러그인이 plugins:sequence 요소에 추가되었는지 확인합니다.
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. 파일을 변경한 경우 실행 중인 Edge Micro Gateway 인스턴스에 변경사항을 다시 로드합니다. 이 명령어는 다운타임이 0인 Edge Micro Gateway를 재구성합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • key는 이전에 구성 명령어에서 반환된 키입니다.
    • secret는 이전에 구성 명령어에서 반환된 키입니다.

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

4. 안전한 API 호출

액세스 토큰을 사용하면 이제 API를 안전하게 호출할 수 있습니다. 예를 들면 다음과 같습니다.

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API는 모의 서버에서 헤더와 기타 정보를 반환합니다.

API 키로 API 보호

승인에 API 키를 사용하려면 다음 단계를 따르세요.

1. API 키 가져오기

  1. Edge UI에서 2부: Apigee Edge에서 항목 만들기에 설명된 대로 이전에 만든 개발자 앱으로 이동합니다. 앱의 이름은 EdgeMicroTestApp입니다.
  2. 개발자 앱 페이지에서 고객 키를 표시하고 복사합니다. 이 값이 API 키입니다. 이 키를 사용하여 인증된 API 호출을 실행합니다.

2. Edge Micro Gateway에서 구성 확인하기

  1. 파일을 엽니다./.edgemicro/org-env-config.yaml. Edge Micro Gateway 설치의 'Edge Micro Gateway가 설치된 위치'도 참조하세요.
  2. 이러한 OAuth 플러그인 속성이 false로 설정되어 있는지 확인하세요. 기본적으로 false이지만 한 번 더 확인하는 것이 좋습니다.
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. 또한 org-env-config.yaml 파일에서 다음과 같이 OAuth 플러그인이 plugins:sequence 요소에 추가되었는지 확인합니다.
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. 파일을 변경한 경우 실행 중인 Edge Micro Gateway 인스턴스에 변경사항을 다시 로드합니다. 이 명령어는 다운타임이 0인 Edge Micro Gateway를 재구성합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • key는 이전에 구성 명령어에서 반환된 키입니다.
    • secret는 이전에 구성 명령어에서 반환된 키입니다.

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

3. API 키로 API를 안전하게 호출

다음과 같이 x-api-key 헤더를 사용하여 API를 호출합니다. 개발자 앱에서 복사한 고객 키 값이 API 키입니다. 기본적으로 Edge Micro Gateway는 사용자가 다음과 같이 x-api-key라는 헤더에 키를 전달할 것으로 예상합니다.

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

각 항목의 의미는 다음과 같습니다.

  • apikey는 EdgeMicroTestApp에서 가져온 고객 키 값입니다.

예를 들면 다음과 같습니다.


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

이제 완벽하게 작동하는 안전한 Edge Micro Gateway가 준비되었습니다. 튜토리얼의 다음 부분에서는 Edge Micro Gateway에 기능을 추가하는 플러그인을 살펴봅니다.

5부: Spike Arrest 플러그인 추가

이 부분에서는 Edge Micro Gateway의 인스턴스에 급증 저지라는 비율 제한 기능을 추가합니다.

플러그인이란 무엇인가요?

플러그인은 Edge Micro Gateway에 기능을 추가하는 Node.js 모듈입니다. 플러그인 모듈은 일관된 패턴을 따르며 Edge Micro Gateway에 알려진 위치에 저장되므로 마이크로 게이트웨이가 자동으로 검색하고 로드할 수 있습니다. 플러그인에 관한 자세한 내용은 플러그인 사용을 참고하세요.

급증 저지 플러그인 추가

Spike Arrest는 트래픽 급증을 방지합니다. Edge Micro Gateway 인스턴스에서 처리하는 요청 수를 제한합니다.

Edge Micro Gateway에서는 급증 저지 기능이 플러그인 모듈로 구현됩니다. 사용 설정하려면 Edge Micro Gateway 구성 파일에 추가해야 합니다.

  1. 파일을 엽니다./.edgemicro/org-env-config.yaml. Edge Micro Gateway 설치의 'Edge Micro Gateway가 설치된 위치'도 참조하세요.
  2. 다음 요소를 추가합니다. 파일 어디에나 추가할 수 있습니다.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. 아래와 같이 spikearrestedgemicro:sequence 요소에 추가합니다. 시퀀스 구성 속성은 Edge Micro Gateway에 플러그인 모듈이 실행되는 순서를 알려줍니다.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
    
  4. 구성 파일을 저장합니다.
  5. reload 명령어를 사용하여 Edge Micro게이트를 새로고침합니다. Edge Micro Gateway를 시작한 디렉터리에서 이 명령어를 실행해야 합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직 관리자여야 함).
    • env은 조직의 환경 (예: 테스트 또는 프로덕션)입니다.
    • key는 이전에 구성 명령어에서 반환된 키입니다.
    • secret는 이전에 구성 명령어에서 반환된 키입니다.

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. 빠르게 연속해서 API를 여러 번 호출해 보세요. 두 번째 호출 후에는 Edge Micro Gateway가
    {"message":"SpikeArrest engaged","status":503}
    
    오류를 반환합니다.

그 이유는 급증 체포가 지정된 시간 단위에 들어갈 수 있는 호출 수를 완화하기 때문입니다. 따라서 이 경우 1분에 10회 또는 6초마다 1회 호출할 수 있습니다.

자세한 내용은 플러그인 사용에서 '급증 저지 작동 방식'을 참고하세요.

추가 크레딧: 할당량 플러그인 추가

급증 저지를 구성하는 데 사용된 것과 동일한 패턴에 따라 할당량 플러그인과 같은 다른 플러그인을 추가할 수 있습니다. 급증 저지와 마찬가지로 할당량 플러그인은 모든 Edge Micro Gateway 설치에 포함됩니다. 할당량은 지정된 시간 간격 (분 또는 시간) 동안 앱이 API에 제출할 수 있는 요청 메시지 수를 지정합니다.

할당량 작동 방식을 알아보려면 플러그인 사용의 '할당량 플러그인 사용'을 참고하세요.

6부: Apigee Edge에서 분석 보기

이제 완벽하게 작동하는 Edge Micro Gateway 인스턴스가 있으며 어떤 상태가 되었는지 살펴보겠습니다. 기본적으로 애널리틱스 플러그인 모듈이 Edge Micro에 추가됩니다. 이 모듈은 Edge Micro에서 Apigee 에지로 분석 데이터를 자동으로 푸시하며, 에지 분석 시스템에서 사용됩니다. 다음을 살펴보겠습니다.

  1. Apigee Edge에서 조직에 로그인합니다.
  2. 분석 > 프록시 실적을 선택합니다.
  3. 프록시 성능 대시보드에서 edgemicro_hello 프록시를 선택합니다.
  4. 그래프에는 총 트래픽, 평균 응답 시간, 평균 목표 응답 시간 등 프록시의 트래픽 패턴에 대한 정보가 표시됩니다.

Edge 문서의 애널리틱스 대시보드 홈페이지에서 Edge 애널리틱스 대시보드에 대한 자세한 내용을 확인할 수 있습니다. 플러그인에 관해 자세히 알아보려면 플러그인 사용을 참고하세요.