서비스 엔티티와 API 엔드포인트 추가

서비스 엔티티와 API 엔드포인트 추가

Identity 서비스는 서비스에 대한 카탈로그 및 위치를 제공합니다. OpenStack 환경에 추가하는 각 서비스는 카탈로그 내 service 엔티티와 API 엔드포인트 를 필요로합니다.

선행조건

기본으로 Identity 서비스 데이터베이스는 일반적인 인증 및 카탈로그 서비스를 지원하기 위한 정보를 포함하고 있지 않습니다. Identity 서비스에 대한 서비스 엔티티와 API 엔드포인트 초기화를 위해서는 설치와 설정 섹션에서 생성하였던 임시 인증 토큰을 사용해야 합니다.

openstack 명령어에 --os-token 매개변수 또는 OS_TOKEN 환경변수를 설정하여 인증 토큰 값을 전달해야 합니다. 비슷하게 Identity 서비스 URL 값 또한 openstack 명령어에 --os-url 매개변수 또는 OS_URL 환경변수를 설정하여 전달해야 합니다. 이 가이드는 명령어 길이를 줄이기 위해 환경변수를 사용합니다.

경고

보안상의 이유로 Identity 서비스를 초기화하는 필요성 이상으로 임시 인증 토큰을 사용하지 마십시오.

  1. 인증 토큰 구성:

    $ export OS_TOKEN=ADMIN_TOKEN
    

    ADMIN_TOKEN설치와 설정 섹션에서 생성했던 인증 토큰으로 변경합니다. 예를 들면:

    $ export OS_TOKEN=294a4c8a8a475f9b9836
    
  2. 엔드포인트 URL 구성:

    $ export OS_URL=http://controller:35357/v3
    
  3. Identity API 버전 구성:

    $ export OS_IDENTITY_API_VERSION=3
    

서비스 엔티티와 API 엔드포인트 추가

  1. Identity 서비스는 OpenStack 환경에서 서비스에 대한 카탈로그를 관리합니다. 서비스들은 환경 내 다른 서비스들이 사용 가능한지를 결정하기 위해 해당 카탈로그를 사용합니다.

    Identity 서비스를 위한 서비스 엔티티 생성:

    $ openstack service create \
      --name keystone --description "OpenStack Identity" identity
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Identity               |
    | enabled     | True                             |
    | id          | 4ddaae90388b4ebc9d252ec2252d8d10 |
    | name        | keystone                         |
    | type        | identity                         |
    +-------------+----------------------------------+
    

    주석

    OpenStack은 ID를 동적으로 생성하므로, 예제 명령어 결과에서와 다른 값들을 살펴볼 것입니다.

  2. Identity 서비스는 OpenStack 환경에서 서비스와 관련된 API 엔드포인트에 대한 카탈로그를 관리합니다. 서비스들은 환경 내 다른 서비스들과 통신하는 방법을 결정하기 위해 해당 카탈로그를 사용합니다.

    OpenStack은 각 서비스에 admin, internal, public에 해당하는 세 개의 API 엔드포인트를 사용합니다. admin API 엔드포인트는 디폴트로 사용자와 tenant를 수정 가능하지만, public과 internal API는 해당 동작을 허용하지 않습니다. Production 환경에서는 보안상의 이유로 각각은 서로 다른 유형의 사용자에게 서비스가 이루어지는 서로 분리된 네트워크에 있을 것입니다. 예를 들면, 공용 API 네트워크는 고객들이 클라우드를 관리할 수 있도록 인터넷에 접근할 수 있어야 할 것입니다. admin API 네트워크는 클라우드 인프라를 관리하도록 조직 내 운영자에게만으로 제한되어야 할 것입니다. internal API 네트워크는 OpenStack 서비스를 포함하는 호스트로만 제한되어야 할 것입니다. 또한, OpenStack은 확장성을 위해 여러 region을 지원합니다. 간락화하여 이 가이드는 모든 엔드포인트에 대하여 관리 네트워크와 기본인 RegionOne region을 사용할 것입니다.

    Identity 서비스 API 엔드포인트 생성:

    $ openstack endpoint create --region RegionOne \
      identity public http://controller:5000/v3
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 30fff543e7dc4b7d9a0fb13791b78bf4 |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c8c0927262a45ad9066cfe70d46892c |
    | service_name | keystone                         |
    | service_type | identity                         |
    | url          | http://controller:5000/v3        |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      identity internal http://controller:5000/v3
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 57cfa543e7dc4b712c0ab137911bc4fe |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 6f8de927262ac12f6066cfe70d99ac51 |
    | service_name | keystone                         |
    | service_type | identity                         |
    | url          | http://controller:5000/v3        |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      identity admin http://controller:35357/v3
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 78c3dfa3e7dc44c98ab1b1379122ecb1 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 34ab3d27262ac449cba6cfe704dbc11f |
    | service_name | keystone                         |
    | service_type | identity                         |
    | url          | http://controller:35357/v3       |
    +--------------+----------------------------------+
    

    주석

    OpenStack 환경에 추가하는 각 서비스는 Identity 서비스에서 하나 이상의 서비스 엔티티와 세 개의 API 엔드포인트를 필요로합니다.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.