---
schema_version: "1"
id: 175102ab758fd877f8b40ec17f4c017e3ea0e35d4f08227b1a9314c5e558d0e3
title: CloudHub のアプリケーションの開発
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/cloudhub/developing-applications-for-cloudhub.md
canonical_url: https://docs.mulesoft.com/jp/cloudhub/developing-applications-for-cloudhub
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 5731bd4ff673b8293b7ca6d9ecd97f23a461d21d788cf79ba7d0b846538bef1a
description: MuleSoft Documentation Site
latest: true
---
# CloudHub のアプリケーションの開発

CloudHub にデプロイするアプリケーションを開発する場合、次の考慮事項を確認してください。

## [](#httphttps-ホストの指定)HTTP/HTTPS ホストの指定

HTTP 用 Anypoint Connector (HTTP Connector) を使用する場合、CloudHub 設定でホストアドレスを ​`0.0.0.0`​ として定義します。 CloudHub は、アプリケーションドメイン URL からの要求をエンドポイントに転送します。 複数のワーカーをデプロイした場合は、受信トラフィックはワーカーに自動的に負荷分散されます。 アプリケーションが拡張されると、ワークロードは自動的にワーカーの間で分散されます。

## [](#外部-httphttps-ポートの指定)外部 HTTP/HTTPS ポートの指定

メッセージの受信、イベントのトリガー、Web サービスやユーザーインターフェースの公開のために外部からアクセス可能な HTTP ポートまたは HTTPS ポートがアプリケーションに必要な場合は、予約されているプロパティの ​`${http.port}`​ または ​`${https.port}`​ を使用して HTTP リスナーポートを宣言します。CloudHub では、ポート ​`${http.port}`​ または ​`${https.port}`​ がプラットフォームサービスによって自動的に割り当てられます。アプリケーションドメインの URL へのポート 80 のトラフィックは、​`${http.port}`​ に転送され、ポート 443 のトラフィックは ​`${https.port}`​ に転送されます。

このポートでの複数の CloudHub サービスへのルーティングをサポートするには、公開されている URL 上でそれぞれに一意のパスを設定する必要があります。次に例を示します。

```console
http://0.0.0.0:${http.port}/service/path/one
http://0.0.0.0:${http.port}/service/path/two
```

## [](#デプロイメントオプションの柔軟性)デプロイメントオプションの柔軟性

同じ Mule アプリケーションを異なるデプロイメント対象 (オンプレミスサーバーや CloudHub など) にデプロイするには、​[「Mule アプリケーションのデプロイ」](https://docs.mulesoft.com/mule-runtime/latest/deploying)​を参照してください。

デプロイメント環境の主な違いについては、​[「デプロイメントオプション」](https://docs.mulesoft.com/jp/runtime-manager/deployment-strategies)​を参照してください。

アプリケーションの外部で各デプロイメントのプロパティと変数を定義し、アプリケーションからそれらを参照できます。 たとえば、変数 ​`http.port`​ や ​`https.port`​ にローカル値を定義できます。 詳細は、​[「プロパティの設定」](https://docs.mulesoft.com/mule-runtime/latest/configuring-properties)​を参照してください。

Runtime Manager または Anypoint Platform コマンドラインインターフェースを使用して、これらのプロパティ変数を設定することもできます。

### [](#http-プロキシ設定を回避する)HTTP プロキシ設定を回避する

CloudHub 環境では、Mule アプリケーションはインターネット上で直接対象の HTTP サーバーにアクセスします。ローカル開発環境では、インターネットは HTTP プロキシサーバーを介してのみアクセスできます。

アプリケーションを CloudHub にデプロイしたときにコードを変更しなくて済むように JVM システムプロパティを使用することにより、Mule アプリケーションの HTTP 要求設定でプロキシ設定を追加するのを回避できます。

次の手順を実行します。

1. Mule 4 アプリケーションの場合は、次のように HTTP 要求設定のタイムアウト設定を入力します。
    
    - **\[HTTP Request configuration (HTTP 要求設定)\]**​ > ​**\[General (一般)\]**​ > ​**\[Connection idle timeout (接続アイドルタイムアウト)\]**​: 30000
    - **\[HTTP Request configuration (HTTP 要求設定)\]**​ > ​**\[Settings (設定)\]**​ > ​**\[Response timeout (応答タイムアウト)\]**​: 30000
        
        タイムアウト値は 0 よりも大きい数値に調整してください。空白または 0 のタイムアウト値にすると、接続エラーが発生する場合があります。
2. ローカル Mule Runtime のコマンドラインに以下を追加します。Anypoint Studio で、​**\[Run Configurations (実行設定)\]**​ を変更して次のパラメーターを 1 行として追加します。

```console
-Dhttp.nonProxyHosts="localhost"\-Dhttps.proxyHost={proxy server ip}\-Dhttps.proxyPort={proxy server port}\-Dhttp.proxyHost={proxy server ip}\-Dhttp.proxyPort={proxy server port}\-Djava.net.useSystemProxies=false\-Dcom.ning.http.client.AsyncHttpClientConfig.useProxySelector=false\-Dcom.ning.http.client.AsyncHttpClientConfig.useProxyProperties=true
```

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content"><code>{proxy server ip}</code>​ と ​<code>{proxy server port}</code>​ を実際の HTTP プロキシサーバーの IP アドレスとポート番号に置き換えます。</td></tr></tbody></table>

## [](#ログの設定)ログの設定

CloudHub ログサービスは、アプリケーションのすべてのログメッセージを取得します。 Runtime Manager コンソールの ​**\[Logging (ログ)\]**​ タブでログを表示できます。 診断や監査のためにログ内で追加情報を公開するには、​[Logger コンポーネント](https://docs.mulesoft.com/mule-runtime/latest/logger-component-reference)​を使用します。

<table><tbody><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content">CloudHub では、アプリケーションを削除すると、コンソールからログデータにアクセスできなくなります。CloudHub では、古いログデータはパージされる前に一定期間アーカイブされるため、必要に応じてデータを復元できます。 詳細は、 <a href="https://help.mulesoft.com">MuleSoft ヘルプセンター</a>​でサポートケースを開いてください。</td></tr></tbody></table>

## [](#サードパーティライブラリのパッケージ化)サードパーティライブラリのパッケージ化

CloudHub には、さまざまなプロトコルでの接続やさまざまなデータ形式の変換をサポートするための Anypoint Platform のサービスがあります。 すべての標準 Mule ライブラリは、アプリケーションに含まれていて、使用できます。 別のサードパーティライブラリを含める必要がある場合には、そのライブラリをアプリケーションの JAR ファイルにパッケージできます。 詳細は、​[「Mule 4 の概要: アプリケーションのパッケージ化」](https://docs.mulesoft.com/mule-runtime/latest/mule-app-dev)​を参照してください。

## [](#ファイアウォールの内側のリソースへのアクセス)ファイアウォールの内側のリソースへのアクセス

ファイアウォールの内側のリソースにアクセスする必要があるアプリケーションを開発するときには、Anypoint Virtual Private Cloud (Anypoint VPC) を設定して CloudHub ワーカーをホストし、アプリケーションにアクセスするための IPSec トンネルを設定します。

## [](#サードパーティ-api-およびサービスへのアクセス)サードパーティ API およびサービスへのアクセス

MuleSoft には、Salesforce、NetSuite、Twitter など、多くのサードパーティアプリケーション用のコネクタが用意されています。 アプリケーションでコネクタを検索および使用する方法については、​[「Anypoint Connector の概要」](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)​を参照してください。 また、Anypoint Connector DevKit を使用して、独自のコネクタを作成することもできます。

## [](#セキュアプロパティの使用)セキュアプロパティの使用

アプリケーションプロパティをセキュアとしてフラグ付けすると、その値は実行時にユーザーに表示されず、サーバーとコンソール間で渡されなくなります。 詳細は、​[「アプリケーションプロパティの保護」](https://docs.mulesoft.com/jp/cloudhub/secure-application-properties)​を参照してください。

## [](#関連情報)関連情報

- [HTTP Connector](https://docs.mulesoft.com/jp/http-connector/1.10/)
- [デプロイメントオプション](https://docs.mulesoft.com/jp/runtime-manager/deployment-strategies)
- [CloudHub へのデプロイ](https://docs.mulesoft.com/jp/cloudhub/deploying-to-cloudhub)
- [Anypoint Studio](https://docs.mulesoft.com/studio/)
- [デプロイされたアプリケーションの管理](https://docs.mulesoft.com/jp/runtime-manager/managing-deployed-applications)
- [Anypoint Platform コマンドラインインターフェース](https://docs.mulesoft.com/jp/anypoint-cli/latest/)
- [ログデータの表示](https://docs.mulesoft.com/jp/cloudhub/viewing-log-data)
- [Virtual Private Cloud](https://docs.mulesoft.com/jp/cloudhub/virtual-private-cloud)
- [Anypoint Connector DevKit](#connector-devkit::index.adoc)
- [アプリケーションプロパティの保護](https://docs.mulesoft.com/jp/cloudhub/secure-application-properties)