---
# System prepended metadata

title: 26Oct2022 CloudHub運用
tags: ['MuleSoftTraining : Cloudhub 1.0']

---

# 26Oct2022 CloudHub運用
###### tags: `MuleSoftTraining : Cloudhub 1.0` 

- 目次
[ToC]

## モジュール0: 準備

:::info
:information_source: コース資料
- :star: **APOpsCloud4.4_studentFiles_07dec2021.zip**
  - 2日間を通して使用するファイル集
- 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](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](https://github.com/openssl/openssl)

## モジュール1: Anypoint Platform の概要
- Anypoint Platform コントロールプレーン
  - Anypoint Platform でアプリケーションを設計・開発・デプロイ・管理・監視etcするためのツール/コンポーネント群
  - URL: https://anypoint.mulesoft.com (US)
     - ステータスの確認: https://status.mulesoft.com/
     - URL: https://eu1.anypoint.mulesoft.com (EU)
     - ステータスの確認: https://eu1-status.mulesoft.com/
     - EUコントロールプレーンでは、CloudHubのEUのリージョンしか選べない

- Anypoint Platform ランタイムプレーン
  - MuleランタイムとMuleアプリケーションをデプロイする環境・インフラ
    - :star: **CloudHub**
        - MuleSoftが運用管理する
        - https://docs.mulesoft.com/jp/runtime-manager/cloudhub-app-runtime-version-updates
    - スタンドアロンMuleランタイム
    - Runtime Fabric

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

- パスワード: @Mulesoft2020

| 受講者名 | ユーザー | 閲覧専用ユーザー |
|:-------- |:--------:| --------:|
| Sugawara     |  Cloud01Student01   |  Cloud01Viewer01 |
| Kurihara|  Cloud01Student02   |  Cloud01Viewer02 |

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

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

#### サブグループの作成
- Cloud02Class
  - Cloud02Group*XX*
    - :star: Cloud02SubGroup*XX* `//ココ!`

### Environments(環境)
- Sandbox Type: **Dev**, Stag, QA...
- Production Type: **Prod**...
  - Sandbox よりも良い　MuleSoft SLA 保証
- (Design Type: Flow Designer で作成したアプリケーションを動かすための　vCore)

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

### Anypoint Platform 組織
- Organization (Cloud01Class) `//会社のようなもの`
  - Business GroupA (Cloud01Group01) 
  `//部署のようなもの。sakaguchi がリーダー/オーナー`
    - 子Business GroupA (Cloud01SubGroup**01**) 
    `//プロジェクトのような単位。sakaguchi がリーダー/オーナー`
      - Production 0.4 vCore
        - Prod 環境
      - Sandbox 0.8 vCore
        - Dev 環境
      - DLB(専用ロードバランサー)
      - VPC(Virtual Private Cloud)
  - Business GroupB (Cloud01Group04)　
  `//部署のようなもの。Abe san がリーダー/オーナー`
    - 子Business GroupA (Cloud01SubGroup**04**) 
      - Production 0.4 vCore
        - Prod 環境
      - Sandbox 0.8 vCore
        - Dev 環境 
      - DLB(専用ロードバランサー)
      - VPC(Virtual Private Cloud)

*※vCore: CloudHub にアプリケーションをデプロイする際に消費する契約リソースの単位 (1ワーカーあたり: 0.1 vCore ~ 16 vCore)*

## モジュール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-02XX** 
    - 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-ch0101.jp-e1.cloudhub.io: **80**
- DNS (wokrker)
  - **mule-worker**-server-info-ch0101.jp-e1.cloudhub.io:**8081**


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

Q: SLB側やWorkerに対して、直接アクセス制限することも可能でしょうか？
A: SLBはCloudHubリージョン(マルチテナント)で共有されているため、無効化やアクセス制限をかけることはできません。Workerにアクセス制限をかけるには、API Managerのポリシーで認証やIP制限をかけるか、Anypoint VPCを構成してVPC内にデプロイすることでFirewallルールによるアクセス制限をかけることができます。

### 0.1 vCore / 0.2 vCore バースタブルインスタンス
- https://blogs.mulesoft.com/dev-guides/how-to-tutorials/cloudhub-vs-runtime-fabric-for-high-performing-mules/
- https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html

Q: Basic Alertで送信されるメールのテンプレートは編集可能か？
A: テキストメッセージ部分は編集可能ですが、添付されるイメージ等のデザインテンプレートは編集できません。テキストのみ、あるいはより小さい画像にすべきだという意見がIdeas Portalに投稿されています。
https://help.mulesoft.com/s/ideas#0872T000000XaUPQA0

## モジュール4: Mule アプリケーションのモニタリング (監視) と分析
### Runtime Manager CloudHub Log
- 制限: 容量100MB もしくは TTL 30日間
- デフォルトの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
- Log Analyzer 
  - https://help.mulesoft.com/s/article/Support-Log-file-analyzer-tool

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


### カスタムダッシュボード
![](https://i.imgur.com/tkUd0up.png)

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

Q: Monitorダッシュボードのデータ更新タイミングは？
A: 対象期間を指定した時にMonitoringのデータを取得します。Titaniumサブスクリプションの場合は自動リフレッシュのオプションがありますが、Gold/Platinumでは手動でデータを更新しなければ表示は自動的に変わりません。
https://docs.mulesoft.com/jp/monitoring/dashboards-using#refreshing-data

### Visualizer
![](https://i.imgur.com/sFz4aKb.png)

Runtime Managerのプロパティで以下の2つ設定が必要
* anypoint.platform.visualizer.layer=System
* anypoint.platform.config.analytics.agent.enabled=true

Q: MonitoringのAlertやdashboard、Visualizerの対象は、CloudHubにデプロイしたAPIのみでしょうか？StandaloneやRuntimeFabricにデプロイしたAPIも対象とできるでしょうか？
A: StandaloneやRuntimeFabricにデプロイしたAPIも監視対象にできます。

Q: MonitoringのAlertは作成できる上限などあるのでしょうか？
A: Gold/Platinumでは組織あたり50個、Titaniumでは100個が上限になっています（追加のvCore契約で増加) 
https://docs.mulesoft.com/jp/monitoring/alerts