Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAmazon Web Services (AWS) を使用する場合は、Anypoint Platform Private Cloud Edition (Anypoint Platform PCE) を AWS にインストールするのに必要なリソースを作成する必要があります。Anypoint Platform PCE は、AWS の本番環境で 4 ノード設定と 7 ノード設定をサポートします。
ベアメタルサーバーでインストールを開始する場合には、この情報は不要です。
以下の作業は、インフラストラクチャチームか、または AWS のシステム管理者レベルの知識を持つ人が実行する必要があります。必要に応じて、MuleSoft の担当者に連絡して支援を求めてください。 |
AWS に Anypoint Platform PCE をインストールするためのアカウントの権限とリソースは次のとおりです。
AWS アカウントは、EC2FullAccess
権限と S3FullAccess
権限が付与された AWS キーを持っている必要があります。
AWS 環境を作成すると、以下のリソースが作成されます。
AWS リソース | 必要な数 (4 ノード) | 必要な数 (7 ノード) | Anypoint Monitoring (省略可能) |
---|---|---|---|
m5.8xlarge |
4 |
7 |
3 |
ルートディスク (500 IOPS) |
4 |
7 |
3 |
EBS ボリューム (1500 IOPS) |
8 |
14 |
12 |
EBS ボリューム (3000 IOPS) |
8 |
14 |
0 |
Amazon ELB |
1 |
1 |
0 |
t2.medium |
1 |
1 |
0 |
MuleSoft は、AWS アカウント用のリソースをプロビジョニングするための Docker イメージを提供しています。また、「カスタムプロビジョニングスクリプト」のセクションで説明されているように、プロビジョニングされたインスタンス上で追加のカスタムシェルスクリプトを実行することもできます。
インターネットにアクセスできるいずれかの VPC 上の AWS アカウントで、最初のインスタンス (t2.small) を作成します。
このインスタンスは、クラスターを実際にプロビジョニングします。デフォルトで Docker がインストールされている AMI を使用するか、または AWS を作成した後で Docker を手動でインストールする必要があります。
Docker がインストールされていてインターネットにアクセスできる他のマシンからプロビジョナーをリモート実行することもできます。
Private Cloud Provisioner (PCP) の Docker イメージを次の URL からダウンロードします。
プロビジョナーの Docker イメージを SCP でインスタンスにコピーします。
scp -i <guest>.pem ~/Downloads/private-cloud-provisioner-3.1.14.tar.gz ec2-user@W.X.Y.Z:/home/ec2-user
SSH でインスタンスにログインします。
ssh -i 'anypoint.pem' ec2-user@W.X.Y.Z
以下の値を使用して、環境の詳細情報を定義した変数ファイル (pce.env) を作成します。
Name (名前) | 説明 |
---|---|
AWS_ACCESS_KEY_ID |
Terraform が AWS アカウントにアクセスするための AWS アクセス ID を指定します。 |
AWS_SECRET_ACCESS_KEY |
Terraform が AWS アカウントにアクセスするための AWS アクセスキーを指定します。 |
AWS_SESSION_TOKEN |
一時的な AWS セッショントークンがあれば指定します。 |
AWS_KEY_NAME |
AWS SSH キーを指定します。 |
AWS_REGION |
Terraform がクラスターを作成する AWS リージョンを指定します (例: |
TF_VAR_ssh_user=<SSH_USER> |
SSH ユーザーを指定します (例: |
TF_VAR_trusted_cidrs_list |
環境からアクセスできる信頼済み CIDR のリスト。 |
TELEKUBE_CLUSTER_NAME |
クラスターの名前と対応する AWS リソースを指定します。 |
TELEKUBE_NODE_PROFILES |
|
TELEKUBE_NODE_PROFILE_COUNT_node |
クラスター内のノードの名前を指定します。可能な値は |
TELEKUBE_NODE_PROFILE_INSTANCE_TYPE_node |
|
TELEKUBE_NODE_PROFILE_COUNT_node_amv |
クラスター内の AMV アドオンのノードの数を指定します。AMV アドオンをインストールするように予定している場合は、 |
TELEKUBE_NODE_PROFILE_INSTANCE_TYPE_node_amv |
AMV アドオンをインストールするように予定している場合は、 |
TF_VAR_high_performance_disks |
本番環境では |
以下の省略可能な環境変数も定義できます。
Name (名前) | 説明 |
---|---|
TF_VAR_ami_name |
インスタンスで使用する AMI 名を指定します。AMI ID ではなく AMI 名を使用してください。 追加のボリュームが AMI によりプロビジョニングされないようにします。この変数を設定しないと、プロビジョナーはデフォルトの AMI として |
TF_VAR_monitoring=<true or false> |
true であれば CloudWatch で基本インスタンスアラームを作成します。 |
TF_VAR_use_bastion=<true or false> |
true であれば、パブリックサブネットに (ASG を使用して) 小さいインスタンスをジャンプボックスとして作成し、公開 IP アドレスを関連付けて、プライベートサブネットでクラスターインスタンスを起動します。 |
TF_VAR_internal=<true or false> |
true の場合、クラスターインスタンスはプライベートサブネットで起動し、公開 IP は関連付けられません。また、プロビジョニングされたロードバランサーは内部専用となります。 |
AWS_VPC_ID=<VPC_ID> |
すでにインターネットゲートウェイが接続されている既存の VPC を指定します。この場合でも、サブネットは既存の VPC 内でプロビジョニングされます。 |
AWS_VPC_CIDR=<VPC_CIDR> |
プロビジョニングする新しい VPC 用に希望する CIDR を渡せるようにします。(この場合は AWS_VPC_ID は渡さないでください。) |
TF_VAR_aws_selected_subnets_ids=<SUBNETS_IDS> |
インスタンスが起動されるサブネットの ID のリストを渡せるようにします。自身のサブネットを再利用する場合は、ルートテーブル、NAT ゲートウェイ、およびインターネットゲートウェイをセットアップする必要があります (例: |
TF_VAR_subnets=<PRIVATE_SUBNETS_CIDRs> |
プロビジョニングする新しいサブネット用に希望する CIDR ブロックを任意で渡せるようにします。リージョンのアベイラビリティゾーン数と、クラスター用に選択したノード数の間における最小の数値を正確に渡す必要があります (例: |
TF_VAR_public_subnets=<PUBLIC_SUBNETS_CIDRs> |
プロビジョニングする新しいサブネット用に希望する CIDR ブロックを任意で渡せるようにします。リージョンのアベイラビリティゾーン数と、クラスター用に選択したノード数の間における最小の数値を正確に渡す必要があります (例: |
TF_VAR_role_tag_value=<AWS_TAG_VALUE_FOR_ROLE_LABEL> |
すべての AWS リソースに適用される role タグ値を指定できるようにします。 |
プロビジョナーの Docker イメージをローカル Docker レジストリに読み込みます。
docker load -i private-cloud-provisioner-4.0.13.tar.gz
ドライランテストを実行します。
docker run --rm --env-file pce.env artifacts.msap.io/mulesoft/core-paas-private-cloud-provisioner:v4.0.13 dry-run
プロビジョナーを実行します。
docker run --rm --env-file pce.env artifacts.msap.io/mulesoft/core-paas-private-cloud-provisioner:v4.0.13 cluster-provision
プロビジョナーが正常に実行されると、環境に関する情報 (IP アドレス、ロードバランサーの DNS 名など) が表示されます。
インスタンスに /var/lib/bootstrap_complete フォルダーが作成されていることをチェックして、プロビジョニングスクリプトが正常に実行されたことを確認します。
PCE プロビジョナースクリプトの実行前または実行後に (あるいはその両方で) プロビジョニングされたインスタンス上でカスタムシェルスクリプトを実行できます。プロビジョナーの前に実行する場合は pre-user-data
フォルダー、後に実行する場合は post-user-data
フォルダーに、名前に .sh 拡張子の付いたシェルスクリプトを配置してください。Docker の実行コマンドで、次のようにボリュームをマウントします。
docker run --rm -v $(pwd)/pre-user-data:/usr/local/bin/provisioner/terraform/external/pre-user-data -v $(pwd)/post-user-data:/usr/local/bin/provisioner/terraform/external/post-user-data --env-file pce.env artifacts.msap.io/mulesoft/core-paas-private-cloud-provisioner:v4.0.13 cluster-provision
GUI ベースのインストーラーを使用して Anypoint Platform PCE をインストールする場合は、インストーラーの実行前にこのポートを有効化する必要があります。インストーラーを実行する前に、AWS Web コンソールを使用して、クラスターのセキュリティグループでこのポートを開いてください。
プロビジョナーを使用して作成したすべてのリソースを、次の例のように cluster-deprovision
コマンドを実行して破棄できます。環境ファイル内の TELEKUBE_CLUSTER_NAME
環境変数に、破棄する対象クラスターの正しい値が含まれていることを確認します。
docker run --rm --env-file pce.env artifacts.msap.io/mulesoft/core-paas-private-cloud-provisioner:v4.0.13 cluster-deprovision
AWS リソースの作成時に問題が発生した場合は、以下の情報を確認してください。
403 Forbidden (403 閲覧禁止)
キーのポリシーによっていずれかの EC2 または S3 リソースへのアクセスが拒否されていないか確認します。AWS CLI で、キーを指定して次の基本コマンドが実行できることを確認してください。
aws sts get-caller-identity
Limit exceeded (制限を超えました)
AWS アカウントで作成できるリソース量に制限が設定されている可能性があります。使用していないリソースをいくつか削除するか、または AWS に上限値を増やすように依頼してください。
AMI not found (AMI が見つかりません)
環境変数で AMI ID ではなく AMI 名を指定していることを確認してください。