---
# System prepended metadata

title: 13Feb2024 CloudHub運用
tags: ['MuleSoftTraining : Cloudhub 1.0']

---

# 13Feb2024 CloudHub運用
###### tags: `MuleSoftTraining : Cloudhub 1.0` 

- 目次
[ToC]

## モジュール0: 準備

:::info
:information_source: コース資料
- :star: **APOpsCloud4.4_studentFiles_07dec2021.zip**
  - 2日間を通して使用するファイル集
  - https://drive.google.com/drive/folders/1Y6ff6_FK0-eud3QY6NsgGMeWwt3uhIcU?usp=sharing
- APOpsCloud4.4_studentSlides_JA_07dec2021.zip (受講者スライド)
  - 復習に使用　
- APOpsCloud4.4_studentManual_JA_07dec2021.pdf (受講者マニュアル)
  - 復習に使用　
:::

### セットアップ
[CloudHub 運用コース セットアップマニュアル](https://salesforce.quip.com/mfmHABywK5rn)をご参照ください。
1. [Advanced REST Client](http://install.advancedrestclient.com/install)
　- [Postman](https://www.postman.com/downloads/)など、その他のREST APIクライアントアプリケーションも使用可能です。
2. [Anypoint Platform CLI(Optional)](https://docs.mulesoft.com/jp/runtime-manager/anypoint-platform-cli#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
3. [Open JDK8+](Apache JMeter の実行に使用します)
　　　- [Java インストールと環境変数設定](https://salesforce.quip.com/5B2PAV46QbB5#DCSABAatba1)
4. [Apache JMeter](http://%29https//dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.zip) - zip ファイル 
  - Mac: bin/jmeter
  - Windows: bin/jmeter.bat
5. [OpenSSL(Optional)](https://github.com/openssl/openssl)

### 2日間使用する Anypoint Platform 認証情報

- パスワード: @Mulesoft2020

| 受講者名 | ユーザー | 閲覧専用ユーザー |
|:-------- |:--------:| --------:|
| Oishi     |  Cloud02Student19   |  Cloud02Viewer19 |
| Hirasawa     |  Cloud02Student20   |  Cloud02Viewer20 |
| TBU     |  Cloud02Student18   |  Cloud02Viewer18 |

### Muleアプリケーション
- Anypoint Studio(IDE)で開発
- ローコードで開発可能な Java アプリケーション
- XMLで定義
  - jar ファイルにパッケージング (Maven)
- Mule ランタイム(エンジン/アプリケーションサーバー)にデプロイされ実行される

### CloudHub ワーカー
- OS, Java, Mule Runtime などを MuleSoft が管理するAWS EC2 インスタンス= 仮想マシン
- 管理するインフラを少なく -> Muleアプリケーションの開発に集中することができる
- [CloudHubワーカーについて](https://docs.mulesoft.com/jp/runtime-manager/cloudhub-architecture#cloudhub-%E3%83%AF%E3%83%BC%E3%82%AB%E3%83%BC)

![CloudHub](https://i.imgur.com/orPXb8R.png)

### スケーリング
- スケールイン/スケールアウト: CloudHubワーカーの数を増やす/数を減らす
- スケールアップ/スケールダウン: CloudHubワーカーのサイズを大きくする/小さくする

## モジュール2: ユーザーとリソースの管理
### Organization(組織)
- トップレベルのグループ

### Business Group(ビジネスグループ)
- CloudHub vCore リソース
- Network connetion, Load Balancer, VPC などのリソース
- Environments を複数持つことができる

#### サブグループの作成
- Cloud01Class
  - Cloud01Group*XX*
    - :star: Cloud01SubGroup*XX* `//ココ!`

### Environments(環境)
- Sandbox Type: **Dev**, Stag, QA...
- Production Type: **Prod**...
  - Sandbox よりも良い　MuleSoft SLA 保証
- (Design Type: Flow Designer で作成したアプリケーションを動かすための　vCore)
 
### User(ユーザー)
- anypoint.mulesoft.com ログインするユーザー
- SSO も使用可能

### Teams(チームズ)
- ビジネスグループを横断したユーザーのグループ。複数のPersmission(権限)を、複数のビジネスグループで柔軟に管理できる。
- Teams 単位での Exchange アセットの共有も可能
- 各チームのメンバーの種類
  - Maintainer(管理者)
  - Member(メンバー)
- 親チームの権限は、子チームに継承される
  - 親チームとなるチームの権限は、最小限で構成していく
- すべてのチームは **Everyone** を親に持つ
- Everyone (X) `//デフォルト`
  - CloudHub Network Viewer (XY) 
    - App Deployer (XYa)
    - TeamZZZ (XYb)

### Roles(役割）
- *非推奨* 新機能であるTeamsを推奨

### Permissions(権限)
- Userに直接付与も可能だが、Teams単位で権限をグルーピングすることを推奨している

#### 権限変更によるViewerの見え方の変化
- 権限がないとき
![](https://i.imgur.com/MZNh0v4.png)

- Viewer権限の追加
![](https://i.imgur.com/6UU6zXu.png)

- Deployer権限の追加
![](https://i.imgur.com/qiql42u.png)

## Module 3: Mule アプリケーションの管理

### Muleアプリケーションのデプロイ
- デプロイ可能なアーカイブ (JAR) を Runtime Managerにアップロードする
  - このクラスで中心トピック
- Runtime Manager で Exchange Asset を選択
- Anypoint Studio からデプロイ
- Anypoint Platform REST API でデプロイ
  - 本コース後半で学びます
- Anypoint-CLI コマンドラインツールでデプロイ
  - 本コース後半で学びます
- Maven プラグインでデプロイ

### Runtime Manager
- Muleランタイムのホスティングと、Muleアプリケーションのデプロイを管理
- 実行中のMuleランタイムとアプリケーションの監視も可能
- [アラート](https://docs.mulesoft.com/jp/runtime-manager/alerts-on-runtime-manager)の設定も可能

### MuleアプリケーションをCloudHubデプロイ
- 環境
  - Prod 
- アプリケーション名
  - **server-info-01XX** 
    - CloudHubアプリケーションの名前は、グローバルで一意である必要がある
- jarファイル (Choose File > Upload File)
  - APOpsCloud4.4_studentFiles_07dec2021
    - mod03-mule 
      - **server-info-5.5.0-mule-application.jar**

### CloudHubネットワークの仕組み
- CH Worker (仮想マシン) IP
  - 3.112.34.208:**8081**
- DNS (Shared Load Balancer)
  - server-info-0101.jp-e1.cloudhub.io: **80**
- DNS (wokrker)
  - **mule-worker**-server-info-ch0101.jp-e1.cloudhub.io:**8081**


![](https://i.imgur.com/WbTfmeS.png)

### CloudHubのログ

- 100MB, 30日 (Platinum, Gold)
- 外部のログツールや、ストレージに保管する運用

### Anypoint Monitoring のログ
For Titanium Subscription, you will get 200 GB per production core. 
https://help.mulesoft.com/s/article/Anypoint-Monitoring-Log-FAQ

## Module 4: Mule アプリケーションのモニタリング (監視) と分析
- Log Analyzer 
  - https://help.mulesoft.com/s/article/Support-Log-file-analyzer-tool

### CloudHub Runtime Manager Log
- CloudHub のアプリケーションログの設定には、デフォルトで 「CloudHub log4j2 アペンダー」が使用される
  - https://docs.mulesoft.com/jp/runtime-manager/custom-log-appender#log4j-%E8%A8%AD%E5%AE%9A%E3%81%AE%E4%BD%9C%E6%88%90

![logs](https://i.imgur.com/kEjijNr.png)




### 監視対象アプリケーション: price-lookup-01xx
jar: {studentFiles}/mod4-monitoring/**price-lookup-service-5.5.0-mule-application.jar**

![cpu-single-stats1](https://i.imgur.com/inrrKgR.png)

![cpu-single-stats2](https://i.imgur.com/1feKSxH.png)

### Tracing
https://docs.mulesoft.com/tracing-module/1.0/tracing-module-logging

### FAQ 
Q.Tracing Module はPlatinumサブスクリプションでも使えますか？
A.使用できます。開発者がMuleアプリケーションの中に実装するとともに、Log4j appenderの設定が必要です。
- Tracing Module
  - https://docs.mulesoft.com/tracing-module/1.0/tracing-module-logging
  - Logging Variable の追加 + Pattern Layout を変更 = ログの拡張
  ```
  <!--  <PatternLayout pattern="%-5p %d [%t] [processor: %X{processorPath}; event: %X{correlationId}] %c: %m%n"/>-->
   <PatternLayout pattern="%-5p %d [%t] [%MDC] %c: %m%n"/>
  ```

Q:monitoring ダッシュボードで以下はどう違うのでしょうか？
A:https://docs.mulesoft.com/monitoring/app-dashboards#overview-charts
* Average Response Time (AからNまでの平均)
    * Muleアプリ内でMuleイベントが処理される平均時間。
* Inbound - Average Response Time (A-N, B-M, D-Gの平均)
    * インバウンド・リクエストの平均応答時間。Muleアプリが複数のコネクターを持つ場合、すべてのコネクターの応答時間がこの指標に含まれます。
* Outbound - Average Response Time　（HからKまでの平均時間）
    * アウトバウンド・リクエストの平均応答時間。Muleアプリが複数のコネクターを持つ場合、すべてのコネクターの応答時間がこの指標に含まれます。
![](https://i.imgur.com/pEdla3V.png)

Q: (続き）Average Response Timeよりも、Inbound-Avarage Response Timeが長い場合がある。どのようなケースで起きるのか？
A: 外部呼び出しを行うコネクターには、同期呼び出しと非同期呼び出しがあるものがあります。非同期の呼び出し（JMSのPublishなど）では、他のフローを呼び出した後、結果を待たずに後続処理が続行されるので、A-Nの応答時間より、B-MやD-Gが長いケースがあります。また、メトリクスの受信/保管は非同期に行われているため、複数のメトリクスの計測/表示タイミングが同時とは限りません。必要に応じて、サポートにお問い合わせください。

### Question for Day1
#### PCEはいつ無くなるの？
![](https://hackmd.io/_uploads/BJv0a8CP2.png)
無くなる方針はPendingとなりました。ただ導入のためにはMuleSoft側とMaintenance能力やリソースなどを総合的に相談する必要があります。(Specific customer situation)

#### https://status.mulesoft.com/# の色にはどういう意味があるのか？
![](https://hackmd.io/_uploads/Sy7PpUAvh.png)
- Blue = Scheduled maintenance
- Yellow: Minor impact/degradation
- Orange: Significant impact
- Red: Major impact