Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこのトピックでは、AWS アカウントで VM/ベアメタルの Anypoint Runtime Fabric をインストールする方法について説明します。AWS EKS を使用して自己管理型 Kubernetes の Runtime Fabric をインストールすることもできます。
Runtime Fabric をインストールする前に、「VM/ベアメタルの Runtime Fabric の共有責任」を参照してください。インフラストラクチャがハードウェア、オペレーティングシステム、ネットワークの最小要件を満たしていない場合、VM/ベアメタルの Runtime Fabric は正常に動作しません。 組織の運用チーム、ネットワークチーム、セキュリティチームが関与する必要があります。「Anypoint Runtime Fabric インストールの前提条件」を参照してください。 |
AWS で VM/ベアメタルの Anypoint Runtime Fabric をインストールするには、次の要件を満たしていることを確認してください。
Anypoint Platform ユーザーアカウントに「Manage Runtime Fabrics (Runtime Fabric の管理)」権限がある。
マシンで Terraform を実行できる。
AWS ユーザーに EC2 インスタンス、ディスク、VPC、セキュリティグループを作成するためのアクセス権がある。
詳細は、 「IAM ポリシーシミュレーターを使用した IAM ポリシーのテスト」を参照してください。
AWS アカウントに Anypoint Runtime Fabric を実行するのに必要なインフラストラクチャの十分なクォータがある。これには、追加の VPC、EC2 インスタンス、ディスク、セキュリティグループ、および他の必要なリソースを作成する容量があることも含まれます。
仮想マシンをプロビジョニングするのに必要な AWS キーペアがある。このキーペアは、SSH (Secure Shell) を介した VM へのセキュアなアクセスを有効にするのに必要です。
AWS 固有の環境変数 (AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
、AWS_REGION
、AWS_DEFAULT_REGION
) へのアクセス権がある。これらは、Terraform スクリプトを実行するのに必要です。これらの値がわからない場合は、AWS 管理者にお問い合わせください。
環境で実行されているすべてのウイルス対策エージェント (McAfee など) が無効化されている。
Runtime Fabric をインストールするには、Mule ライセンスキーが Base64 でエンコードされている必要があります。組織の Mule Enterprise ライセンスキーファイル (license.lic
) を見つけ、オペレーティングシステムに応じて以下を実行します。
MuleSoft から提供された新しい Mule .lic
ライセンスファイルを Base64 でエンコードします。
MacOS では、次のコマンドをターミナルで実行します。
BASE64_ENCODED_LICENSE=$(base64 -b0 license.lic)
Unix では、次のコマンドを実行します。
BASE64_ENCODED_LICENSE=$(base64 -w0 license.lic)
Windows では、次のいずれかを選択します。
base64 ツールが含まれる WSL または Cygwin シェルを使用し、上記の Unix コマンドを使用します。
Windows git (C:\Program Files\Git\usr\bin
) と一緒に含まれている base64.exe
プログラムを使用します。
次の Powershell コマンドを使用します。
$BASE64_ENCODED_LICENSE=[convert]::ToBase64String((Get-Content -path "license.lic" -Encoding byte))
MuleSoft には、必要な AWS リソースをプロビジョニングするために実行する Terraform スクリプトが用意されています。プロビジョニングスクリプトは、自分のインストールに合わせて修正できます。たとえば、ディスクの暗号化や EBS ボリュームの暗号化を有効化できます。VM/ベアメタルの Runtime Fabric は、「VM/ベアメタルの Runtime Fabric インストールの前提条件」の最小要件以上が提供されている限りサポートされます。
次のいずれかの方法で Terraform スクリプトを実行できます。
Terraform をダウンロードして手動でマシンにインストールする。ターミナルで terraform --version
を実行して、インストールされた Terraform のバージョンが 0.12.6
以降であることを確認します。
Docker 内で Terraform を使用する。
rtf-install-scripts
フォルダー内には、以下が含まれる aws
フォルダーがあります。
fabric.tf
: AWS アカウントでインフラストラクチャをプロビジョニングする Terraform スクリプト。
network_ingress.tf
: ネットワークイングレスに使用されるセキュリティグループルールを含む Terraform スクリプト。
network_egress.tf
: ネットワークエグレスに使用されるセキュリティグループルールを含む Terraform スクリプト。
installer_env.sh
: インストール中にリーダーとして機能するコントローラー VM に追加される環境変数のシェルスクリプト。
controller_env.sh
: 他のコントローラー VM に追加される環境変数のシェルスクリプト。
worker_env.sh
: ワーカー VM に追加される環境変数のシェルスクリプト。
README.md
: インストール手順が含まれるマークダウンファイル。
fabric.tf
スクリプトの変更Terraform を実行する前に、特定の環境が反映されるように fabric.tf
スクリプトを変更します。次の表には、必須の環境変数と省略可能な環境変数が記載されています。
環境に応じて、以下の表に記載されていない、 VM/ベアメタルの Runtime Fabric では、インバウンドロードバランサーは共有モードまたは専用モードで実行されます。
詳細は、「Runtime Fabric の管理」を参照してください。 |
変数 | 説明 | 例 |
---|---|---|
|
エンコードされた Runtime Fabric アクティベーションデータ。このデータにアクセスするには、Runtime Manager で Runtime Fabric を表示します。 |
|
|
デプロイ先の AWS リージョンのキーペアの名前。 |
|
|
インストーラーで各 VM の公開 IP アドレスを作成するかどうかを指定します。公開 IP を使用すると、ネットワークから直接 VM に |
|
|
プロビジョニングするコントローラー VM の数。 |
|
|
プロビジョニングするワーカー VM の数。 |
|
|
組織の Mule Enterprise ライセンスキー ( |
変数 | 説明 | 例 |
---|---|---|
|
ホストのオペレーティングシステムで AWS メタデータサービスをブロックするブール変数。デフォルト値は |
|
|
プロビジョニングするコントローラーマシンの数。デフォルト値は |
|
|
ホストのオペレーティングシステムで SELinux を無効化/有効化するブール変数。デフォルト値は |
|
|
公開 IP アドレスを指定する必要があるかどうかを示すブール変数。デフォルト値は |
|
|
AWS 内の既存のサブネット ID のリスト。既存のネットワークにインストールする場合に必要になります。インストーラーは、新しいサブネットを作成せずにこれらのサブネットを使用します。 |
|
|
既存の AWS Virtual Private Cloud (VPC) の VPC ID。既存の VPC にインストールする場合に必要になります。インストーラーは、新しい VPC を作成せずにこの VPC を使用します。 |
|
|
アウトバウンド HTTP 要求を転送する HTTP プロキシサーバーのホスト名およびポート。 |
|
|
Runtime Fabric インストーラーパッケージの URL。 |
|
|
Kubernetes API へのアクセスを可能にする CIDR 範囲。デフォルトは空の配列 |
|
|
SOCKS5 プロキシサーバーがメトリクスとログを Anypoint Monitoring に転送するためのホスト名とポート、および省略可能なユーザー名とパスワード。 |
|
|
Mule ライセンスの base64 コンテンツ。 |
|
|
プロキシをバイパスする必要があるホストのカンマ区切りリスト。 |
|
|
オペレーションセンター UI へのアクセスを可能にする CIDR 範囲。デフォルトは空の配列 |
|
|
カスタムポッド CIDR ブロックのサポートを提供します。 |
|
|
カスタムサービス CIDR ブロックのサポートを提供します。 |
|
|
各 Runtime Fabric サービスを実行するユーザー ID を表す整数。「planet」という名前のユーザーを作成するデフォルトの動作を上書きします。 |
|
|
各 Runtime Fabric サービスを実行するときに使用されるグループ ID を表す整数。「planet」という名前のグループを作成するデフォルトの動作を上書きします。 |
|
|
プロビジョニングするワーカーマシンの数。デフォルト値は |
|
|
非公開 IP アドレスがネットワークインターフェースから検出されることを許可します。 |
|
Terraform スクリプトを実行するには、ターミナルで AWS API アクセスを設定する必要があります。AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、および他の環境変数 (AWS_SESSION_TOKEN
、AWS_REGION
、AWS_DEFAULT_REGION
など) の値を定義します。これらは、アカウントの AWS API にアクセスするのに必要です。
これらが正しく設定されていることを確認するには、aws-cli
ツールを実行できる必要があります (マシンにインストールされている場合)。
AWS 環境が反映されるように fabric.tf
を変更したら、Terraform スクリプトを実行して VM/ベアメタルの Runtime Fabric をインストールします。
内部ロードバランサーは、共有モードの場合はコントローラーノード全体に分散され、専用モードの場合は内部ロードバランサーノードにデプロイされます。
Terraform は、実行時に状態ファイルを生成して、デプロイメントの詳細を取得します。以下の例では、状態ファイルが tf-data/rtf.tfstate
にあります。Runtime Fabric インフラストラクチャを作成するたびに、個別の状態ファイルを作成および維持する必要があります。
状態ファイルは安全な場所に保管してください。このファイルは、このデプロイメントを変更する場合 (ワーカーまたはコントローラー VM の数をスケールする場合など) に必要になります。 |
../rtf-install-scripts/aws/
ディレクトリに移動します。このディレクトリから Terraform を実行する必要があります。
Terraform を初期化します (これを 1 回のみ実行します)。
terraform init
次のスクリプトをテキストエディターをコピーします。
terraform apply \ -var activation_data='' \ -var key_pair='' \ -var enable_public_ips='' \ -var controllers='3' \ -var workers='3' \ -var mule_license='' \ -state=tf-data/rtf.tfstate
上記の環境変数の表のデータを使用して、これを変更します。
ターミナルに上記の必須の AWS 固有の環境変数へのアクセス権があることを確認します。
AWS 認証に関するエラーが発生した場合、変数の確認と Terraform コマンドの実行で同じターミナルウィンドウを使用していることを確認してください。
スクリプトを実行します。
Terraform スクリプトは、インフラストラクチャをプロビジョニングして、各 VM でインストールスクリプトを実行します。インストールスクリプトが完了すると、Runtime Manager の Runtime Fabric の状況が [Active (アクティブ)] に更新されます。
このステップにより、クラスターを形成するすべてのサーバーに VM/ベアメタルの Runtime Fabric がインストールされます。完了するまでに 15 ~ 25 分以上かかることがあります。 |
../rtf-install-scripts/
ディレクトリに移動します。このディレクトリから Terraform を実行する必要があります。dir
または ls
コマンドを実行すると、aws
ディレクトリが他のディレクトリ (azure
や manual
など) と共にリストされます。
Terraform を初期化します (これを 1 回のみ実行する必要があります)。
docker run -v $(pwd):/src -w /src/aws \ -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN \ hashicorp/terraform:0.12.6 init
以下をテキストエディターをコピーします。
-var activation_data='' \ -var key_pair='' \ -var enable_public_ips='' \ -var controllers='3' \ -var workers='3' \ -var mule_license='' \ -state=tf-data/rtf.tfstate
前記の環境変数の表のデータを使用して、この情報を変更します。
Terraform スクリプトを実行します。
docker run -it -v $(pwd):/src -w /src/aws \ -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN \ hashicorp/terraform:0.12.6 apply \ -var activation_data='' \ -var key_pair='' \ -var enable_public_ips='' \ -var controllers='3' \ -var workers='3' \ -var mule_license='' \ -state=tf-data/rtf.tfstate
Terraform スクリプトは、インフラストラクチャをプロビジョニングして、各 VM でインストールスクリプトを実行します。インストールが完了すると、Runtime Manager に Runtime Fabric が [Active (アクティブ)] の状況で表示されます。
このステップにより、クラスターを形成するすべてのサーバーに VM/ベアメタルの Runtime Fabric がインストールされます。完了するまでに 15 ~ 25 分以上かかることがあります。 |
インストール中に進行状況を参照するには、各 VM の出力ログを確認します。
最初のコントローラー VM へのシェル (SSH セッション) を開きます。
次のコマンドを使用して、/var/log/rtf-init.log
にある出力ログを確認します。
tail -f /var/log/rtf-init.log
各 VM の同じログを確認して、その進行状況を参照できます。 |
インストールが正常に完了したら、インストーラーによって /opt/anypoint/runtimefabric/.state/init-complete
ファイルが作成されます。
インストールが正常に完了したら、オペレーションセンターにログインして Runtime Fabric インフラストラクチャの状況を表示します。オペレーションセンターへのアクセスとオペレーションセンターのユーザー名とパスワードの決定については、「Anypoint Runtime Fabric でのオペレーションセンターの使用」を参照してください。
デフォルトでは、Terraform スクリプトでは、オペレーションセンターポートをインターネットに公開しないように AWS セキュリティグループが設定されています。
公開 IP を使用してオペレーションセンターでクラスターを管理するには、enable_public_ips 変数を使用して公開 IP でコントローラーノードをプロビジョニングする必要があります。セキュリティグループを調整して、
0.ポート 32009 での TCP 接続に対して 0.0.0.0 インターネットアクセスを許可する必要があります。
|