Endpoints는 분산형 API 관리 시스템입니다. 이 시스템은 API를 생성, 공유, 유지관리, 보호하는 데 유용한 API 콘솔, 호스팅, 로깅, 모니터링, 기타 기능을 제공합니다.
이 페이지는 OpenAPI에 대한 Cloud Endpoints 개요를 설명합니다.
Endpoints에서 지원되는 다른 유형의 API 프레임워크에 대한 자세한 내용은 모든 Endpoints 문서를 참조하세요.
Endpoints는 분산형 Extensible Service Proxy(ESP) 또는 Extensible Service Proxy V2(ESPv2)와 함께 사용할 수 있습니다. 각 프록시는 아래에 설명된 플랫폼에 지원을 제공합니다.
App Engine 가변형(ESP만 해당)
Google Kubernetes Engine(ESP 또는 ESPv2)
Compute Engine(ESP 또는 ESPv2)
Kubernetes(ESP 또는 ESPv2)
App Engine 표준(ESPv2만 해당)
Cloud Run 함수(ESPv2만 해당)
Cloud Run(ESPv2 전용)
Knative serving(ESPv2만 해당)
ESP를 사용하는 Endpoints
Endpoints는 가장 까다로운 API도 처리할 수 있도록 분산형 Extensible Service Proxy(ESP)를 사용하여 짧은 지연 시간과 고성능을 제공합니다. ESP는 NGINX 기반 서비스 프록시이므로 API에 대한 동시 요청을 처리할 수 있도록 필요에 맞게 확장할 수 있습니다. ESP는 격리 및 확장성이 향상될 수 있도록 고유 Docker 컨테이너에서 실행되며 Container Registry에 분산되어 있습니다. 다음과 함께 사용할 수 있습니다.
Endpoints는 Docker 컨테이너 환경에 최적화되어 있습니다. 인터넷에서 Google Cloud에 액세스할 수 있는 한 Docker가 지원되는 모든 위치에서 API를 호스팅할 수 있습니다.
OpenAPI용 Endpoints로 REST API 개발
Endpoints는 언어에 독립적입니다. API 기술을 지원하는 모든 언어 및 REST 프레임워크에서 OpenAPI 구성 파일을 사용하여 API를 빌드할 수 있습니다.
OpenAPI용 Endpoints를 사용하는 방법은 다음과 같습니다.
Endpoints 구성: OpenAPI 구성 파일에서 API 노출 영역을 기술하고 Endpoints 기능(예: API 키 또는 인증 규칙)을 구성합니다.
Endpoints 구성 배포: OpenAPI 구성 파일에서 API를 정의한 후 Google Cloud CLI를 사용하여 Service Management에 배포합니다. Endpoints는 Service Management를 사용하여 API를 관리합니다. 이렇게 하면 Endpoints가 API에 대한 모든 정보와 보호 방법을 알게 됩니다.
API 백엔드 배포: 지원되는 Google Cloud 백엔드(예: Compute Engine)에 ESP 또는 ESPv2 및 API 백엔드를 배포합니다.
ESP는 Endpoints 백엔드 서비스와 연계하여 런타임에 API를 보호하고 모니터링합니다.
API 액세스 제어
Endpoints를 사용하면 모든 호출에 API 키가 필요하도록 API를 구성하고 API 키를 검증할 수 있습니다. 또한 다른 개발자가 내 API를 사용 설정하고 API 키를 생성하여 이를 호출할 수 있도록 Google Cloud Console을 통해 다른 개발자와 API를 공유할 수도 있습니다.
API 사용자 인증
대부분의 API 호출의 경우, 각 호출의 반대 쪽에 사용자가 있습니다. API 키는 API를 호출하는 앱을 나타내고 인증 프로세스는 앱을 사용 중인 사용자를 결정합니다.
API 서버는 인증된 사용자가 API를 통해 무엇을 수행할 수 있는지를 결정해야 합니다. 자세한 내용은 Google Cloud 인증 가이드를 참조하세요.
다음 단계
Endpoints 빠른 시작을 수행하여 배포 단계를 살펴보고 지원되는 Endpoints 기능을 확인합니다. 여기에서는 스크립트를 사용하여 샘플 API를 App Engine 가변형 백엔드에 배포합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-12-21(UTC)"],[[["\u003cp\u003eEndpoints is a distributed API management system that offers an API console, hosting, logging, monitoring, and security features for creating, sharing, and maintaining APIs.\u003c/p\u003e\n"],["\u003cp\u003eEndpoints supports both the Extensible Service Proxy (ESP) and the Extensible Service Proxy V2 (ESPv2), offering compatibility with various platforms like Google Kubernetes Engine, Compute Engine, and Cloud Run.\u003c/p\u003e\n"],["\u003cp\u003eEndpoints provides API management features including logs, metrics, API hosting in Docker container environments, and language-independent REST API development through OpenAPI configuration files.\u003c/p\u003e\n"],["\u003cp\u003eUsing Endpoints for OpenAPI requires configuring the API surface and features in an OpenAPI file, deploying the configuration to Service Management, and deploying ESP/ESPv2 with the API backend to a supported platform.\u003c/p\u003e\n"],["\u003cp\u003eEndpoints allows controlling API access with API keys and authenticating API users to determine who is using the app, while the API server decides what the user can do.\u003c/p\u003e\n"]]],[],null,["# About Cloud Endpoints\n\nOpenAPI \\| [gRPC](/endpoints/docs/grpc/about-cloud-endpoints \"View this page for the Cloud Endpoints gRPC docs\")\n\n\u003cbr /\u003e\n\nEndpoints is a distributed API management system. It provides an\nAPI console, hosting, logging, monitoring, and other features to help you\ncreate, share, maintain, and secure your APIs.\n\nThis page provides an overview of\n[Cloud Endpoints for OpenAPI](/endpoints/docs/openapi/openapi-overview).\n\n\nFor information on other types of API frameworks supported by\nEndpoints, see\n[All Endpoints docs](/endpoints/docs).\n\nEndpoints is available for use with the distributed Extensible Service Proxy (ESP) or the Extensible Service Proxy V2 (ESPv2). Each proxy provides support to the platforms described below:\n\n- App Engine flexible (ESP only)\n- Google Kubernetes Engine (ESP or ESPv2)\n- Compute Engine (ESP or ESPv2)\n- Kubernetes (ESP or ESPv2)\n- App Engine standard (ESPv2 only)\n- Cloud Run functions (ESPv2 only)\n- Cloud Run (ESPv2 only)\n- Knative serving (ESPv2 only)\n\n| **Warning:** ESP is maintained for preexisting users. New users are encouraged to follow the tutorials for ESPv2. Both products are generally available and production-ready.\n\nEndpoints with ESP\n------------------\n\nEndpoints uses the distributed Extensible Service Proxy (ESP)\nto provide low latency and high performance for serving even the most demanding\nAPIs. ESP is a service proxy based on\n[NGINX](https://www.nginx.com/resources/wiki/), so you can be confident that it\nscales as needed to handle simultaneous requests to your API. ESP\nruns in its own Docker container for better isolation and scalability and is\ndistributed in the Container Registry. You can use it\nwith:\n\n- [App Engine flexible environment](/endpoints/docs/openapi/get-started-app-engine)\n- [Compute Engine](/endpoints/docs/openapi/get-started-compute-engine-docker)\n- [Google Kubernetes Engine](/endpoints/docs/openapi/get-started-kubernetes-engine)\n- [Kubernetes](/endpoints/docs/openapi/get-started-kubernetes)\n\nEndpoints with ESPv2\n--------------------\n\nESPv2 is an [Envoy](https://www.envoyproxy.io/docs/envoy/latest/)-based\nhigh-performance, scalable proxy that runs in front of an OpenAPI or gRPC API backend.\nESPv2 supports version 2 of the\n[OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md) and gRPC Specifications. You can use it\nwith:\n\n- [App Engine standard environment](/endpoints/docs/openapi/set-up-app-engine-standard-environment-espv2)\n- [Compute Engine](/endpoints/docs/openapi/get-started-compute-engine-docker-espv2)\n- [Google Kubernetes Engine](/endpoints/docs/openapi/get-started-kubernetes-engine-espv2)\n- [Kubernetes](/endpoints/docs/openapi/get-started-kubernetes-espv2)\n- [Cloud Run](/endpoints/docs/openapi/set-up-cloud-run-espv2)\n- [Knative serving](/endpoints/docs/openapi/set-up-cloud-run-anthos-espv2)\n- [Cloud Run functions](/endpoints/docs/openapi/set-up-cloud-functions-espv2)\n\nEndpoints API management features\n---------------------------------\n\nWhether you use Endpoints with ESP or ESPv2, it provides a number of significant API management features to enable you to develop, monitor, and control access to your APIs.\n\n### Logs and metrics\n\nEndpoints uses\n[Service Infrastructure](/service-infrastructure/docs/overview)\nto manage APIs and report logs and metrics. Most\n[Google Cloud APIs](/apis/docs/overview)\nuse this same infrastructure. You can manage and monitor your APIs on the\n**Endpoints Services** page in the [Google Cloud console](https://console.cloud.google.com/endpoints).\n\n### API hosting\n\nEndpoints is optimized for the Docker container environment. You\ncan host your API anywhere Docker is supported so long as it has internet access to\nGoogle Cloud.\n\n### Developing a REST API with Endpoints for OpenAPI\n\nEndpoints is language independent. You build your API in any\nlanguage and REST framework that supports API description using an\n[OpenAPI configuration file](/endpoints/docs/openapi/openapi-overview).\n\nTo use Endpoints for OpenAPI, you:\n\n- **Configure Endpoints** : You describe the API\n [surface](/endpoints/docs/openapi/glossary#surface)\n and configure Endpoints features, such as API keys or\n authentication rules, in an OpenAPI configuration file.\n\n- **Deploy the Endpoints configuration**: After you define your\n API in an OpenAPI configuration file, you use the Google Cloud CLI to deploy it\n to Service Management, which Endpoints uses to manage your\n API. Now Endpoints knows all about your API and how to secure\n it.\n\n- **Deploy the API Backend**: You deploy ESP or ESPv2 and your API\n backend to a supported Google Cloud backend, such as Compute Engine.\n ESP coordinates with Endpoints backend\n services to secure and monitor your API at runtime.\n\n### Controlling API access\n\nEndpoints lets you configure your API to require an API key for\nany call and validates the API key. You can also use the Google Cloud console to\n[share your API](/endpoints/docs/sharing-an-api) with other developers so they\ncan enable your API and generate API keys to call it.\n\n### Authenticating API users\n\nFor most API calls, there is a user on the other end of each call. While\n[API keys](/endpoints/docs/restricting-api-access-with-api-keys)\nindicate which app is making a call to your API, the\n[authentication](/endpoints/docs/openapi/authentication-method)\nprocess determines which user is using that app.\n\nNote that your API server still needs to decide what the authenticated user\ncan do with your API. For more information, see the\n[Google Cloud Auth guide](/docs/authentication).\n\nWhat's next\n-----------\n\n- Get familiar with the deployment steps and see Endpoints\n features in action by doing the\n [Quickstart for Endpoints](/endpoints/docs/deploy-api),\n which uses scripts to deploy a sample API to a App Engine flexible\n backend.\n\n- Learn more about using Endpoints by walking through one of the\n [Tutorials](/endpoints/docs/openapi/tutorials)."]]