アプリケーション・ゲートウェイ・クライアントの作成および構成

アプリケーション・ゲートウェイ・クライアントを作成し、サーバーを起動します。

そのためには、アプリケーション・ゲートウェイ・クライアントを設定し、dockerをインストールして、dockerイメージを実行する必要があります。

開始する前に、次の要件を確認してください。

  • アプリケーション・ゲートウェイが実行されるマシンへの管理アクセス権が必要です。
  • この例では、アプリケーション・ゲートウェイ・クライアントがポート7777および4443を使用するため、これらのポートで現在実行されているすべてのプロセスを停止します。たとえば、Oracle HTTP Serverでは通常、これらのポートがデフォルトで使用されます。続行する前に、必ずそのサーバーまたはポートを使用する可能性のある他のサーバーを停止してください。

    ノート:

    ここで使用されているポート番号は、単なる例です。任意の有効なポート番号を使用します。ただし、選択したポートによってマシン上の他のリスナーと競合するポートが作成されないようにし、構成全体で選択した値を使用してください。
  • 前述のステップで以前に取得したクライアントIDおよびクライアント・シークレットがあることを確認してください。
  • Dockerがこのマシンに正しくインストールされ、実行されていることを確認します。行っていない場合は、今すぐ実行してください。インストールにはrootアクセスが必要です。

中間層でのアプリケーション・ゲートウェイ・クライアントの設定

Identity Cloud Serviceのアプリケーション・ゲートウェイDockerイメージ使用してアプリケーション・ゲートウェイ・クライアントを作成し、アプリケーション・ゲートウェイ・ウォレット・ツールを使用してウォレットを作成します。

アプリケーション・ゲートウェイ・クライアントを設定するには:
  1. 「IAMアプリケーションの作成」で作成したドメインの「アイデンティティ・ドメインの概要」画面に移動します。
  2. 左側のメニューから「設定」をクリックします。
  3. 「ダウンロード」をクリックします。
  4. これらのソフトウェア・パッケージの最新バージョンを、アプリケーション・ゲートウェイ・クライアントが構成されるマシン(中間層マシン)にダウンロードします。
    • Identity Cloud Serviceのアプリケーション・ゲートウェイDockerイメージ
    • アプリケーション・ゲートウェイ・ウォレット・ツール
  5. Dockerイメージ用、ウォレット・ツール用、および次のステップで作成されるキー・ファイルと証明書ファイルの格納用のディレクトリを作成します。

    たとえば、次のコマンドを入力します。

    mkdir /u01/oracle/appgateway/docker 
    mkdir /u01/oracle/appgateway/wallettool 
    mkdir /u01/oracle/appgateway/keys
  6. 以前にダウンロードしたDockerイメージの内容を'docker'ディレクトリに抽出し、ウォレット・ツールの内容を'wallettool'ディレクトリに抽出します。
    dockerの抽出には、.gzファイルが含まれます。これは抽出しないでください。gz形式のままにします。
  7. 現在のディレクトリを変更して、前に作成した'keys'ディレクトリを入力します。
    cd /u01/oracle/appgateway/keys
  8. このコマンドを使用して、自己生成証明書を作成します。ニーズに合せて例を変更します。
    openssl req -new -newkey rsa:2048 -days 730 -nodes -x509 -subj 
    /C=US/ST=CA/L=RedwoodShores/O=OracleUSAInc/OU=Forms/CN=yourserver.com/emailAddress=youradministrator@example.com 
    -keyout ssl.key -out ssl.cert

    ノート:

    自己生成証明書は、本番での使用はお薦めしません。さらに、Formsスタンドアロン・ランチャを使用してOracle Formsアプリケーションを実行しようとすると、このような構成が正しく機能しない可能性があります。既知の信頼できる認証局によって提供される証明書を使用することは、常に推奨されます。
  9. ディレクトリをウォレット・ツールの場所に変更します。
    cd /u01/oracle/appgateway/wallettool
  10. シェルで次の各行を一度に1行ずつ実行します。
    export CLIENT_ID=<ENTER YOUR CLIENT ID FROM THE EARLIER STEP ABOVE>
    export CLIENT_SECRET=<ENTER YOUR CLIENT SECRET FROM THE EARLIER STEP ABOVE>
    echo $CLIENT_SECRET | env LD_LIBRARY_PATH=./lib ./cgwallettool --create -i $CLIENT_ID
  11. 作成したウォレットを'keys'ディレクトリに移動します。
    mv cwallet.sso ../keys/cwallet.sso
  12. ディレクトリを'appgateway'ディレクトリに変更します。

    次に例を示します。

    cd /u01/oracle/appgateway
  13. 'appgateway'ディレクトリで、テキスト・ファイルを作成し、appgateway-envという名前を付けます(拡張子は含めません)。次の内容をファイルに追加して保存します。< >エントリを、システムに適したエントリに置き換えます。
    CG_APP_TENANT=<tenant name>
    IDCS_INSTANCE_URL=<idcs instance url>
    NGINX_DNS_RESOLVER=<resolver ip>

    CG_APP_TENANT: アイデンティティ・ドメイン・インスタンスのテナント名識別子。これはクラウド・アカウント/テナンシ名ではありません。IAMテナント名は、次で使用するIDCSインスタンスURLの最初の部分(最初のドットまで。ただしプロトコルは含みません)です。「ドメインの概要」ページの「ドメインURL」は、「ドメイン情報」パネルにあります(下の図6を参照)。URLの最初の部分をコピーします。例: idcs-1234567890abcdefghijk

    IDCS_INSTANCE_URL: IAMインスタンスへのアクセスに必要なURL。URL全体を入力します。これは、「ドメイン情報」タブの「アイデンティティ・ドメインの概要」画面にあります。

    NGINX_DNS_RESOLVER: ファイル/etc/resolv.confにあるネームサーバーを入力します。デフォルト値は127.0.0.1です。

Oracle App Gateway Dockerコンテナの実行

Dockerおよびアプリケーション・ゲートウェイDockerイメージをインストールして実行します。

必要なアプリケーション・ゲートウェイ・クライアントはDockerイメージまたは完全な仮想マシン(VM)としてのみ使用可能であるため、Dockerの使用または仮想マシンの実行に精通しておくと役立ちます。このドキュメントでは、Dockerイメージの使用についてのみ説明します。完全なVMの使用にも同様の構成アプローチを使用できます。完全なVMの構成および使用の詳細は、IAMのドキュメントを参照してください。

Dockerのインストールおよび起動

Dockerをインストールして起動します。

新しいLinuxバージョンでは、dockerのかわりにpodmanを使用できます。ただし、両方のコマンド引数は同じである必要があります。必要に応じて、これらのユーティリティの使用に関する詳細なガイダンスについては、DockerまたはPodmanの公式ドキュメントを参照してください。

Dockerをインストールするには:

  1. Dockerがまだマシンにインストールされていない場合は、rootユーザーとして次のコマンドを使用してDockerをインストールします。
    yum install docker-engine

    ノート:

    Linux 8以降の場合は、yumのかわりにdnfを使用します。
  2. rootユーザーとして、現在のユーザーをDockerグループに追加します。"docker"グループがすでに存在する場合は、最初のコマンドをスキップします。
    groupadd docker
    usermod -aG docker oracle

    ノート:

    前述の"oracle"を、AppGateway Docker環境を所有するユーザーに置き換えます。
  3. rootユーザーとして、次のコマンドでDockerを起動し、ユーザーに戻ります。
    systemctl start docker
  4. ファイル/var/run/docker.sockに766の権限があることを確認します。ない場合は、rootユーザーとしてchmodコマンドを使用してファイルの権限を変更します。

    ノート:

    この権限が正しく設定されていない場合、ユーザー(例: oracle)はDockerイメージに接続したり、起動することはできません。
  5. rootユーザーを終了し、Dockerが実行中で、現在のユーザー(例: oracle)からアクセスできることを確認します。

    次のコマンドは、ローカル・リポジトリの内容を返します。新規インストールの場合には空になります。それ以外の場合は、以前に作成したイメージがリストされます。エラーは表示されません。

    Dockerがエラーなしで起動せず、インストールしたばかりの場合は、マシンの再起動が必要になる場合があります。権限エラーが表示された場合は、前のステップを参照してください。

    docker images

アプリケーション・ゲートウェイDockerイメージのインポート

アプリケーション・ゲートウェイDockerイメージをインポートおよびロードします

アプリケーション・ゲートウェイDockerイメージをインポートおよびロードするには:
  1. シェルを開き、「中間層でのアプリケーション・ゲートウェイ・クライアントの設定」でアプリケーション・ゲートウェイDockerファイル(.tar.gz)を抽出したディレクトリに移動します。
  2. イメージをロードするには、次を実行します。
    docker load --input appgateway-<VERSION NUMER>.tar.gz

Dockerイメージの実行

Dockerイメージを初めて実行します。

Dockerイメージを初めて実行するには:
  1. このコマンドを実行して、使用可能なイメージをリストします。イメージを起動するには、次の情報の一部が必要です。
    docker images

    これによって、次のように出力されます。

    REPOSITORY            TAG                  IMAGE ID      CREATED       SIZE
    idcs/idcs-appgateway  23.2.101-2304020420  ba1249c25dc3  9 months ago  498MB
  2. 次のコマンドを実行します。

    このコマンドは、視覚的には折り返される単一行です。必ず1つのエントリとして入力し、システムおよび目的の設定に合せて値を調整してください。idcs-appgatewayバージョンを、ダウンロードしたバージョンに置き換えます。バージョン番号は、ダウンロードされたファイル名の一部です。

    docker run -it -p 4443:4443 -p 7777:7777 --name appgateway --env-file 
    /u01/oracle/appgateway/appgateway-env --env HOST_MACHINE=`hostname -f` --volume 
    /u01/oracle/appgateway/keys/cwallet.sso:/usr/local/nginx/conf/cwallet.sso --volume 
    /u01/oracle/appgateway/keys:/home/oracle/keys --net=host idcs/idcs-appgateway:23.2.101-2304020420

    ノート:

    詳細は、IAM設定のドキュメントを参照してください。
  3. 前述の例の設定では、コンテナ内のアプリケーション・ゲートウェイ・クライアント・リスナーにhostname:4443またはhostname:7777を使用してアクセスできます。例: https://<hostname>:4443
  4. IAMおよびアプリケーション・ゲートウェイが応答していることを確認するには、ブラウザから次を実行します。
    https://<app gateway host>:<port>/cloudgate/v1/about

    これにより、「実行中」ステータスを示すJSONページが返されます。他の結果が表示された場合は、アプリケーション・ゲートウェイが正しく構成されていないか、クライアント・ブラウザからアクセスできない可能性があります。

    前述にアクセスできない場合は、前述のHOST_MACHINEの値が、ユーザーがアクセス可能なホスト名であることを確認します。ドメイン名が登録されていない場合は、マシンの公開用IPアドレスを使用することもできます。

    前述のコマンドは、コンテナ・イメージを初めて起動するときにのみ使用できます。以前に停止した後の再起動の詳細は、「Dockerコンテナの停止」を参照してください。

Dockerコンテナの停止

実行中のDockerコンテナを停止するには:
  1. 次のコマンドを実行して、コンテナIDを確認します。
    docker ps

    出力は次のようになりますが、下に表示されるのは2つの列のみです。

    CONTAINER ID    IMAGE
    ebe97115c307              idcs/idcs-appgateway:22.2.61-2203221920
  2. 前述のコンテナIDを使用して、stopコマンドを実行します。
    docker stop <container ID>

    かわりに、コンテナ名を使用することもできます。

    docker stop <container name>

コンテナを停止した後、次のDockerコマンドを使用して、以前に使用したものと同じ設定を使用して再起動できます。

docker start <contain name>