Esri arcgis-server-ha.template.json Amazon Web Services (AWS) CloudFormation テンプレートは、高可用性 GIS Server サイト、ArcGIS Image Server サイト、または ArcGIS GeoAnalytics Server サイトを作成します。 ArcGIS GeoAnalytics Server サイトを作成する場合、ArcGIS Enterprise ポータルとフェデレートする必要があります。 他のタイプをフェデレートするか、スタンドアロン サイトとして使用できます。
このテンプレートは、AWS の自動スケーリング グループに ArcGIS Server Amazon Elastic Compute Cloud (EC2) インスタンスを構成します。これは、一定の条件に基づく容量計画、優れた耐障害性、高い可用性、より効果的なコスト管理などのメリットをもたらします。
このテンプレートを使用する場合、ArcGIS Server ディレクトリの格納方法を次のオプションのいずれかから選択します。
- 構成ストアにクラウド ストレージ (Amazon S3 および DynamoDB)、共有ディレクトリにファイル共有 (EC2 インスタンス) を使用します。
- 構成ストアと共有ディレクトリは、ファイル サーバー (EC2 インスタンス) のみに配置します。
ファイル サーバーには自動復旧が設定され、1 台のコンピューターが故障した場合でもサービスを引き続き利用できます。
また、各 ArcGIS Server コンピューターに ArcGIS Web Adaptor を含めることもできます。
このテンプレートは、Amazon Web Services で次のアーキテクチャを作成します。
ライセンス:
図内の特定のアイコンは、Amazon Web Services の許可を得て使用されています。
前提条件
CloudFormation テンプレートを実行する前に取得する必要があるアイテム (ファイル、アカウントなど) や、実行する必要があるタスクごとに、前提条件がグループ化されています。
必須アイテム
このテンプレートを実行する前に、次のアイテムが必要です。
- Amazon Web Services アカウント。
アカウントを使用して、CloudFormation、Amazon Elastic Compute Cloud (EC2)、Amazon Virtual Private Cloud (VPC)、Amazon Simple Storage Service (S3)、Systems Manager、Amazon CloudWatch、Lambda、AWS Identity and Access Management (IAM)、Amazon DynamoDB、Secrets Manager、AWS Certificate Manager、Amazon Relational Database Service (RDS) などの基本的な AWS サービスにアクセスできる必要があります。
- ArcGIS Server ライセンス。 ライセンス ファイルには、必要なサーバー ライセンス ロール (ArcGIS GIS Server、ArcGIS Image Server、または ArcGIS GeoAnalytics Server) が含まれている必要があります。
- SSL 認証ファイル (.pfx 形式) およびそれに対応するパスワード
証明書は証明局から取得する必要があります。
- Amazon Virtual Private Cloud (VPC) とサブネット。
スタンドアロン サイトを作成している場合、2 つのパブリック サブネットを含む VPC、または NAT ゲートウェイを備えた 2 つのパブリック サブネットおよびプライベート サブネットを含む VPC のいずれかの CloudFormation テンプレートを使用して VPC を作成できます。
このサイトを ArcGIS Enterprise ポータルとフェデレートする場合は、同じ ArcGIS Enterprise デプロイメントにあるすべてのコンポーネントが、必ず同じ VPC で実行されるようにします。
- AWS GovCloud の Ubuntu EC2 インスタンスにデプロイメントを作成する場合は、AMI ID が必要です。 Canonical によるベース Ubuntu AMI を使用する場合は、Esri Amazon Web Services CloudFormation テンプレートの手順に従って ID を特定します。
- arcgis-server-ha.template.json CloudFormation テンプレート
必須タスク
このテンプレートを実行する前に、次のタスクを実行する必要があります。
- AWS アカウントにデプロイメントの Amazon Simple Storage Service (S3) バケットを準備します。 スタックを起動するときに、テンプレートのバケット名を指定します。
- バケットを作成するか、既存の S3 バケットを使用します。 ユーザーはバケットの所有者でなくてはなりません。
- バケットに ArcGIS ソフトウェア認証情報ファイルをアップロードします。
- SSL 証明書ファイルをデプロイメント バケットにアップロードします。
- DNS (ドメイン名システム) を構成します。
ArcGIS Server サイトの完全修飾ドメイン名が必要です。 このスタックを起動する前にドメイン名が存在しており、解決可能である必要があります。 完全修飾ドメイン名の取得と、DNS の構成の方法がわからない場合は、IT 部門にお問い合わせください。
- AWS Secrets Manager でのパスワードの構成 (オプション、推奨)
サイト管理者のユーザー名や Windows の arcgis ユーザーのパスワードなどのアカウントのパスワードは、AWS Secrets Manager で構成できます。 これにより、シークレットの Amazon Resource Name (ARN) が提供されます。 スタックを起動するときに、テンプレートのパラメーターにパスワードの代わりに ARN を使用します。 パスワードの格納に AWS Secrets Manager を使用しない場合は、スタックの起動時にテンプレートのパラメーターにパスワードをプレーン テキストで入力する必要があります。
注意:
Esri CloudFormation テンプレートで使用するパスワードのために AWS Secrets Manager でシークレットの ARN を作成する場合、シークレット タイプに [Other type of secrets (他の種類のシークレット)] を使用し、[Plaintext (プレーンテキスト)] オプションを使用する必要があります。 パスワード用の Amazon Resource Name を作成する方法については、「AWS CloudFormation および ArcGIS」をご参照ください。
ヒント:
デフォルトでは、スタックの作成に失敗すると、CloudFormation は部分的に作成されたリソースを削除します。 これにより、使用できないデプロイメントがアカウントから削除されるため便利ですが、トラブルシューティングが難しくなる可能性もあります。 スタックを失敗した状態で保持するには、スタックを起動する前に CloudFormation スタック作成オプションの [Rollback on failure (失敗時にロールバックする)] を無効にします。 詳細については、AWS ヘルプの「Setting AWS CloudFormation options (AWS CloudFormation オプションの設定)」をご参照ください。
パラメーター
この CloudFormation テンプレートで使用されるパラメーターの説明については、次の表をご参照ください。 表はパラメーターのタイプ別に分けられています。
Amazon EC2 Configuration
パラメーター名 | 必須 | パラメーターの説明 |
---|---|---|
Platform Type | 必須 | オペレーティング システム プラットフォームを選択してください。 サポートされているタイプは次のとおりです。
特定のオペレーティング システムのバージョンについては、「CloudFormation を使用して AWS に ArcGIS を配置する際にサポートされているオペレーティング システム」をご参照ください。 |
EC2 Instance AMI ID | オプション | このパラメーター値は空のままにしておいてもかまいません。 その場合、CloudFormation テンプレートでは、選択したプラットフォームのタイプに応じて、Microsoft Windows Server 2019 または Ubuntu Server 20.04 LTS の最新の Amazon Machine Image (AMI) ID を使用します。 注意:Linux プラットフォームの AWS GovCloud に配置する場合は、このパラメーターは空のままにしておくことはできません。 Canonical から基本の Ubuntu AMI ID を検索する方法については、Esri Amazon Web Services CloudFormation テンプレートをご参照ください。 Ubuntu 以外のサポート対象の Linux オペレーティング システムを配置する場合は、AWS Management Console を使用して AMI ID を検索できます。 独自のカスタム AMI を使用するには、次のいずれかの方法で AMI ID を入力します。
カスタム AMI を使用する場合は、次の要件を満たしていることを確認します。
|
EC2 Instance Keypair Name | 必須 | EC2 インスタンスへのリモート アクセスを許可するため、EC2 キーペア名を選択します。 |
Elastic IP Address Allocation ID | オプション | 「eipalloc-XXXXXXXX」の形式で、Elastic IP アドレスのアロケーション ID を指定します。 Elastic IP アドレスにサイト ドメイン名をマッピングし、AWS 環境外で RDP/SSH 経由で EC2 インスタンスにアクセスする場合は、Elastic IP アドレスが必要です。 Elastic IP アドレスを EC2 インスタンスに割り当てない場合は、このパラメーターを空のままにしておきます。 |
Amazon VPC Configuration
パラメーター名 | 必須 | パラメーターの説明 |
---|---|---|
VPC ID | 必須 | VPC ID を選択します。 注意:同じデプロイメントを構成するすべての ArcGIS Enterprise コンポーネントは、同じ VPC にデプロイする必要があります。 VPC を作成する必要がある場合は、VPC のサンプル テンプレートのいずれか (パブリック サブネットを持つ VPC またはパブリックおよびプライベート サブネット、および NAT Gateway を持つ VPC) を使用できます。 |
Subnet ID 1 | 必須 | サブネット ID を選択します。 選択したサブネット ID は、上記で選択した VPC 内に含まれている必要があります。 Esri CloudFormation テンプレートを使用して VPC を作成した場合は、そのテンプレートの出力パラメーターからサブネット ID を取得できます。 |
Subnet ID 2 | 必須 | 2 つ目のサブネット ID を選択します。 これは、サブネット ID 1 パラメーターとは異なるサブネット ID でなくてはなりません。 選択したサブネット ID は、この配置に対して指定した VPC 内に含まれている必要があります。 Esri CloudFormation テンプレートを使用して VPC を作成した場合は、そのテンプレートの出力パラメーターからサブネット ID を取得できます。 |
Domain Name System (DNS) Configuration
パラメーター名 | 必須 | パラメーターの説明 |
---|---|---|
ArcGIS Server Site Domain Name | 必須 | ArcGIS Server サイトの完全修飾ドメイン名を指定します。 ドメイン名が存在しており、解決可能である必要があります。 使用するドメイン名が不明な場合は、IT 管理者にお問い合わせください。 |
Elastic Load Balancer DNS Name | オプション | 配置で ELB (Elastic Load Balancer) を使用するには、アプリケーションの値か、従来の ELB DNS 名を指定します。 この ELB はすでに存在している必要があります。 ELB を使用したくない場合、または後から自分で構成したい場合は、このパラメーター値を空のままにしておきます。 ELB DNS 名を取得するには、AWS Management Console 内の Amazon EC2 サービスの [Load Balancers (ロード バランサー)] セクションを参照します。あるいは、Esri CloudFormation テンプレートを使用して ELB を作成した場合は、テンプレートの出力パラメーターから取得することもできます。 有効な ELB DNS 名の末尾は .elb.amazonaws.com です。 |
ArcGIS Server Configuration
パラメーター名 | 必須 | パラメーターの説明 |
---|---|---|
EC2 Instance Type | 必須 | EC2 のインスタンス タイプを指定します。 デフォルトは m5.2xlarge です。 ArcGIS Server コンピューターで使用するインスタンス タイプです。 EC2 インスタンスは自動スケーリング グループに配置されます。 これらのコンピューターは、ArcGIS Server 構成ストアにアクセスすることで ArcGIS Server サイトに参加します。 |
EC2 Instance Root Drive Disk Space | 必須 | ArcGIS Server EC2 インスタンスのルート ドライブのディスク容量のサイズです。 ルート ドライブのサイズを GB 単位で指定します。 デフォルトは 100 GB です。 最小は 100 GB です。 最大は 1024 GB です。 |
Number of EC2 Instances | 必須 | サイトに追加する EC2 インスタンスの数を指定します。 デフォルトは 2 です。 最大は 10 です。 最小は 1 です。 サイトの EC2 インスタンスは、自動スケーリング グループに作成されます。 ここには、ディレクトリ ファイル サーバーは含まれません。 注意:ArcGIS GeoAnalytics Server サイトで推奨されるインスタンスの数は 1 または 3 です。 ArcGIS GeoAnalytics Server サイトを作成する場合は、デフォルトの EC2 インスタンス数を使用しないでください。 |
Deployment Bucket Name | 必須 | ソフトウェア ライセンス ファイルと SSL 証明書を含む Amazon S3 バケットの名前を指定します。 このバケットがすでに存在することと、配置用のライセンス ファイルおよび SSL 証明書が含まれていることが必要です。 ユーザーはバケットの所有者でなくてはならず、バケットは配置と同じ AWS アカウントにある必要があります。 |
Server License File Name | 必須 | ArcGIS Server 認証ファイル オブジェクト キー名を指定します。 このスタックを起動する前に、デプロイメント バケットにライセンス ファイル (.ecp または .prvc) をアップロードする必要があります。 Amazon S3 コンソールの配置バケット内にあるファイルを参照することで、ファイル オブジェクト キー名を取得できます。 たとえば、server.prvc や resources/licenses/server/server.prvc などがあります。 作成する ArcGIS Server サイトのタイプ (GIS Server、ArcGIS GeoAnalytics Server、ArcGIS Image Server) に対して適切なライセンス ファイルを使用する必要があります。 ライセンス ファイル名では大文字と小文字が区別されます。 名前が正しく入力されていることを確認します。 |
Site Administrator User Name | 必須 | ArcGIS Server プライマリ サイト管理者のユーザー名を指定します。 名前は 6 文字以上の英数字またはアンダースコア (_) を含み、先頭は文字にする必要があります。 |
Site Administrator User Password | 必須 | ArcGIS Server プライマリ サイト管理者のパスワードを指定します。 プレーン テキストのパスワードを入力することも、AWS Secrets Manager のシークレット ID の ARN を入力することもできます。 パスワード用の Amazon Resource Name を作成する方法については、「AWS CloudFormation および ArcGIS」をご参照ください。 パスワードには 8 文字以上の英数字を使用する必要があり、ドット (.) も使用できます。 パスワードには、その他の特殊文字やスペースは使用できません。 |
Windows arcgis user password | 条件 | arcgis ユーザーのパスワードを指定します。 arcgis ユーザーは、ArcGIS ソフトウェア サービスの実行に使用されるローカルの Windows ログインです。したがって、このパスワードは、Windows に配置する場合にのみ必須です。 プレーン テキストのパスワードを入力することも、AWS Secrets Manager のシークレット ID の ARN を入力することもできます。 |
Configuration Store Type | 必須 | ArcGIS Server 構成ストアを格納する場所を選択します。 デフォルトは [FileSystem] です。
注意:[CloudStore] を選択した場合でも、ArcGIS Server 共有ディレクトリをホスティングするために、ファイル サーバーが別途作成されます。DynamoDB の容量については、このページの「検討事項」セクションをご参照ください。 |
ArcGIS File Server Instance Type | 必須 | ArcGIS ファイル サーバーの EC2 インスタンス タイプを選択します。 デフォルトのインスタンス タイプは m5.2xlarge です。 |
ArcGIS File Server EC2 Instance Root Drive Disk Space | 必須 | ArcGIS ファイル サーバーの EC2 インスタンスのルート ドライブのディスク容量のサイズ。 ルート ドライブのサイズを GB 単位で指定します。 デフォルトは 100 GB です。 最小は 100 GB です。 最大は 1024 GB です。 |
Web Adaptor Name | オプション | ArcGIS Server サイトで ArcGIS Web Adaptor を使用するには、Web Adaptor 名を入力します。 ArcGIS Server サイトにアクセスするには、https://<fully qualified domain name>/<web adaptor name> という形式の URL を使用します。 名前の先頭は文字で、英数字のみで指定する必要があります。 ArcGIS Web Adaptor を使用しない場合や、サイトの URL の形式が https://<fully qualified domain name><PortNumber>/arcgis である場合は、このパラメーター値は空のままにしておきます。 |
SSL Certificate File Name | オプション | サイトに Web Adaptor を含める場合は、証明機関から取得した SSL 証明書 (.pfx ファイル) を指定できます。 証明書を指定した場合は、このスタックを起動する前に配置バケットにアップロードする必要があります。 AWS S3 コンソールの配置バケット内にあるファイルを参照することで、ファイル オブジェクト キー名を取得できます。 証明書名の例として、配置バケットのルート レベルに格納される証明書ファイルである domainname.pfx や、配置バケットのフォルダーに格納される証明書ファイルである resources/sslcerts/domainname.pfx が挙げられます。 Web Adaptor を使用するときに、このパラメーター値を空のままにしておくと、Web Adaptor では自動生成された自己署名証明書が使用されます。 |
SSL Certificate Password | 条件 | SSL 証明書のパスワードを指定します。 プレーン テキストのパスワードを入力することも、AWS Secrets Manager のシークレット ID の ARN を入力することもできます。 パスワード用の Amazon Resource Name を作成する方法については、「AWS CloudFormation および ArcGIS」をご参照ください。 |
出力
スタックの作成が成功した場合は、AWS Management Console の CloudFormation スタックの [Outputs (出力)] タブに、次の出力パラメーターが表示されます。
出力名 | 出力の説明 |
---|---|
DeploymentLogsURL | これは、すべての配置ログが格納される Amazon CloudWatch ログの URL です。 配置が失敗した場合は、これらのログをトラブルシューティングの際に参照できます。 |
ServerAdminDirURL | |
ServerManagerDirURL | |
ServerRestDirURL | |
ServerServicesURL | この URL をフェデレート サーバー テンプレートの入力パラメーターとして使用できます。 |
StopStackFunctionName | これは、[Stop Stack Lambda (スタック ラムダ停止)] 関数の URL です。 このラムダ関数を使用し、スタック内のすべての EC2 インスタンスを停止できます。 |
StartStackFunctionName | これは、[Start Stack Lambda (スタック ラムダ開始)] 関数の URL です。 このラムダ関数を使用し、以前に停止したスタック内のすべての EC2 インスタンスを開始できます。 |
検討事項
ArcGIS デプロイメントを含む CloudFormation スタックを作成した後に検討すべき重要な点は次のとおりです。
- 高可用性 ArcGIS Server 配置では、EC2 インスタンスは常に AWS の自動スケーリング グループに構成されます。 ArcGIS Server サイトが作成されると、自動スケーリング グループのサイズを調整することで、ArcGIS Server サイトにコンピューター (EC2 インスタンス) を追加できます。 AWS Management Console を使用して自動スケーリング グループの容量を増やし、コンピューターを追加できるようにします。 コンピューターを削除するには、容量を削減します。 ArcGIS Server サイトでコンピューターの追加と削除を行うために、自動スケーリング グループの容量制限を変更する手順については、AWS のドキュメントをご参照ください。
ヒント:
CloudFormation スタックに対して作成された AWS 自動スケーリング グループを見つけるには、関連する CloudFormation スタックの [Resources (リソース)] タブを確認してください。 リソースの論理 ID は [AutoScalingGroup] です。
技術的には、AWS 自動スケーリング グループのサイズをゼロに変更することは可能ですが、少なくとも 1 つのインスタンスを自動スケーリング グループで実行しておく必要があります。そうでなければ、ArcGIS Server サイトは正常に機能しない可能性があります。
グループの容量を変更すると、コンピューターの追加には最大で 1 時間、コンピューターの削除には最大で 15 分かかることがあります。 変更を適用したら、ArcGIS Server 管理者 API を使用し、ArcGIS Server サイトのコンピューター数が適切に増減されていることを確認します。
- このテンプレートで作成された ArcGIS Server サイトは、suspendedMachineUnregisterThreshold プロパティが無効になっています。つまり、サイト内のコンピューターが非アクティブの場合、そのコンピューターは自動的に登録解除されません。 サイトを配置したら、ArcGIS Server サイトの ArcGIS REST API の suspendedMachineUnregisterThreshold 値を変更して、操作が行われなかった期間を定義し、この期間 (分) が経過した時点で、コンピューターがサイトから登録解除されるようすることができます。 このプロパティの設定については、開発者ヘルプの「サーバー プロパティ」をご参照ください。
- ArcGIS GeoAnalytics Server サイトで推奨される EC2 インスタンスの数は 1 または 3 です。 インスタンスの数が多い場合または少ない場合、サイトが適切に機能しない場合があります。
- [Configuration Store Type (構成ストア タイプ)] パラメーターに [CloudStore (クラウドストア)] を選択した場合、Amazon DynamoDB のプロビジョニング容量の単位は次のように設定されます。
- 読み込み容量単位: 250 テーブル
- 書き込み容量単位: 25 テーブル
これらの設定の見積もり額は、月額 $36 ほどです。 Esri のテストでは、これらの設定では約 500 件の公開に適しています。 AWS Management Console でこの設定を編集し、単位を減らしてコストを削減したり、単位を増やして対応できるサービスを増やしたりできます。 十分な容量がなければ、公開などの機能は失敗することに注意してください。
- この CloudFormation テンプレートで作成された AWS リソースを削除しないでください。 このテンプレートで作成された AWS リソースを知りたい場合は、AWS Management Console のこのスタックの [Resource (リソース)] タブをご参照ください。 Esri CloudFormation テンプレートで作成された各リソースには、メタデータ タグも含まれています。 ただし、AWS Management Console では一部のリソースのタグが表示されません。
- サイト管理者のユーザー パスワードや Windows の arcgis ユーザー パスワードなどのパスワードを AWS Secrets Manager を使用して設定し、後で (デプロイメントの作成後に) それらのパスワードを変更する場合は、必ず、更新したパスワードを使用して適切な AWS Secrets Manager の ARN のパスワードを更新します。
- デプロイメントでアプリケーション ロード バランサーを使用する場合は、デプロイメントの作成後に、アプリケーション ロード バランサーのアイドル タイムアウトを調整できます。 たとえば、デプロイメント内のいずれかのコンピューターで、時間のかかる操作を確実に完了できるよう、アイドル タイムアウトを増やす必要があります。 AWS Management Console で、アプリケーション ロード バランサーのアイドル タイムアウトの値を調整します。
- スタックの出力 (このページの「出力」セクションを参照) に表示される AWS Lambda 関数を使用して、このスタックの EC2 インスタンスを使用していないときに停止し、必要に応じて再起動することができます。 これらの関数はコストの管理に役立ちます。
Lambda 関数を実行してデプロイメント内の EC2 インスタンスを停止すると、関数はインスタンスが停止されたことを示すメッセージを返します。 ただし、インスタンスが自動スケーリング グループに含まれている場合は、そのグループからインスタンスをデタッチする必要があります。 これには最大 10 分かかる場合があります。 このため、Lambda start 関数を実行してデプロイメントを再起動する前に、少なくとも 10 分待機してください。
注意:
自動スケーリング グループに含まれる EC2 インスタンスを停止および起動するには、Lambda 関数を使用する必要があります。 自動スケーリング グループでは、設定した容量に基づいてコンピューターが追加されるため、AWS Management Console を使用して自動スケーリング グループの EC2 インスタンスを停止すると、新しいインスタンスが追加されます。
トラブルシューティング
この CloudFormation スタックの作成時に障害が発生した場合は、「AWS における ArcGIS デプロイメントのトラブルシューティング」をご参照ください。