CData Arc AMI リファレンス

CData Arc は、Amazon マーケットプレイスで利用可能な、プリインストールされたCData Arc AMI を介して、便利なクラウド展開をサポートします。このページでは、CData Arc のAMI 固有の管理タスクについて説明します。

コンテンツのテーブル

CData Arc の開始と停止

CData Arc は、インプロセスではなく、AMI 展開のsystemd サービスとして実行されます。サービス定義ファイルは次の場所にあります。

/etc/systemd/system/arcesb.service

CData Arc は、標準のsystemd コマンドを使用して開始、停止、および再起動する必要があります。

sudo systemctl start arcesb
sudo systemctl stop arcesb
sudo systemctl restart arcesb

アプリケーションディレクトリ

CData Arc のすべての設定およびアプリケーションデータは、アプリケーションディレクトリに保持されます。デフォルトでアプリケーションディレクトリは次の場所にあります。

/opt/arcesb

アプリケーションディレクトリのパスは、 「アプリケーションディレクトリの設定」 セクションの説明に従って、webapp フォルダ内のarcesb.xml ファイルを使用して設定できます。

データフォルダ

アプリケーションディレクトリのデータフォルダには、次に示すデフォルトのワークスペースのすべての設定データとアプリケーションデータが保持されます。

  • INI フォーマットのアプリケーション全体の設定を含む「profile.cfg」ファイル
  • デフォルトのワークスペースで設定された各コネクタのフォルダ:INI フォーマットのコネクタ設定を含む「port.cfg」ファイル、コネクタによって送受信されたファイル、およびコネクタによって処理された各トランザクションのログ

ワークスペースフォルダ

ワークスペースフォルダはデータフォルダに似ていますが、デフォルト以外のすべてのワークスペースのコネクタフォルダが含まれ、「profile.cfg」ファイルは含まれません。

DB フォルダ

db フォルダには、デフォルトのDerby データベースのデータベースファイルが含まれています。次のセクションで説明するように、アプリケーションデータベースは外部データベースを使用するように設定できることに注意してください。

Lib フォルダ

lib フォルダは、外部ドライバーを必要とするコネクタのドライバーなど、アプリケーションが外部リソースを読み取る場所です。このフォルダに.jar または.class リソースを配置し、CData Arc を再起動して、アプリケーションがこれらのリソースを読み取れるようにします。

Webapp フォルダ

webapp フォルダには、アプリケーションをホストするJetty サーバーの構成を決定するarcesb.xml ファイルが含まれています。このファイルを使用して、サーバーが待機するポートの変更、プレーンテキストのリスナー(HTTPS ではなくHTTP)の有効化、およびその他のJetty サーバー設定の構成を行うことができます。

また、arcesb.xml ファイルは、アプリケーションディレクトリの場所とアプリケーションデータベースのデータベース接続を決定します。

アプリケーションディレクトリの設定

アプリケーションディレクトリは、前のセクションで説明したように、webapp フォルダ内のarcesb.xml ファイルを使用して設定されます。

アプリケーションディレクトリをデフォルト以外の場所に設定するには、はじめにarcesb.xml ファイル内で次のスニペットを見つけます。

<!--
  The APP_DIRECTORY setting is used to explicitly configure a path where profile information is stored.
<Call name="setInitParameter">
  <Arg>APP_DIRECTORY</Arg>
  <Arg><SystemProperty name="arcesb.ami.data" default="/var/lib/arcesb"/></Arg>
</Call -->

このスニペット内の<Call> タグのコメントを解除し、APP_DIRECTORY 引数に目的のフォルダの場所を指定します。次に例を示します。

<Call name="setInitParameter">
  <Arg>APP_DIRECTORY</Arg>
  <Arg>/example/path</Arg>
</Call>

アプリケーションデータベース

デフォルトでCData Arc は、トランザクションメタデータと一般的なアプリケーションログにDerby データベースを使用します。このDerby データベースは、前のセクションで説明したように、アプリケーションディレクトリのdb フォルダにあります。

CData Arc は、MySQL などの外部データベースを使用するように設定できます。アプリケーションディレクトリの設定と同様に、アプリケーションデータベースはwebapp フォルダ内のarcesb.xml ファイルで設定されます。

アプリケーションデータベースを設定するには、はじめにarcesb.xml ファイル内で次のスニペットを見つけます。

<!--
デフォルトでCData Arc は、ローカルのDerby データベースを使用して、トランザクション、アプリケーション、アクセスログに関する情報を保存します。
APP_DB 設定は、この情報を格納するために使用されるアプリケーションの外部にあるデータベースを構成するために使用できます。
<Call name="setInitParameter">
  <Arg>APP_DB</Arg>
  <Arg>jdbc:mysql:Server=MySQLServer;Port=3306;Database=mysql;User=user;Password=password</Arg>
</Call> -->

このスニペット内の<Call> タグのコメントを解除し、ターゲットデータベースの接続文字列をAPP_DB 引数に入力します。

ユーザーとパスワード

CData Arc が実行されるサービスアカウントは「arcesb」と呼ばれ、同様に「arcesb」という名前のグループに属しています。

サーバーがインプロセスで起動された場合、アプリケーションのそのインスタンスによって作成されたファイルはすべて、プロセスを実行したユーザーとして書き込まれます (AMI centos イメージはデフォルトのユーザーとして「centos」を使用します)。「データベースにアクセスできません」、「ポートが見つかりません」、「ライセンスが見つかりません」などのエラーは、データディレクトリ内のファイルが不正な権限で書き込まれたことを意味する場合があります。この問題を解決するには、CData Arc をサービスとして実行し、「arcesb」ユーザーが以下のコマンドを実行して関連するファイルの所有権を取り戻すことができるようにします。

sudo chown -R arcesb:arcesb /opt/arcesb

CData Arc のユーザーとパスワード

CData Arc のWeb UI にログインする場合、デフォルトのユーザーは「admin」であり、デフォルトのパスワードは、アプリケーションをホストしているEC2 インスタンスのインスタンスID と同じです。

これらの値は、アプリケーションディレクトリのarcesbRealm.properties ファイルで表示および編集できます。このファイルで、ユーザー名はコロンの左側の値であり、パスワードはコロンの右側の最初の値です。

ポートとSSL

デフォルトでCData Arc は、ポート8443 でSSL 接続(HTTPS)をリッスンします。アクセス権限の制限により、CData Arc はデフォルトのHTTPS ポート(443)にバインドできないため、iptables ルールはポート443 からポート8443 にトラフィックをリダイレクトします。標準のHTTPS トラフィックがCData Arc のWeb サーバーに到達するために、さらなるアクションは必要ありません。

CData Arc AMI には、SSL サーバーをホストするときに使用する自己署名証明書が含まれています。認証局によって署名された証明書を使用してSSL サーバーをホストする必要がある場合は、CA に直接連絡して証明書を入手する必要があります。

HTTP 接続の有効化

プレーンテキスト/非SSL ポート(つまり、HTTPS ではなくHTTP)を追加するには、(アプリケーションディレクトリのwebapp フォルダにある)arcesb.xml ファイルを編集してプレーンテキストリスナーを有効にする必要があります。アクセス許可の制限により、このリスナーはポート80 に直接バインドできないため、ポート8080 で確立してから、ポート80 からポート8080 にトラフィックを転送するためのiptables ルールを確立する必要があります。

まず、arcesb.xml ファイル内でHTTPS リスナーを有効にするスニペットを見つけます。

<!-- Set the connectors on the server object -->
<Call name="setConnectors">
  <Arg>
    <Array type="org.eclipse.jetty.server.ServerConnector">
      <!-- Remove this comment to allow plaintext connections.
      <Item>
        <Ref refid="httpConnector" />
      </Item>
      -->
      <Item>
        <Ref refid="httpsConnector" />
      </Item>
    </Array>
  </Arg>
</Call>
<!-- / Set the connectors on the server object -->

このスニペット内で、「httpConnector」設定を参照する<Item> 要素のコメントを解除します。

次に、ポート80 からポート8080 にトラフィックを転送する新しいiptables ルールを作成します。

iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
/usr/libexec/iptables/iptables.init save

最後にCData Arc サービスを再起動し、上記の変更を有効にします。

FTP / SFTP / OFTP ポートの公開

CData Arc を使用してFTP、SFTP、またはOFTP サーバーをホストする場合、プロトコルトラフィックに使用されるポートをAWS ファイアウォールで開く必要があります。 各プロトコルの標準ポートは以下のとおりです。

  • FTP:21(プレーンテキスト)、990(SSL)
  • SFTP:22
  • OFTP:3305(プレーンテキスト)、6619(SSL)

注意:SFTP サーバーをホストする場合、通常は標準22 以外のポートを使用します(例:1022)。これは、EC2 インスタンス自体がポート22 でSSH 接続をリッスンするため、ポートを使用できないからです。

AMI でこれらのポートの1 つ以上を開くには、AWS 管理コンソールでネットワークとセキュリティ > セキュリティグループ と移動し、AMI が属するセキュリティグループを選択してインバウンドルールの変更 をクリックし、入力TCP トラフィックの新しいルールを目的のポートで追加します。このポートを利用する取引先のIP アドレスがわかっている場合は、ルールの「ソース」欄にIP アドレスのリストを指定します。

アップグレード

CData Arc をアップグレードするには、最新のCData Arc AMI の新しいインスタンスを起動する必要があります。新しいインスタンスを起動する前に、アプリケーション設定が新しいインスタンスで保持されるように、古いインスタンスからデータをコピーする必要があります。

古いインスタンスから新しいインスタンスにデータをコピーするには、2 つの方法があります。

  • 構成設定のエクスポートとインポート
  • ログ、トランザクションメタデータ、Jetty サーバー設定など、アプリケーションに関連するすべてのデータをコピーします。

構成設定のエクスポートとインポート

CData Arc には、アプリケーションで設定済みのコネクタ / フローを簡単にエクスポートおよびインポートするためのツールが含まれています。フローページの右上にある歯車には、「ワークスペースをエクスポート 」オプションが含まれており、設定をコピーするプロセスが簡略化されています。

「ワークスペースのエクスポート」モーダル内で、「すべてのワークスペースをエクスポート」「プロファイル情報を含める」および「プライベート情報のエクスポート」がすべてチェックされていることを確認して、完全なアプリケーション構成がエクスポートに含まれるようにします。結果をエクスポートすると、新しいインスタンスにインポートできる.arcflow ファイルになります。.arcflow ファイルがダウンロードされると、古いインスタンスを安全に破棄できます。

新しいインスタンスで、フローページの右上にある同じ歯車を使用して構成設定をインポートします。「ワークスペースのインポート」を選択し、前にダウンロードした.arcflow ファイルに移動します。

すべてのアプリケーションデータのコピー

アプリケーション構成データとともに、ログ、トランザクションメタデータ、およびサーバー構成を保持するには、ファイルシステム上のいくつかのフォルダとファイルを新しいインスタンスにコピーする必要があります。

これを行うには、以下の手順を実行します。

  • AMI にSSH で接続します。
  • アプリケーションディレクトリに移動して、以下のフォルダおよびファイルのリストを検索します。
    • データ — フォルダには、デフォルトのワークスペースのコネクタ設定とログ、およびプロファイル設定が含まれています。
    • ワークスペース — フォルダには、デフォルト以外のワークスペースのコネクタ設定とログが含まれています。
    • db — このフォルダには、アプリケーションデータベース(トランザクションメタデータおよび一般的なアプリケーション・ログ)が含まれています。
    • webapp 内のarcesb.xml ファイル — フォルダには、CData Arc をホストするサーバーのJetty 構成設定が含まれています。

    これらのファイルとフォルダの中には、インストールに関係しないものもあります。たとえば、Jetty ホストサーバーのデフォルトのarcesb.xml ファイルに変更が加えられていない場合、このファイルを新しいインスタンスにコピーする必要はありません。
  • 次に、SCP(またはSFTP)を使用して、関連するファイルとフォルダをローカルマシンにコピーします。
    cd /opt/arcesb
    scp -r data.
    アプリケーションファイルがローカルマシンにコピーされると、古いインスタンスを安全に廃止できます。
  • 新しいインスタンスを起動し、SSH 経由で接続します。
  • SCP またはSFTP を使用して、アプリケーションフォルダとファイルのローカルコピーを新しいインスタンスに移動します。 — 古いインスタンスで使用していたパスと同じパスを新しいインスタンスでも使用します。

外部コネクタのインストール

一部のCData Arc コネクタはAMI にバンドルされていないため、外部にインストールする必要があります。

  • https://arc.cdata.com/jp/apps から外部コネクタをダウンロードします。
  • EC2 インスタンスにSSH で接続します。
  • 以下のコマンドを使用してCData Arc インスタンスを停止します。
    sudo systemctl stop arcesb
  • ダウンロードしたコネクタの.zip ファイルをSCP またはSFTP 経由でAWS インスタンスに移動します。
  • コネクタ.zip コンテンツを/opt/arcesb/connectors/ に展開します。
  • Oracle コネクタの場合には特に、oracle.jdbc.OracleDriver がアプリケーションに表示されている必要があります。Oracle のWeb サイトからJDBC ドライバをダウンロードし、.jar を/opt/arcesb/lib/ にアップロードします。
  • デプロイされたリソースの所有者を以下のように「arcesb」ユーザーに設定します。
    sudo chown -R arcesb:arcesb: /opt/arcesb
  • CData Arc サービスを再起動します。
    sudo systemctl start arcesb



Ready to get started?

Use CData Arc's free 30-day trial to start building your own custom workflows today:

Download Now