Amazon Web Services でAPI Server AMI を起動する



API Server は、300 種類以上のリレーショナル、ノンリレーショナル、クラウド、オンプレミスデータソースに対応した OData フィードを生成する軽量な Web アプリケーションです。CData API Server Amazon Machine Instance(AMI)は、Linux ベースのインスタンスとして提供され、API Server が事前に設定済みですぐに実行できる状態になっています。追加の設定は必要ありません。

AMI は AWS Marketplace で CData API Server として公開されています。Amazon AMI から新しい API Server インスタンスを 3 ステップで起動できます。

  1. AMI をサブスクライブし、利用規約に同意します。サブスクライブが完了したら、新しい API Server インスタンスを起動できます。

  2. インスタンスタイプ、インスタンスの詳細、ボリューム、タグ、セキュリティグループを設定します。API Server はデフォルトの HTTPS ポート(443)で動作するため、API Server に接続する IP アドレスからこのポートにアクセスできることを確認してください。プロセスの最後のステップで、新しいキーペアを作成するか、既存のキーペアを選択するよう求められます。

  3. インスタンスが起動すると、EC2 の実行中インスタンス一覧に表示されます。以下の URL でブラウザから API Server にアクセスできます:

    https://<instance_public_dns>

    ログインするには、デフォルトのユーザー名は「admin」、パスワードはランダムに生成されたインスタンスの Instance-ID です。Instance-ID は EC2 管理コンソールで確認できます。

これでデータソースに接続し、SSL と標準の認証方法で接続を保護できます。必要な接続プロパティの設定とアクセス制御の設定については、ヘルプの「Getting Started」セクションを参照してください。

高度な設定

API Server AMI は追加設定なしですぐに使用できます。ただし、上級ユーザー向けに、API Server をより詳細に管理することも可能です。

SSH 経由でインスタンスにアクセスする

EC2 インスタンスに SSH 経由で接続すると、サービスの高度な設定を行うことができます。API Server AMI は標準の Ubuntu 20.04LTS VM をベースにしており、メインユーザーは ubuntu です。インスタンス起動時に選択したキーペアを使用して SSH 接続できます:

ssh -i my_key_pair.pem ubuntu@<instance_public_dns>

API Server サービスの停止、開始、再起動

API Server は Jetty を使用して動作しています。インスタンスに接続したら、systemctl を使用して Jetty サービスを管理します:

sudo systemctl restart cdata-apiserver
sudo systemctl stop cdata-apiserver
sudo systemctl start cdata-apiserver

追加のデータソースに接続する

API Server にはいくつかのデータソースが含まれていますが、さらに多くのデータソースがサポートされています。API Server インスタンスでデータソースを有効にするには、対応する CData JDBC ドライバーをダウンロードしてインストールしてください。

JDBC ドライバーをホストするには、ライセンス(製品版またはトライアル版)と Runtime Key(RTK)が必要です。ライセンスの取得については、営業チームまでお問い合わせください

キーペアを使用して、SSH 経由で JDBC ドライバーの JAR ファイルをインスタンスにコピーします。JDBC ドライバーは /opt/apiserver/lib/ext/ ディレクトリにインストールする必要があります。たとえば、scp コマンドを使用できます:

scp -i my_key_pair.pem cdata.jdbc.salesforce.jar ubuntu@<instance_public_dns>:/opt/apiserver/lib/ext/

JAR ファイルをコピーしたら、Jetty サービスを再起動します:

sudo systemctl restart cdata-apiserver

信頼された証明書をインストールする

デフォルトでは、API Server AMI は作成時に新しい自己署名証明書を生成し、2 つの AMI が同じ証明書を共有することを防いでいます。ただし、すべてのクライアントアプリケーションが自己署名証明書を受け入れるわけではありません。この問題を回避するために、デフォルトの証明書を信頼された証明書に置き換えることができます。

まず、証明書プロバイダーから信頼された証明書を取得します。この証明書は AWS が提供するパブリック URL と一致する必要があります。

AMI では、Jetty Web コンテナが SSL 設定を処理します。証明書を新しいキーストアファイルとして EC2 インスタンスにインポートしてください。/opt/apiserver/etc/ssl.xml ファイルで、現在の証明書キーストアへのパスを参照している行を、新しいパスとパスワードに変更します:

<Set name='KeyStorePath'><Property name='jetty.base' default='.'/>/etc/my_trusted_keystore</Set>
<Set name='KeyStorePassword'>my_keystore_password</Set>

キーストアのパスは Jetty Base ディレクトリ(/opt/apiserver)からの相対パスであることに注意してください。このファイルの変更を保存したら、Jetty サービスを再起動して変更を反映させてください。

API Server AMI をアップグレードする

以下の手順で API Server AMI をアップグレードできます。

  1. 最新版の API Server をダウンロードし、WAR ファイル(apiserver.war)を展開します:https://jp.cdata.com//apiserver/download/
  2. WAR ファイルを AMI インスタンスにコピーします:
    scp -i your_ssh_key.pem apiserver.war ubuntu@:~/
  3. SSH 経由で EC2 インスタンスにログインします(上記の手順を参照)。
  4. サービスを停止します(上記の手順を参照)。
  5. 古い apiserver.war ファイルを上書きします:
    sudo cp ~/apiserver.war /opt/apiserver/webapps/apiserver.war
  6. サービスを再起動します(上記の手順を参照)。