Edge for Private Cloud v. 4.16.09
Menggunakan Load Balancer
Penginstalan produksi API BaaS menggunakan load balancer antara node API BaaS Portal dan Stack API BaaS. Saat mengonfigurasi Portal, Anda menentukan alamat IP atau nama DNS load balancer, bukan node Stack.
Sebagai alternatif load balancer, Anda dapat menggunakan DNS round-robin. Dalam skenario ini, Anda membuat entri DNS dengan beberapa data A yang sesuai dengan alamat IP stack BaaS. Selama DNS pencarian, server DNS secara otomatis mengembalikan nilai pencatatan A secara {i>round robin<i}.
Menghubungkan ke Cassandra
Saat menginstal BaaS, Anda dapat memilih untuk menghubungkan BaaS dan Edge ke cluster Cassandra yang sama, atau membuat gugus Cassandra terpisah untuk BaaS. Instalasi BaaS yang lebih kecil, yang berarti instalasi dengan volume lalu lintas yang lebih rendah, sering kali menggunakan gugus Cassandra yang sama dengan Edge.
Untuk throughput dan ketersediaan yang tinggi, atau untuk memisahkan cluster Cassandra ke dalam berbagai jaringan, Apigee merekomendasikan agar Anda menggunakan cluster Cassandra terpisah. Cluster terpisah memaksimalkan performa jika Anda mengalami beban traffic yang tinggi di BaaS.
Sinkronisasi tanggal
Anda harus memiliki tanggal/waktu di semua server yang disinkronkan. Jika belum dikonfigurasi, Utilitas 'ntpdate' dapat memenuhi tujuan ini, yang memverifikasi apakah server sudah siap disinkronkan. Anda dapat menggunakan "{i>yum install ntp<i}" untuk menginstal utilitas.
Keamanan Tomcat
Penginstal API BaaS juga menginstal server Apache Tomcat di semua node API BaaS Stack, termasuk UI administrator Tomcat. Penginstal membiarkan kredensial administrator default. tidak berubah dari admin:admin.
Jika perlu, Anda dapat mengubah kredensial ini sebagai bagian dari pengamanan Tomcat. Untuk selengkapnya informasi tambahan, lihat:
- https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
- https://www.owasp.org/index.php/Securing_tomcat
Ringkasan penginstalan
Setelah Anda menginstal Edge, utilitas apigee-setup pada node, gunakan utilitas untuk menginstal satu atau lebih komponen BaaS pada {i>node<i}. Utilitas apigee-setup memiliki bentuk:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Teruskan file konfigurasi ke utilitas apigee-setup yang berisi informasi tentang penginstalan. Jika file konfigurasi hilang, tidak ada elemen informasi, apigee-setup utilitas meminta Anda untuk memasukkannya pada baris perintah.
Satu-satunya persyaratan adalah file konfigurasi harus dapat diakses atau dibaca oleh "apigee" .
Misalnya, gunakan perintah berikut untuk menginstal API BaaS Stack:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
Utilitas setup.sh Apigee mendukung beberapa opsi untuk menginstal komponen API BaaS. Petunjuk di bawah menggunakan opsi mandiri (c, e, b, dan p), tetapi Anda dapat menggunakan opsi yang berbeda berdasarkan node konfigurasi:
Opsi |
Deskripsi |
---|---|
e |
Instal ElasticSearch saja. |
b |
Instal API BaaS Stack saja, yang juga menginstal Tomcat. |
p |
Instal Portal BaaS API saja, yang juga menginstal router Nginx untuk digunakan sebagai web server tertentu. |
c |
Instal Cassandra saja. |
eb |
Instal ElasticSearch, API BaaS Stack, dan Tomcat pada node. |
ebp |
Instal ElasticSearch, API BaaS Portal, API BaaS Stack, dan Tomcat. Portal ini begitu ringan, tidak perlu sumber daya tambahan untuk ini. |
Asa |
Instal semua komponen API pada satu node (Cassandra, Elasticsearch, API BaaS Stack, dan Portal BaaS API). Gunakan opsi ini hanya untuk pengembangan dan pengujian, bukan untuk produksi. |
Membuat konfigurasi senyap file
Di bawah ini adalah contoh file konfigurasi senyap untuk penginstalan API BaaS 10 node. Mengedit file ini sesuai kebutuhan konfigurasi Anda. Gunakan opsi -f untuk setup.sh agar dapat menyertakan file ini.
# 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
Tabel berikut berisi informasi tambahan tentang properti ini:
Properti |
Catatan |
---|---|
CASS_HOSTS |
Jika Anda menginstal Cassandra, tentukan IP node Cassandra (bukan nama DNS) dan menyertakan pengubah “:dc,ra” yang menentukan pusat data dan rak penyimpanan Node Cassandra. Misalnya '192.168.124.201:1,1 = pusat data 1 dan zona rak/ketersediaan 1, dan '192.168.124.204:2,1 = pusat data 2 dan zona rak/ketersediaan 1. |
CASS_USERNAME |
Nama pengguna dan sandi Cassandra. Jika autentikasi Cassandra dinonaktifkan, Anda tetap harus meneruskan nilai ini. Namun, nilainya akan diabaikan. |
BAAS_CASS_LOCALDC |
Nama wilayah harus dalam bentuk dc-# dengan # sesuai dengan nilai bilangan bulat. Misalnya, dc-1, dc-2, dll. Jika Anda terhubung ke cluster Cassandra yang terinstal dengan Edge, Anda dapat meminta nilai ini kepada administrator sistem Edge. In a Edge tunggal instalasi pusat data, nilai defaultnya adalah dc-1. Jika Anda menginstal Cassandra sebagai bagian dari penginstalan API BaaS, maka selama Cassandra penginstalan, Anda menambahkan pengubah “:dc,ra” ke alamat IP Cassandra. Nilai pertama "dc" adalah nomor pusat data. Nama pusat data adalah string "dc-" dengan nomor pusat data sebagai akhiran. |
BAAS_CASS_REPLICATION |
Formatnya adalah "dataCenterName:#CassandraNodes". Misalnya, untuk dc-1 dengan tiga node Cassandra, nilainya adalah dc-1:3. |
BAAS_USERGRID_URL |
Di lingkungan produksi, ini adalah URL dan port load balancer yang ada di
bagian depan node Stack BaaS API, dalam bentuk: Dalam lingkungan pengujian atau pengembangan, tempat Anda hanya memiliki satu API BaaS Stack , dapat berupa URL dan nomor port node API BaaS Stack, dalam bentuk: http://stackIPorDNS:8080 Nomor port untuk server API BaaS Stack adalah 8080. |
BAAS_PORTAL_URL |
URL dan nomor port load balancer, jika ada di depan Portal,
dalam bentuk: |
BAAS_PORTAL_LISTEN_PORT |
Nomor port untuk server API BaaS Portal adalah 9000. Jika porta ini tidak tersedia, menentukan porta yang berbeda. Jika Anda menyetel BAAS_PORTAL_URL ke URL elemen Node portal, nomor port harus sama untuk kedua properti. |
Opsional - Instal Cassandra: Machine 8, 9, dan 10
Meskipun Anda dapat menghubungkan API BaaS ke cluster Cassandra yang sama seperti yang digunakan oleh Edge, Apigee merekomendasikan Anda untuk menggunakan klaster terpisah.
Cluster Cassandra dapat menggunakan autentikasi, atau autentikasi Cassandra dapat dinonaktifkan. Lihat Aktifkan autentikasi Cassandra untuk banyak lagi.
- Instal utilitas apigee-setup Edge pada node menggunakan prosedur internet atau non-internet. Lihat Menginstal utilitas Edge apigee-setup untuk banyak lagi.
- Di command prompt, jalankan skrip penyiapan:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
Opsi “-p c” menentukan untuk menginstal Cassandra.
File konfigurasi harus dapat diakses atau dibaca oleh "apigee" .
Konfigurasi berhasil menyelesaikan penyiapan datastore pada node.
Perhatikan bahwa JMX diaktifkan secara default untuk Cassandra. Akses jarak jauh JMX ke Cassandra tidak memerlukan {i>password<i}. Anda dapat mengonfigurasi Cassandra agar menggunakan autentikasi untuk JMX. Untuk informasi selengkapnya, lihat Cara Memantau.
Menyiapkan cron job Cassandra
Siapkan cron job yang menggunakan nodetool untuk menghapus kunci agar dijalankan setiap jam di setiap node Cassandra.
Jika Anda memiliki beberapa {i>node<i} Cassandra, beri offset cron job di setiap server sebanyak lima menit sehingga bahwa semua {i>node<i} tidak {i> flush<i} secara bersamaan.
cron job harus menjalankan perintah berikut:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
dengan IP_address adalah alamat IP node Cassandra.
Instal ElasticSearch: Machine 1, 2, dan 3
Untuk menginstal ElasticSearch:
- Instal utilitas penyiapan Edge apigee pada node menggunakan internet atau non-internet prosedur standar. Lihat Menginstal Edge apigee-setup utilitas untuk mempelajari lebih lanjut.
- Di command prompt, jalankan skrip penyiapan:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
Opsi “-p e” menentukan untuk menginstal ElasticSearch.
File konfigurasi harus dapat diakses atau dibaca oleh "apigee" . - (Opsional) Jika Anda menginstal ElasticSearch pada node mandiri, artinya ElasticSearch tersebut tidak diinstal
dengan API BaaS Stack, lalu sesuaikan opsi memori default untuk meningkatkan
ElasticSearch dari 4 GB hingga 6 GB:
- Buka /opt/apigee/customer/application/elasticsearch.properties di editor. Jika file ini tidak ada, buatlah.
- Tetapkan setenv_elasticsearch_max_mem_size
menjadi 6g (default-nya adalah 4g):
setenv_elasticsearch_max_mem_size=6g - Simpan file.
- Jalankan perintah berikut:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch mulai ulang
Konfigurasi berhasil menyelesaikan penyiapan pada node.
Instal API BaaS Stack: Machine 4, 5, dan 6
Untuk menginstal API BaaS Stack:
- Instal utilitas penyiapan Edge apigee pada node menggunakan internet atau non-internet prosedur standar. Lihat Menginstal Edge apigee-setup utilitas untuk mempelajari lebih lanjut.
- Di command prompt, jalankan skrip penyiapan:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
Opsi “-p b” menentukan untuk menginstal API BaaS Stack.
File konfigurasi harus dapat diakses atau dibaca oleh "apigee" .
Setelah penginstal mengambil kredensial admin yang benar, penginstal menginstal Tomcat, membuat API Keyspace BaaS, dan menyiapkan API BaaS Stack di server. SMTP juga dikonfigurasi untuk mengizinkan UI untuk mengirim email konfirmasi {i>password<i}.
Instal Portal BaaS API: Mesin 7
Untuk menginstal Portal BaaS API:
- Instal utilitas penyiapan Edge apigee pada node menggunakan internet atau non-internet prosedur standar. Lihat Menginstal Edge apigee-setup utilitas untuk mempelajari lebih lanjut.
- Di command prompt, jalankan skrip penyiapan:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
Opsi “-p p” menentukan untuk menginstal API BaaS Portal.
File konfigurasi harus dapat diakses atau dibaca oleh "apigee" .
Penginstal memulai server web Nginx dan menyelesaikan Portal BaaS API konfigurasi Anda.
Catat URL Portal BaaS API. Ini adalah URL yang Anda masukkan ke dalam browser untuk mengakses Antarmuka pengguna Portal BaaS API.
Mengonfigurasi node API BaaS untuk Stack atau load balancer Portal
Jika menyertakan load balancer di depan node Stack atau Portal, Anda harus mengonfigurasi ke node dengan URL load balancer yang benar. Misalnya, node Stack memerlukan informasi tersebut saat:
- Menyertakan URL dalam respons dalam permintaan BaaS API.
- Menambahkan tautan dalam {i>template<i} email saat mengatur ulang {i>password<i}, atau mengirim notifikasi.
- Mengalihkan pengguna ke halaman Portal tertentu.
Jika Anda menggunakan load balancer di depan node Stack, tetapkan properti berikut di /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
Ganti http://localhost:8080 dengan URL pemuatan dengan load balancer Jaringan Passthrough Eksternal Regional. Jika load balancer dikonfigurasi untuk menggunakan TLS, gunakan protokol HTTPS. Hanya Anda perlu menyertakan porta jika Anda menggunakan porta non-standar, artinya selain porta 80 untuk HTTP dan porta 443 untuk HTTPS.
Anda juga harus menetapkan properti berikut di /opt/apigee/customer/application/portal.properties jika Anda menggunakan load balancer di depan node Stack:
baas.portal.config.overrideUrl=http://localhost:8080
Ganti http://localhost:8080 dengan URL load balancer untuk Stack.
Jika Anda menggunakan load balancer di depan node Portal, tetapkan properti berikut di 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
Ganti http://localhost:9000 dengan URL dengan load balancer Jaringan Passthrough Eksternal Regional. Jika load balancer dikonfigurasi untuk menggunakan TLS, gunakan protokol HTTPS. Anda hanya perlu menyertakan porta jika Anda menggunakan porta non-standar, artinya sesuatu selain porta 80 untuk HTTP dan porta 443 untuk HTTPS.
Setelah mengedit usergrid.properties dan portal.properties:
- Konfigurasi node Stack:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid konfigurasi - Deploy perubahan ke Tomcat:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy - Mulai ulang Stack BaaS:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid mulai ulang - Jika Anda mengubah portal.properties, konfigurasi
node Portal:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal mengonfigurasi - Deploy perubahan:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy - Mulai ulang Portal BaaS:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal mulai ulang
Melakukan orientasi untuk organisasi baru
Orientasi adalah proses pembuatan organisasi dan administrator organisasi. Sesudah membuat organisasi dan administrator organisasi, Anda dapat login ke API BaaS Portal dan membuat permintaan ke API BaaS REST API.
Saat Anda membuat organisasi, alamat email administrator organisasi:
- Harus berbeda dengan alamat email administrator sistem.
- Harus unik di antara semua organisasi lain. Artinya, Anda tidak dapat membuat dua organisasi dengan alamat email yang sama untuk administrator organisasi. Namun, setelah membuat organisasi Anda, Anda dapat menambahkan administrator tambahan yang dapat diduplikasi di beberapa tidak di organisasi lain.
Untuk melakukan orientasi, gunakan skrip Python create_org_and_user.py. Pemanggilan skrip ini tanpa argumen command line akan menyebabkannya meminta semua informasi:
> python create_org_and_user.py
Atau, Anda dapat meneruskan salah satu atau semua opsi sebagai argumen command line. Anda diminta untuk informasi apa pun yang Anda abaikan dari command line:
> 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>'
Untuk membuat organisasi:
- Ubah direktori menjadi /opt/apigee/baas-usergrid/bin.
- Panggil skrip Python create_org_and_user.py.
Anda diminta untuk memasukkan nama pengguna dan {i>password<i} administrator sistem BaaS sehingga hanya administrator admin dapat menjalankannya. - Login ke Portal BaaS API di browser web menggunakan URL yang Anda catat di akhir
Penginstalan URL Portal BaaS API. Untuk mengakses portal, masukkan URL Portal BaaS API di
formulir:
http://{portalExternalIP}:9000/
Catatan: IP adalah alamat IP eksternal/nama host mesin Portal. Pastikan porta itu terbuka. - Saat layar login portal muncul, Anda dapat:
- Login menggunakan nama pengguna dan sandi administrator organisasi.
- Login menggunakan nama pengguna dan sandi administrator sistem.
Mengakses API BaaS REST API
Untuk mengakses API BaaS REST API, gunakan URL dalam bentuk:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
Di lingkungan pengembangan, Anda bisa menginstal semua komponen API BaaS pada satu {i>node<i}, artinya Anda memiliki satu API BaaS Stack. Atau, Anda mungkin memiliki lingkungan kecil dengan satu Node Stack API BaaS dan tanpa load balancer. Pada jenis lingkungan ini, Anda dapat melakukan panggilan API langsung ke node API BaaS Stack:
curl -v "http://portalExternalIP:8080/status"
Untuk informasi selengkapnya tentang cara memulai API BaaS Portal, lihat dokumentasi Apigee di: http://apigee.com/docs/content/build-apps-home.