7-host 和 10-host API BaaS 安裝

Private Cloud v. 4.16.05 專用 Edge

使用負載平衡器

在實際工作環境中安裝 API BaaS 時,會在 API BaaS 入口網站節點之間使用負載平衡器 以及 API BaaS 堆疊節點設定入口網站時,您必須指定 IP 位址或 DNS 名稱 而非堆疊節點

除了負載平衡器之外,您還可以使用循環配置 DNS。在這個情境中 建立 DNS 項目,並將多個 A 記錄對應至 BaaS 堆疊 IP 位址。DNS 期間 查詢時,DNS 伺服器會以循環方式自動傳回 A 記錄值。

連線至 Cassandra

安裝 BaaS 時,您可以選擇將 BaaS 和 Edge 連線至同一個 Cassandra 叢集 或為 BaaS 建立獨立的 Cassandra 叢集小型 BaaS 裝置藝術 通常能與 Edge 共用 Cassandra 叢集

針對高處理量和可用性,或將 Cassandra 叢集分離成不同的叢集 Apigee 的網路可用區,Apigee 建議您使用不同的 Cassandra 叢集。個別叢集 提高效能,前提是 BaaS 上的流量較高。

日期同步處理

您必須讓所有伺服器上的日期/時間必須保持同步。如果尚未設定 「ntpdate」公用程式可提供此目的,用於驗證伺服器是否為時間 同步處理。您可以使用「yum install ntp」安裝公用程式。

Tomcat 安全性

API BaaS 安裝程式也會在所有 API BaaS 堆疊節點上安裝 Apache Tomcat 伺服器, 包括 Tomcat 管理員 UI安裝程式會保留預設的管理員憑證 原本就不再是 admin:admin 管理員

如有需要,您可以在保護 Tomcat 的過程中變更這些憑證。如要 相關資訊,請參閱:

安裝總覽

在節點上安裝 Edge 的 apigee-setup 公用程式後,請使用 可在節點上安裝一或多個 BaaS 元件。apigee-setup 公用程式的格式如下:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

將設定檔傳送至 apigee-setup 公用程式,該公用程式會包含 安裝的相關資訊如果設定檔缺少 相關資訊,apigee-setup 公用程式會提示您在指令列中輸入輸入碼。

唯一的要求是設定檔必須必須讓設定檔可讀取或讀取 「apigee」內容。例如,將檔案放在節點的 /tmp 目錄中。

例如,使用以下指令安裝 API BaaS 堆疊:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Apigee setup.sh 公用程式 支援多個 API BaaS 元件安裝選項。以下說明使用 獨立選項 (c、e、b 和 p),但您可以根據節點使用不同的選項 設定:

選項

說明

e

只能安裝 ElasticSearch。

b

僅安裝 API BaaS Stack,此程式也會安裝 Tomcat。

p

僅安裝 API BaaS 入口網站,此同時也會安裝 Nginx 路由器以作為網路使用 伺服器

c

僅安裝 Cassandra。

Eb

在節點中安裝 ElasticSearch、API BaaS 堆疊和 Tomcat。

ebp

安裝 ElasticSearch、API BaaS 入口網站、API BaaS 堆疊和 Tomcat。傳送門現在 而不需額外資源即可進行這項作業

亞洲

在單一節點 (Cassandra、Elasticsearch、API BaaS 堆疊、 和 API BaaS 入口網站這個選項僅供開發和測試使用,不適用於 。

建立靜音設定 檔案

以下顯示一個 10 個節點 API BaaS 安裝的無訊息設定檔範例。編輯 以備不時之需使用 -f 選項 setup.sh 加入這個檔案。

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

下表包含這些屬性的其他資訊:

屬性

注意

CASS_HOSTS

如果您要安裝 Cassandra,請指定 Cassandra 節點 IP (而非 DNS 名稱),然後 包含「:dc,ra」修飾符,用於指定資料中心和機架 Cassandra 節點

例如 '192.168.124.201:1,1 = datacenter 1 和機架/可用性區域 1,以及 '192.168.124.204:2,1 = 資料中心 2 和機架/供應區域 1。

CASS_USERNAME
CASS_PASSWORD

Cassandra 使用者名稱和密碼。

即使 Cassandra 驗證已停用,您還是必須傳送這些值。不過 這些值將被忽略。

BAAS_CASS_LOCALDC

區域名稱格式必須為 dc-#,其中 # 會對應到整數值。

例如 dc-1、dc-2 等。如果您正在連線至已安裝的 Cassandra 叢集 使用 Edge 時,您可以向 Edge 系統管理員要求這個值。單機遊戲 安裝資料中心,預設值為 dc-1。

如果您是在安裝 API BaaS 時安裝 Cassandra,在 Cassandra 期間 安裝作業,您在 Cassandra IP 位址中新增了「:dc,ra」修飾符。 第一個值「dc」是資料中心的編號資料中心名稱為「dc-」字串 開頭加上資料中心編號

BAAS_CASS_REPLICATION

格式為「dataCenterName:#CassandraNodes」。 例如,若 dc-1 包含三個 Cassandra 節點,它會是 dc-1:3。

BAAS_USERGRID_URL

在實際工作環境中,這是位於 API BaaS 堆疊節點前方,格式為:

http://myStackLoadBalancer:8443

在測試或開發環境中,只有一個 API BaaS 堆疊 節點,這可以是 API BaaS 堆疊節點的網址和通訊埠編號,格式如下:

http://stackIPorDNS:8080

API BaaS 堆疊伺服器的通訊埠號碼為 8080。

BAAS_PORTAL_URL

負載平衡器的網址和通訊埠號碼 (如果入口網站前方有負載平衡器), 格式:

http://myPortalLoadBalancer:8443

如果沒有負載平衡器,則會顯示入口網站節點的網址和通訊埠號碼,即 表單:

http://portalIPorDNS:9000

API BaaS 入口網站的通訊埠號碼預設為 9000。

BAAS_PORTAL_LISTEN_PORT

API BaaS 入口網站伺服器的通訊埠號碼為 9000。如果沒有這個充電座, 可以指定不同的通訊埠

如果您將 BAAS_PORTAL_URL 設為 入口網站節點,兩個資源的通訊埠號碼必須相同。

選用 - 安裝 Cassandra:機器 8、9 與 10 分

雖然您可以將 API BaaS 連結至 Edge 使用的 Cassandra 叢集,而 Apigee 建議您使用不同的叢集

Cassandra 叢集可以使用驗證功能,或是停用 Cassandra 驗證功能。詳情請見 啟用 Cassandra 驗證: 內容。

  1. 使用下列指令,在節點上安裝 Edge apigee-setup 公用程式 網際網路或非網際網路程序請參閱安裝 Edge apigee-setup 公用程式 內容。
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    「-p c」選項會指定安裝 Cassandra。
    設定檔必須可由「apigee」存取或讀取內容。例如,將 該檔案位於節點上 /tmp 目錄中

設定已成功在節點上完成資料儲存庫設定。

請注意,Cassandra 預設會啟用 JMX。無法透過 JMX 遠端存取 Cassandra 需要密碼。您可以設定 Cassandra,為 JMX 使用驗證機制。詳情請參閱 如何監控

設定 Cassandra Cron 工作

設定一個 Cron 工作,使用 nodetool 來清除每小時執行的鎖定 在每個 Cassandra 節點上

如果您有多個 Cassandra 節點,請將每個伺服器上的 Cron 工作偏移五分鐘, 因為所有節點不會同時清除

Cron 工作必須執行下列指令:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

其中 IP_address 是 Cassandra 節點的 IP 位址。

安裝 ElasticSearch:機器 1、2 和 3

如何安裝 ElasticSearch:

  1. 透過網際網路或非網際網路,在節點中安裝 Edge Apigee-setup 公用程式 程序。請參閱安裝 Edge apigee-setup 公用程式
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    「-p e」選項可指定安裝 ElasticSearch。
    設定檔必須可由「apigee」存取或讀取內容。例如,將 該檔案位於節點上 /tmp 目錄中
  3. (選用) 如果您在獨立節點上安裝 ElasticSearch,代表系統並未安裝 ElasticSearch 使用 API BaaS 堆疊,調整預設記憶體選項,增加分配給 從 4 GB 到 6 GB 的 ElasticSearch:
    1. 開啟 /opt/apigee/customer/application/elasticsearch.properties 「在編輯器中設定」如果這個檔案不存在,請建立該檔案。
    2. 設定 setenv_elasticsearch_max_mem_size 屬性改為 6g (預設為 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. 儲存檔案。
    4. 執行下列指令:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch 重新啟動

設定已成功在節點上完成設定。

安裝 API BaaS 堆疊:機器 4、5 和 6

如何安裝 API BaaS 堆疊:

  1. 透過網際網路或非網際網路,在節點中安裝 Edge Apigee-setup 公用程式 程序。請參閱安裝 Edge apigee-setup 公用程式
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    「-p b」選項指定安裝 API BaaS 堆疊。
    設定檔必須可由「apigee」存取或讀取內容。例如,將 該檔案位於節點上 /tmp 目錄中

安裝程式擷取正確的管理員憑證後,就會安裝 Tomcat、建立 API BaaS 索引鍵空間,並在伺服器上設定 API BaaS 堆疊。SMTP 也設定為 傳送密碼確認電子郵件的使用者介面。

安裝 API BaaS 入口網站:機器 7

如何安裝 API BaaS 入口網站:

  1. 透過網際網路或非網際網路,在節點中安裝 Edge Apigee-setup 公用程式 程序。請參閱安裝 Edge apigee-setup 公用程式
  2. 在命令提示字元中執行設定指令碼:
    >/opt/apigee/setup/bin/setup.sh -p p -f configFile

    「-p p」選項可指定安裝 API BaaS 入口網站。
    設定檔必須可由「apigee」存取或讀取內容。例如,將 該檔案位於節點上 /tmp 目錄中

安裝程式會啟動 Nginx 網路伺服器,然後完成 API BaaS 入口網站 此外還會從 0 自動調整資源配置 您完全不必調整資源調度設定

記下 API BaaS 入口網站網址。這是您在瀏覽器中輸入的網址 API BaaS 入口網站使用者介面

設定堆疊的 API BaaS 節點 或入口網站負載平衡器

如果在堆疊或入口網站節點前方納入負載平衡器,您必須設定 負載平衡器的正確網址。例如,堆疊節點需要 下列資訊:

  • 在 BaaS API 要求的回應中加入網址。
  • 在重設密碼或傳送其他電子郵件時,在電子郵件範本中新增連結 通知。
  • 將使用者重新導向至特定的入口網站頁面。

如果在堆疊節點前方使用負載平衡器,請在以下位置設定下列屬性: /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

http://localhost:8080 替換成負載的網址 。如果負載平衡器設為使用傳輸層安全標準 (TLS),請使用 HTTPS 通訊協定。您只需要 如果使用非標準通訊埠 (也就是通訊埠以外的通訊埠),則需包含通訊埠 HTTP 值為 80,HTTPS 則為通訊埠 443。

如果發生此情況,您還必須在 /opt/apigee/customer/application/portal.properties 設定下列屬性 您將在堆疊節點前方使用負載平衡器:

baas.portal.config.overrideUrl=http://localhost:8080

http://localhost:8080 替換成 負載平衡器

如果在入口網站節點前方使用負載平衡器,請設定下列屬性 usergrid.properties

usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

http://localhost:9000 替換成 負載平衡器如果負載平衡器設為使用傳輸層安全標準 (TLS),請使用 HTTPS 通訊協定。個人中心 只有在使用非標準連接埠時,才需要包含連接埠;也就是說 通訊埠 80 (HTTP 通訊埠為 443) 和 HTTPS 通訊埠 443。

編輯 usergrid.properties portal.properties 後:

  1. 設定堆疊節點:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 設定
  2. 將變更部署至 Tomcat:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 部署
  3. 重新啟動 BaaS 堆疊:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 重新啟動
  4. 如果您修改了 portal.properties,請 入口網站節點:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal Configuration
  5. 部署變更:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. 重新啟動 BaaS 入口網站:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal restart

新機構新手上路

「新手上路」是指建立機構和機構管理員的程序。更新後 建立機構和機構組織管理員,您就可以登入 API BaaS 入口網站 並向 API BaaS REST API 發出要求。

建立機構時,機構管理員的電子郵件地址:

  • 必須與系統管理員的電子郵件地址不同。
  • 名稱與其他機構不得重複。也就是說,您無法建立兩個機構 與機構組織管理員的電子郵件地址相同不過,建立 Deployment 後 您可以新增其他管理員,並且在多個 員工只能在您的 Google Cloud 機構中存取資源 無法在其他機構存取資源

如要執行新手上路程序,請使用 create_org_and_user.py Python 指令碼。 如果叫用這個指令碼時不使用指令列引數,就會提示您 每個 ACL 都由一或多個項目組成 而這些項目包含兩項資訊

> python create_org_and_user.py

或者,您也可以傳遞任何或所有選項做為指令列引數。系統會提示您 您在指令列中省略的任何資訊:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

如要建立機構組織,請按照下列步驟操作:

  1. 將目錄變更為 /opt/apigee/baas-usergrid/bin
  2. 叫用 create_org_and_user.py Python 指令碼。
    系統會提示您輸入 BaaS 系統管理員的使用者名稱和密碼,因此只有 sys 管理員能執行該工作
  3. 使用您在網址末端註明的網址登入 API BaaS 入口網站 API BaaS 入口網站網址安裝。如要存取入口網站,請在 相關表單如下:
    http://{portalExternalIP}:9000/

    注意:IP 是入口網站機器的外部 IP 位址/主機名稱。確保 這個通訊埠已開啟
  4. 入口網站登入畫面顯示時,您可以採取下列任一做法:
    • 使用機構管理員的使用者名稱和密碼登入。
    • 使用系統管理員的使用者名稱和密碼登入。

存取 API BaaS REST API

如要存取 API BaaS REST API,請使用以下格式的網址:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

在開發環境中,您可以在單一節點上安裝所有 API BaaS 元件 這代表有一個 API BaaS 堆疊或者,您可能擁有的是 API BaaS 堆疊節點,且沒有負載平衡器。在這些類型的環境中,您可以進行 API 呼叫 直接寫入 API BaaS 堆疊節點:

curl -v "http://portalExternalIP:8080/status"

如要進一步瞭解如何開始使用 API BaaS 入口網站,請參閱 Apigee 說明文件: http://apigee.com/docs/content/build-apps-home.