2 ODI設定の管理
この章は、Oracle Cloud MarketplaceにプロビジョニングしたODI設定を管理する場合に役立ちます。
内容は次のとおりです。
2.1 ODI Linuxサービスの操作
次の表は、適用可能なテクノロジおよびスタック・デプロイメントについて、ODI Marketplaceインストールで使用可能なすべてのサービスを示しています:
Linuxサービスの名前 | データベース・テクノロジ | スタック・デプロイメントのタイプ | サポートされるリリース・バージョン | 機能 |
---|---|---|---|---|
agentodi.service |
MYSQL、ADB |
ODI Studio | ODI Marketplaceの12.2.1.4.200618バージョンより前のリリースでサポートされます。 | サービスを起動および停止し、そのステータスを確認できます。 |
mysqlodi.service |
MYSQL |
ODI Studio | ODI Marketplaceの12.2.1.4.200618バージョンより前のリリースでサポートされます。 | サービスを起動および停止し、そのステータスを確認できます。 |
manageodiapps.service |
MYSQL、ADB |
ODI Studio | ODI MarketplaceのODI Web V12.2.1.4.200618以上のバージョンでのみサポートされます。 | サービスのステータスを確認することのみできます。ODIエージェントを起動、停止および再起動するには、次に示すpythonコマンドを使用します。 |
2.2 Oracle Data Transforms Administratorでのリポジトリの変更
- ODI Studioを起動します。
- オプション「リポジトリへの接続」を選択します。
- 「+」アイコンを使用して新規ログインを作成し、接続の詳細を指定します。
- 「テスト」をクリックし、テスト接続に成功したら「OK」をクリックします。
- 「Oracle Data Integratorログイン」ダイアログで「OK」をクリックします。
2.3 ODIアプリケーション・サーバーのリポジトリの切替え
ノート:
リポジトリ間を切り替えることができるのは、スタック・モードとリポジトリ・モードのリポジトリが一致する場合のみです。ODIアプリケーション・サーバーでは、次のテクノロジのリポジトリを切り替えることができます:
- ADBからADBへの切替え
- MYSQLからADBまたはDBCSへの切替え
ノート:
ただし、逆方向(ADBまたはDBCSからMYSQLへの復帰)はサポートされていません。 - DBCSからDBCSへの切替え
- DBCSまたはADBからの切替え
ノート:
python manageOdiApps.py shutdown
詳細は、「ODIアプリケーション・サーバーの管理」を参照してください。
ADBリポジトリ間の切替え
変換プロジェクトを開発したADBリポジトリがすでに存在し、同じリポジトリで開発を続行する場合、次の手順に従って新しい(作成直後の) ADBリポジトリから既存のADBリポジトリに切り替えます:
$MW_HOME/odi/common/scripts
の場所にodi-setup.properties
ファイルを作成し、すでにファイルが存在する場合は、そのファイルの既存のコンテンツをクリアして次のプロパティを追加します:dbTech=ADB rcuCreationMode=false odiSchemaPassword=<valid password> odiSchemaUser=<odi schema username> odiSupervisorPassword=<odi SUPERVISOR password> walletZipLoc=<path_to_zipped_wallet> workRepoName=<WORK REPO NAME> adwInstancePassword= <adw Instance password>
ノート:
workRepoName=<WORK REPO NAME>
は、オプションのプロパティですが、デフォルトの作業リポジトリ名がWORKREP
でない場合は、このプロパティを構成する必要があります。adwInstancePassword= <adw Instance password>
はオプションのプロパティですが、OPTACHを使用してODIインスタンスにパッチを適用し、構成スクリプトodiMPConfiguration.py
を使用してアップグレード・アシスタント(UA)を実行する場合にのみ、このプロパティを構成します。
$MW_HOME/odi/common/scripts
の場所にrepository.properties
ファイルを作成し、すでにファイルが存在する場合は、そのファイルの既存のコンテンツをクリアして次のプロパティを追加します:masterReposDriver=oracle.jdbc.OracleDriver masterReposUser=<odi schema username> workReposName=<WORK REPO NAME>
$MW_HOME/odi/common/scripts
ディレクトリの場所に移動し、次のpythonスクリプトを指定された順序で実行します:python odiMPConfiguration.py python manageOdiApps.py start
ノート:
構成を実行する前にサーバーを停止してください。この詳細は、「ODIアプリケーション・サーバーの管理」を参照してください。DBCSリポジトリ間の切替え
変換プロジェクトを開発したDBCSリポジトリがすでに存在し、同じリポジトリで開発を続行する場合、次の手順に従って新しい(作成直後の)DBCSリポジトリから既存のDBCSリポジトリに切り替えます:
$MW_HOME/odi/common/scripts
の場所にodi-setup.properties
ファイルを作成し、すでにファイルが存在する場合は、そのファイルの既存のコンテンツをクリアして次のプロパティを追加します:dbTech=DBCS dbHost=<IP Address of the DBCS Instance> dbPort=<port of DBCS Instance> dbServiceName=<Service Name of DBCS Instance> odiSchemaUser=<odi schema username> odiSchemaPassword=<valid password> odiSupervisorPassword=<odi SUPERVISOR password> workRepoName=<WORK REPO NAME>
$MW_HOME/odi/common/scripts
の場所にrepository.properties
ファイルを作成し、すでにファイルが存在する場合は、そのファイルの既存のコンテンツをクリアして次のプロパティを追加します:masterReposDriver=oracle.jdbc.OracleDriver masterReposUser=<odi schema username> workReposName=<WORK REPO NAME>
$MW_HOME/odi/common/scripts
ディレクトリの場所に移動し、次のpythonスクリプトを指定された順序で実行します:python odiMPConfiguration.py python manageOdiApps.py start
2.4 ODIアプリケーション・サーバーの管理
次のコマンドは、Oracle Cloud MarketplaceでプロビジョニングされているODIインスタンスに関連付けられたODIアプリケーション・サーバーを管理するために役立ちます。
ODI Studioで使用できるアプリケーションは:
APPODIAGENT
ODIアプリケーション・サーバーを使用して、ODIアプリケーション・サーバーにデプロイされたすべてのODIアプリケーションを管理できます。
$MW_HOME/odi/common/scripts
の場所に移動し、次のコマンドを実行します:
- (oracleユーザーとして)サービスのステータスを確認するには、次のコマンドを使用します:
systemctl status manageodiapps.service
ノート:
このコマンドを使用してサービスを起動または停止することはできません。 - サービスを起動するには、次のコマンドを使用します:
python manageOdiApps.py start
- サービスを停止するには、次のコマンドを使用します:
python manageOdiApps.py shutdown
- サービスを再起動するには、次のコマンドを使用します:
python manageOdiApps.py restart
ノート:
前述のpython manageOdiApps.py
コマンドのいずれかを実行すると、端末にjettyサーバーを実行するためのセッションが保持されます。他の操作を実行する場合は、新しい端末を開きます。 - サービスに関連付けられたすべてのアプリケーションを起動するには、次のコマンドを使用します:
python manageOdiApps.py start -apps=<allowed values> allowed values: all or APPODIAGENT with combination separated by ","
- サービスに関連付けられたすべてのアプリケーションを停止するには、次のコマンドを使用します:
python manageOdiApps.py stop -apps=<allowed values> allowed values: all or APPODIAGENT with combination separated by ","
ノート:
コマンドpython manageOdiApps.py
を実行すると、odiagent.log
およびodi_adp_rest_txt.log
という2つのログ・ファイルが作成されます。ファイルの場所の詳細は、「ログ・ファイルの場所」を参照してください。 - サービスに関連付けられたすべてのアプリケーションのステータスを取得するには、次のコマンドを使用します:
python manageOdiApps.py status
- ODI Marketplaceの12.2.1.4.200618リリース・バージョンより前にこのスタックをプロビジョニングした場合、またはODI Studioでこのスタックをプロビジョニングした場合、次の手順に従ってODIエージェントのライフサイクルを管理します:
- ODIエージェントを停止するには:
python stopAgent.py
- ODIエージェントを起動するには:
python startAgent.py $MW_HOME
- ODIエージェントを停止するには:
2.5 ODI資格証明の管理
manageCredentials.py
スクリプトを使用して、ODIアプリケーション・サーバーを正常に起動するために必要なODI資格証明を更新または管理できます。
$MW_HOME/odi/common/scripts
の場所に移動し、次のコマンドを実行します:
S.No. | キー名 |
---|---|
1 | odiSchemaPassword |
2 | odiSupervisorPassword |
python manageCredentials.py set <Key Name>=<value>
Linuxシェルが内容を解析せず、文字列を正確な値として扱うように、パスワード文字列を一重引用符で囲みます。たとえば:
python manageCredentials.py set odiSchemaPassword='pas$word'
資格証明ストアに格納された資格証明キー値を取得するには、次のコマンドを使用します:
python manageCredentials.py read <key Name>
2.6 プロキシ設定の構成
ノート:
OCIネットワーク構成に応じて、プロキシ・ホストを介したアクセスが必要な場合と不要な場合があります。プロキシを介して接続する場合、プロキシ・アドレス/ポートまたはソース・データサーバーがOCI VCN構成を通じて許可されていることを確認してください。次でプロキシを設定できます:
- ODI StudioまたはODI Studio Administrator
- ODIエージェント
- ODIアプリケーション・サーバー
ODI StudioおよびOracle Data Transforms Administratorでプロキシを設定するには、「ツール」→「プリファレンス」→「Webブラウザとプロキシ」に移動し、ネットワークのプロキシを設定します。
ノート:
下位互換性を確保するため、スクリプトのstartAgent.py
およびstopAgent.py
を使用してODIエージェントのライフサイクルを管理します。
$MW_HOME/oracle/odi/common/scripts
の場所で、ファイルstartAgent.py
を見つけて編集し、プロパティ-Drepo.props=
の後に次の行を追加します-Xms1024m -Xmx4048 -cp
-Dhttp.proxyHost=www-proxy-xxx.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=www-proxy-xxx.com -Dhttps.proxyPort=80 -cp
たとえば、前述の行を追加した後は、ファイルは次のようになります:
subprocess.call('nohup java -Drepo.props=odi-setup.properties -Xms1024m -Xmx4048 -cp -Dhttp.proxyHost=www-proxy-xxx.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=www-proxy-xxx.com -Dhttps.proxyPort=80 -cp $AGENTCLASSPATH oracle.odi.OdiStandaloneAgentStarter'+' '+oraclediagentPath+" &", shell=True)
- ファイルを保存し、次のコマンドを使用してエージェントを起動します:
python startAgent.py $MW_HOME
ノート:
ファイルstartAgent.py
に余分な行、スペースまたはタブを追加しないようにしてください。行コンテンツ内には-D
オプションのみを追加します。これはPythonスクリプトであり、機能するためには適切な行インデントが必要です。 - ODI Studioからスタンドアロン・エージェントをテストして、エージェントが正常に起動しているかどうかを確認します。次に、スタンドアロン・エージェントを使用してパッケージおよびマッピングを実行します。
ノート:
BI Cloud Connectorデータサーバーを使用している場合、プロキシ除外フィールドにBI Cloud Connectorホストを追加する必要がある場合があります。ODIアプリケーション・サーバーでプロキシを設定するには、次の手順を実行します:
- スクリプト・ファイル
manageOdiApps.py
を開きます。 - ファイル内で次の行を見つけます:
JETTY_SERVER_COMMAND_STR = 'java -DAPP_LOGS='+APP_LOGS+' -Dconfig.template.file=../../apps/webapps.template.yaml -Dapps.config=../../apps/webapps.yaml -Drepo.props=odi-setup.properties -Drestrepo.props=repository.properties -Djetty.enabled=true -Dagent.logging.config=../logging/agent-logging-config.xml -cp $CLASSPATH oracle.odi.setup.util.ODIMPJettyServerAppsManager
- 前述の行の後で、
-cp
の前に次の行を追加します:-Dhttp.proxyHost=<proxyhost> -Dhttp.proxyPort=<proxy port> -Dhttps.proxyHost=<proxyhost> -Dhttps.proxyPort=<proxy port>
- ファイルを保存します。
- ODIアプリケーション・サーバーを再起動します。
2.7 電子メール配信サービスの構成
Oracle Cloud Marketplace Email Deliveryは、受信者の受信ボックスに到達する必要がある大量の電子メールを送信するための高速で信頼性の高い管理ソリューションを提供する電子メール送信サービスです。
- ユーザーのSMTP資格証明の生成
- 権限の設定
- 承認済送信者の作成
- 承認済送信者ドメインでのSPFの構成
- SMTP接続の構成
- 電子メールの送信の開始
ノート:
電子メール配信サービスを構成する前に、SMTP資格証明を生成し、電子メールの承認済送信者を作成する権限があることを確認してください。また、送信電子メールを送信するには、電子メールの承認済送信者がIAMポリシー権限を持つグループに属している必要があります。詳細は、OCIドキュメントのユーザーのSMTP資格証明の生成に関する項を参照してください。SMTP資格証明の生成
電子メール配信を介して電子メールを送信するには、Simple Mail Transfer Protocol (SMTP)資格証明が必要です。各ユーザーは、最大2つのSMTP資格証明に制限されます。3つ以上が必要な場合は、SMTP資格証明を他の既存のユーザーに生成するか、複数のユーザーを作成する必要があります。
- ユーザーのSMTP資格証明を生成するには、Oracle Cloud Infrastructureにログインし、「電子メール配信」→「資格証明の管理」に移動して、「SMTP資格証明の生成」オプションを選択します。SMTPユーザー名およびパスワードの詳細を生成できます。今後の参照用に生成されたパスワードをコピーします。「閉じる」をクリックします。
権限の設定
電子メールの承認済送信者は、電子メールを送信するためのIAMポリシー権限を持つグループに属している必要があります。承認済送信者は、承認済送信者を管理する権限を持つコンパートメントに存在する必要があります。承認済送信者がルート・コンパートメントに存在する場合、テナント全体の承認済送信者を管理するポリシーを作成する必要があります。
次のポリシー・ステートメントを追加して、odi_group
が承認済送信者を管理できるようにします:
Allow dynamic-group odi_group to use approved-senders in compartment odi
ポリシーおよびポリシー構文の詳細は、ポリシーの基本に関する項を参照してください。
電子メールの承認済送信者の作成
Oracle Cloud Infrastructureを介して電子メールを送信するすべての「差出人:」アドレスに承認済送信者を設定する必要があります。設定しないと、電子メールは拒否されます。承認済送信者はコンパートメントに関連付けられ、承認済送信者が構成されたリージョンにのみ存在します。
ノート:
承認済送信者はルート・コンパートメントに作成しないでください。ルート以外のコンパートメントに承認済送信者を作成すると、ポリシーをそのコンパートメントに固有にできます。
- 電子メールの承認済送信者を作成するには、Oracle Cloud Infrastructureにログインし、「電子メール配信」→「電子メールの承認済送信者」に移動して、「承認済送信者の作成」オプションを選択します。
ノート:
インスタンスにすでに作成されているユーザーに対してこのオプションを構成します。たとえば、
opc@oracle-odi-inst-3mnc.localdomain
です。oracle-odi-inst-3mnc
はホスト名です。
承認済送信者ドメインでのSPFの構成
SPFを構成します(必要な場合)。コンソールの「承認済送信者」セクションでは、承認済送信者ごとにSPFレコードの検証が提供されます。SPFはoraclegovcloud.comのサブドメインには必須で、それ以外の場合は推奨です。
SPFの構成ステップの詳細は、SPFの構成に関する項を参照してください。
SMTP接続の構成
電子メール接続を保護するには、OCI電子メールSMTPホストからSSL/TLS CAの詳細を取得します
- opcユーザーおよびsudo suとしてsshを使用してインスタンスにログインし、ディレクトリ
nss-config-dr
を作成してから、certutil
を実行して両方のNSSデータベースのキーおよび証明書を管理します。[root@localhost ~]# mkdir /etc/certs [root@localhost ~]# cd /etc/certs [root@localhost certs]# certutil -N -d /etc/certs/ Enter a password which will be used to encrypt your keys. The password should be at least 8 characters long, and should contain at least one non-alphabetic character. Enter new password: Re-enter password: [root@localhost certs]# ls cert8.db key3.db secmod.db [root@localhost certs]#
- SMTPドメインCAの詳細を取得するには、SMTPホストに対して
openssl s_client
を実行します。ノート:
- アッシュバーンにある場合:
openssl s_client -showcerts -connect smtp.us-ashburn-1.oraclecloud.com:587 -starttls smtp > /etc/certs/mycerts-ashburn
- フェニックスにある場合:
openssl s_client -showcerts -connect smtp.us-phoenix-1.oraclecloud.com:587 -starttls smtp > /etc/certs/mycerts-phoenix
たとえば:[root@localhost certs]# openssl s_client -showcerts -connect smtp.us-phoenix-1.oraclecloud.com:587 -starttls smtp > /etc/certs/mycerts-phoenix depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA verify return:1 depth=1 C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA verify return:1 depth=0 C = US, ST = California, L = Redwood City, O = Oracle Corporation, OU = Oracle DYN-DEV US, CN = smtp.us-phoenix-1.oraclecloud.com verify return:1 250 Ok [root@localhost certs]#
- アッシュバーンにある場合:
mycerts-phoenix
またはashburn
でcat
を実行し、--BEGIN CERTIFICATE--および--END CERTIFICATE--を含む各証明書をコピーして、それぞれのファイルに貼り付けます。たとえば -ocismtp-phoenix1.pem ocismtp-phoenix2.pem ocismtp-phoenix3.pem [root@localhost certs]# ls -la | grep -i ocism -rw-r--r--. 1 root root 2443 Jan 31 18:00 ocismtp-phoenix1.pem -rw-r--r--. 1 root root 1648 Jan 31 18:01 ocismtp-phoenix2.pem -rw-r--r--. 1 root root 1338 Jan 31 18:01 ocismtp-phoenix3.pem [root@localhost certs]# [root@localhost certs]# cat ocismtp-phoenix1.pem -----BEGIN CERTIFICATE----- MIIG3jCCBcagAwIBAgIQDD6TwDfguDbn1CI1U46l0zANBgkqhkiG9w0BAQsFADBN MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E aWdpQ2VydCBTSEEyIFNlY3VyZSBTZXJ2ZXIgQ0EwHhcNMTgxMjA3MDAwMDAwWhcN MjEwMTA1MTIwMDAwWjCBnjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju aWExFTATBgNVBAcTDFJlZHdvb2QgQ2l0eTEbMBkGA1UEChMST3JhY2xlIENvcnBv cmF0aW9uMRowGAYDVQQLExFPcmFjbGUgRFlOLURFViBVUzEqMCgGA1UEAxMhc210 cC51cy1waG9lbml4LTEub3JhY2xlY2xvdWQuY29tMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA2ZUXc/xjwwlmsaSKxy2e0Y3K9UeWs/MQSBkQALC0+Pi9 tIdS7BLmYtpTjGmUpwiNzG9pMYHpWjQlQFkxNpqd6JwegpgdEG/8SnbrhH9kRsRg MG8kRNZiJYsDrpwLnjE74gNIjVldqbcMHmBinfKbfFAcPzp5sqOFw3hfSz8TU45A 7UHfbWmF3HiLF+Ozhnr0cUdiVb79HVYH4fm15V4uwewj/ZvALmK000jdOaeOgOna vrx30WSqfkoqOpferIrW4a6wsrj82vaAjuxgBU3rbuaJb2KFYYes3SeUoFkFAZp7 URMy3DZD7MmgmWIXnjGu75xqF4Ul/uEF6cjnYeuDpwIDAQABo4IDZjCCA2IwHwYD VR0jBBgwFoAUD4BhHIIxYdUvKOeNRji0LOHG2eIwHQYDVR0OBBYEFCN96Xt5uS1q xt2ZgTWONBD4VHfdMCwGA1UdEQQlMCOCIXNtdHAudXMtcGhvZW5peC0xLm9yYWNs ZWNsb3VkLmNvbTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG CCsGAQUFBwMCMGsGA1UdHwRkMGIwL6AtoCuGKWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0 LmNvbS9zc2NhLXNoYTItZzYuY3JsMC+gLaArhilodHRwOi8vY3JsNC5kaWdpY2Vy dC5jb20vc3NjYS1zaGEyLWc2LmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwBATAq MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgGBmeB DAECAjB8BggrBgEFBQcBAQRwMG4wJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp Z2ljZXJ0LmNvbTBGBggrBgEFBQcwAoY6aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu Y29tL0RpZ2lDZXJ0U0hBMlNlY3VyZVNlcnZlckNBLmNydDAJBgNVHRMEAjAAMIIB fQYKKwYBBAHWeQIEAgSCAW0EggFpAWcAdgDuS723dc5guuFCaR+r4Z5mow9+X7By 2IMAxHuJeqj9ywAAAWeJXuinAAAEAwBHMEUCIQDqeInMySXAN1UDIJOLG3v/ViBJ xsY3lK2JY/zwebUaugIgepOPAwKQdVrnY7CMCzWGGGqJbLgkFWIRMGK0FUJ8+RsA dQCHdb/nWXz4jEOZX73zbv9WjUdWNv9KtWDBtOr/XqCDDwAAAWeJXumPAAAEAwBG MEQCIA1jRQ0797YV7BLzCANvicAsYk2QdGjCuZ4YxxRgTIs+AiBRztTbnjiT9WGE HIRVEJa/Bx7eSlcu7J2gpEZruOWrFwB2ALvZ37wfinG1k5Qjl6qSe0c4V5UKq1Lo GpCWZDaOHtGFAAABZ4le6LcAAAQDAEcwRQIgMk9G/KNM9xR3GR9q/2vEB85skPlL EgDFVpKBQxQN2f8CIQD2Cn54OAL8HkDDYglLpAjTnzaSUJeP2h07NG90xS5VOjAN BgkqhkiG9w0BAQsFAAOCAQEAP8q05wiAKVkvv+Y6l0aPclFiW5/yZmnQeGNE85kx CmQgbdeGcNUgQ9PjDaBMhHMErVasq1E//oYjuRuF4bFO9QYYMn2QOuz1p61s+60/ IDNCP8xJuBAJ61Gu0mAw7mm44Z+jfD1LMdg/xyZwlH9wFZID9lgVdqpvhlLiYRNy zBtKfgLhzu2B08T4a/V3w2SaDyhPIED2ry+HV+9B7CnzpmLrSqRFw7kk9ihm9Iwq YlyJV3qzO1tIykRALDvYAT50yd+d9ZfTcEQvSrMLoM6N0HJezdTnf67UqwYFF5jT KhyG/2LIAn4XGK0AyS8ieCmmEnW1Hku2ykCo4Ls0gdcYOA== -----END CERTIFICATE----- [root@localhost certs]# [root@localhost certs]# cat ocismtp-phoenix2.pem -----BEGIN CERTIFICATE----- MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8+8kTANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaME0xCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg U2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANyuWJBNwcQwFZA1W248ghX1LFy949v/cUP6ZCWA1O4Yok3wZtAKc24RmDYXZK83 nf36QYSvx6+M/hpzTc8zl5CilodTgyu5pnVILR1WN3vaMTIa16yrBvSqXUu3R0bd KpPDkC55gIDvEwRqFDu1m5K+wgdlTvza/P96rtxcflUxDOg5B6TXvi/TC2rSsd9f /ld0Uzs1gN2ujkSYs58O09rg1/RrKatEp0tYhG2SS4HD2nOLEpdIkARFdRrdNzGX kujNVA075ME/OV4uuPNcfhCOhkEAjUVmR7ChZc6gqikJTvOX6+guqw9ypzAO+sf0 /RR3w6RbKFfCs/mC/bdFWJsCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8C AQAwDgYDVR0PAQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYY aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6 Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwN6A1 oDOGMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RD QS5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFA+AYRyCMWHVLyjnjUY4tCzh xtniMB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFVMA0GCSqGSIb3DQEB CwUAA4IBAQAjPt9L0jFCpbZ+QlwaRMxp0Wi0XUvgBCFsS+JtzLHgl4+mUwnNqipl 5TlPHoOlblyYoiQm5vuh7ZPHLgLGTUq/sELfeNqzqPlt/yGFUzZgTHbO7Djc1lGA 8MXW5dRNJ2Srm8c+cftIl7gzbckTB+6WohsYFfZcTEDts8Ls/3HB40f/1LkAtDdC 2iDJ6m6K7hQGrn2iWZiIqBtvLfTyyRRfJs8sjX7tN8Cp1Tm5gr8ZDOo0rwAhaPit c+LJMto4JQtV05od8GiG7S5BNO98pVAdvzr508EIDObtHopYJeS4d60tbvVS3bR0 j6tJLp07kzQoH3jOlOrHvdPJbRzeXDLz -----END CERTIFICATE----- [root@localhost certs]# cat ocismtp-phoenix3.pem -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt 43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg 06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- [root@localhost certs]#
- 次のコマンドを使用して、
nss-config-dr /etc/certs
にインポートします:[root@localhost certs]# certutil -A -n "DigiCert SHA2 Secure Server CA" -t "TC,," -d /etc/certs -i /etc/certs/ocismtp-phoenix1.pem [root@localhost certs]# [root@localhost certs]# certutil -A -n "DigiCert SHA2 Secure Server CA smtp " -t "TC,," -d /etc/certs -i /etc/certs/ocismtp-phoenix2.pem [root@localhost certs]# [root@localhost certs]# certutil -A -n "DigiCert SHA2 Secure Server CA smtp2 " -t "TC,," -d /etc/certs -i /etc/certs/ocismtp-phoenix3.pem
- インポートが正しく実行されたかどうかを確認するには、コマンド
certutil -L -d /etc/certs
を実行します[root@localhost certs]# certutil -L -d /etc/certs Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPIDigiCert SHA2 Secure Server CA CT,, DigiCert SHA2 Secure Server CA smtp CT,, DigiCert SHA2 Secure Server CA smtp2 CT,,
認証付きホストに中継するためのPostFixの構成
- 最新バージョンのPostfixが
cyrus-sasl-*
パッケージとともにインストールされていることを確認します。[root@localhost ~]# rpm -qa | grep -i postfix postfix-2.6.6-8.el6.x86_64 [root@localhost ~]# yum install postfix Loaded plugins: security, ulninfo Setting up Install Process Package 2:postfix-2.6.6-8.el6.x86_64 already installed and latest version Nothing to do [root@localhost ~]# [root@localhost ~]#yum install -y cyrus-sasl-*
ノート:
使用可能なSASLメカニズムはすべて、関連するcyrus-sasl-*
パッケージを取得することでシステムにインストールできます。 - 次の構成ディレクティブをファイル
/etc/postfix/main.cf
に追加します:#OCI SMTP Relay Host: #relayhost = <Replace with your OCI SMTP server> relayhost = smtp.us-phoenix-1.oraclecloud.com:587 #SASL Authentication settings: smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = #TSL Settings: smtp_tls_loglevel = 2 smtp_use_tls = yes smtpd_tls_security_level = may smtp_tls_CApath = /etc/certs
- SMTP資格証明の生成ステップで作成した資格証明を格納するファイル
/etc/postfix/sasl_passwd
を作成し、権限が600に設定されていることを確認します。#vi /etc/postfix/sasl_passwd relay_host:587 username:password Example: [root@localhost postfix]# cat /etc/postfix/sasl_passwd smtp.us-phoenix-1.oraclecloud.com:587 ocid1.user.oc1..aaaaaaaajjcwynf4ebqp32wdpdy6h4lpeknqiyld7s35t2psfmmfw3y4iosq@ocid1.tenancy.oc1..aaaaaaaavcpbui4wu2ttfnipykravgudbooie2eucf3odrsltgwj236epvha.fa.com:pP)QB&[YIz2ehe>7}fj_ [root@localhost postfix]# [root@localhost postfix]# chmod 600 /etc/postfix/sasl_passwd [root@localhost postfix]#
- Postfixが読み取ることができる
sasl_passwd.db
を作成します:[root@localhost postfix]# postmap /etc/postfix/sasl_passwd [root@localhost postfix]# [root@localhost postfix]# ls -l | grep -i passwd -rw-------. 1 root root 224 Jan 31 18:17 sasl_passwd -rw-------. 1 root root 12288 Jan 31 18:21 sasl_passwd.db [root@localhost postfix]#
Postfixの起動
[root@localhost postfix]# chkconfig postfix on
[root@localhost postfix]# service postfix start
[root@localhost postfix]# service postfix status
master (pid 12162) is running...
[root@localhost postfix]#
If you are running Oracle Linux 7 run
#systemctl start --now postfix
ファイアウォール・ポートの構成
SMTPクライアント・マシン(電子メールの送信元となるVM)のファイアウォール・リストにこれらのポートを追加します
sudo firewall-cmd --zone=public --permanent --add-port=25/tcp
sudo firewall-cmd --zone=public --permanent --add-port=587/tcp
sudo firewall-cmd --reload
電子メールの送信の開始
- 電子メールを送信します
approval is : user@<instancename.localdomain> e.g. opc@oracle-odi-inst-31up.localdomain In this case, login as user and test it with mailx [user@localhost ~]$ echo "test" | mailx -v -s "OCI Test Message [mailx]" user@oracle.com Mail Delivery Status Report will be mailed to <user>. [user@localhost ~]
/var/log/maillog
でエラー・メッセージを確認します:Jan 31 18:24:36 localhost postfix/pickup[13812]: ECF9BA00B4: uid=501 from=<user> Jan 31 18:24:36 localhost postfix/cleanup[14692]: ECF9BA00B4: message-id=<20190131182436.ECF9BA00B4@localhost.sub12182009561.cnvmau.oraclevcn.com> Jan 31 18:24:36 localhost postfix/qmgr[12172]: ECF9BA00B4: from=<user@localhost.sub12182009561.cnvmau.oraclevcn.com>, size=549, nrcpt=1 (queue active) Jan 31 18:24:36 localhost postfix/smtp[14694]: initializing the client-side TLS engine Jan 31 18:24:37 localhost postfix/smtp[14694]: setting up TLS connection to smtp.us-phoenix-1.oraclecloud.com[Public IP]:587 Jan 31 18:24:37 localhost postfix/smtp[14694]: smtp.us-phoenix-1.oraclecloud.com[Public IP]:587: TLS cipher list "ALL:+RC4:@STRENGTH" Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:before/connect initialization Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv2/v3 write client hello A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 read server hello A Jan 31 18:24:37 localhost postfix/smtp[14694]: smtp.us-phoenix-1.oraclecloud.com [Public IP]:587: certificate verification depth=2 verify=1 subject=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA Jan 31 18:24:37 localhost postfix/smtp[14694]: smtp.us-phoenix-1.oraclecloud.com[Public IP]:587: certificate verification depth=1 verify=1 subject=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA Jan 31 18:24:37 localhost postfix/smtp[14694]: smtp.us-phoenix-1.oraclecloud.com [Public IP]:587: certificate verification depth=0 verify=1 subject=/C=US/ST=California/L=Redwood City/O=Oracle Corporation/OU=Oracle DYN-DEV US/CN=smtp.us-phoenix-1.oraclecloud.com Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 read server certificate A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 read server key exchange A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 read server done A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 write client key exchange A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 write change cipher spec A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 write finished A Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 flush data Jan 31 18:24:37 localhost postfix/smtp[14694]: SSL_connect:SSLv3 read finished A Jan 31 18:24:37 localhost postfix/smtp[14694]: Trusted TLS connection established to smtp.us-phoenix-1.oraclecloud.com[public ip]:587: TLSv1.2 with cipher DHE-RSA-AES256-SHA256 (256/256 bits) Jan 31 18:24:38 localhost postfix/smtp[14694]: ECF9BA00B4: to=<user@oracle.com>, relay=smtp.us-phoenix-1.oraclecloud.com[public ip]:587, delay=1.6, delays=0.02/0.03/0.57/1, dsn=2.0.0, status=sent (250 Ok) Jan 31 18:24:38 localhost postfix/cleanup[14692]: 94136A00B8: message-id=<20190131182438.94136A00B8@localhost.sub12182009561.cnvmau.oraclevcn.com> Jan 31 18:24:38 localhost postfix/bounce[14696]: ECF9BA00B4: sender delivery status notification: 94136A00
- 電子メールは正しく配信されました:
-------- Forwarded Message -------- Subject: OCI Test Message [mailx] Date: Thu, 31 Jan 2019 18:24:36 +0000 From: user@localhost.sub12182009561.cnvmau.oraclevcn.com To: user@oracle.com