Esri arcgis-notebook-server-ha.template.json Amazon Web Services (AWS) CloudFormation テンプレートは、高可用性を提供するために複数の Linux Amazon Elastic Compute Cloud (EC2) インスタンス上に ArcGIS Notebook Server サイトを作成します。
EC2 インスタンスは AWS 自動スケーリング グループに配置されます。これは、一定の条件に基づく容量計画、優れた耐障害性、高い可用性、より効果的なコスト管理などのメリットをもたらします。
AWS の ArcGIS Notebook Server サイトは、Linux インスタンスでのみサポートされています。
特定のオペレーティング システムのバージョンについては、「CloudFormation を使用して AWS に ArcGIS を配置する際にサポートされているオペレーティング システム」をご参照ください。
このテンプレートは、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 Notebook Server ライセンス ファイル (*.ecp または *.prvc)。
- SSL 認証ファイル (.pfx 形式) およびそれに対応するパスワード
証明書は証明局から取得する必要があります。
- AWS GovCloud の Ubuntu EC2 インスタンスにデプロイメントを作成する場合は、AMI ID が必要です。 Canonical によるベース Ubuntu AMI を使用する場合は、Esri Amazon Web Services CloudFormation テンプレートの手順に従って ID を特定します。
- Amazon Virtual Private Cloud (VPC) とサブネット。
同じ ArcGIS Enterprise デプロイメントのすべてのコンポーネントは、同じ VPC で実行される必要があります。 ポータルが存在する場合は、ポータルに使用したのと同じ VPC およびサブネットを使用します。 まだポータルを作成しておらず、既存の VPC が存在しない場合は、2 つのパブリック サブネットを含む VPC、または NAT ゲートウェイを備えた 2 つのパブリック サブネットおよびプライベート サブネットを含む VPC のいずれかの CloudFormation テンプレートを使用して VPC を作成できます。
- arcgis-notebook-server-ha.template.json CloudFormation テンプレート
必須タスク
このテンプレートを実行する前に、次のタスクを実行する必要があります。
- AWS アカウントにデプロイメントの Amazon Simple Storage Service (S3) バケットを準備します。 スタックを起動するときに、テンプレートのバケット名を指定します。
- バケットを作成するか、既存の S3 バケットを使用します。 ユーザーはバケットの所有者でなくてはなりません。
- バケットに ArcGIS Notebook Server 認証ファイルをアップロードします。
- SSL 証明書ファイルをバケットにアップロードします。
- 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」をご参照ください。
- DNS (ドメイン名システム) を構成します。
ArcGIS Notebook Server サイトの完全修飾ドメイン名が必要です。 このスタックを起動する前にドメイン名が存在しており、解決可能である必要があります。 完全修飾ドメイン名の取得と、DNS の構成の方法がわからない場合は、IT 部門にお問い合わせください。
ArcGIS Notebook Server 配置で ELB (Elastic Load Balancer) を使用する場合 (オプション)、ArcGIS Notebook Server サイトを作成する前に ELB を作成する必要があります。 アプリケーション ロード バランサーのみがサポートされています。 アプリケーション ロード バランサー テンプレートを使用して作成します。
- Red Hat Enterprise Linux Server EC2 インスタンスに配置した場合、Docker をインストールして構成する必要があります。 手順については、ArcGIS Notebook Server Linux インストール ガイドをご参照ください。
ヒント:
デフォルトでは、スタックの作成に失敗すると、CloudFormation は部分的に作成されたリソースを削除します。 これにより、使用できないデプロイメントがアカウントから削除されるため便利ですが、トラブルシューティングが難しくなる可能性もあります。 スタックを失敗した状態で保持するには、スタックを起動する前に CloudFormation スタック作成オプションの [Rollback on failure (失敗時にロールバックする)] を無効にします。 詳細については、AWS ヘルプの「Setting AWS CloudFormation options (AWS CloudFormation オプションの設定)」をご参照ください。
パラメーター
この CloudFormation テンプレートで使用されるパラメーターの説明については、次の表をご参照ください。 表はパラメーターのタイプ別に分けられています。
Amazon EC2 Configuration
パラメーター名 | 必須 | パラメーターの説明 |
---|---|---|
EC2 Instance AMI ID | オプション | このパラメーター値は空のままにしておいてもかまいません。 その場合、CloudFormation テンプレートでは、Ubuntu Server 20.0.4 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 キーペア名を選択します。 |
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 Notebook Server Site Domain Name | 必須 | ArcGIS Notebook Server サイトの完全修飾ドメイン名を指定します。 ドメイン名が存在しており、解決可能である必要があります。 使用するドメイン名が不明な場合は、IT 管理者にお問い合わせください。 |
Elastic Load Balancer DNS Name | オプション | サイトで ELB を使用するには、アプリケーションまたは ELB の DNS 名の値を指定します。 既存の ELB でなくてはなりません。 ELB を使用したくない場合、または後から自分で構成したい場合は、このパラメーター値を空のままにしておきます。 ELB DNS 名を取得するには、AWS Management Console 内の Amazon EC2 サービスの [Load Balancers (ロード バランサー)] セクションを参照します。あるいは、Esri CloudFormation テンプレートを使用して ELB を作成した場合は、テンプレートの出力パラメーターから取得することもできます。 有効な ELB DNS 名の末尾は .elb.amazonaws.com です。 |
ArcGIS Notebook Server Configuration
パラメーター名 | 必須 | パラメーターの説明 |
---|---|---|
EC2 Instance Type | 必須 | EC2 のインスタンス タイプを指定します。 デフォルトは m5.2xlarge です。 ArcGIS Notebook Server コンピューターで使用するインスタンス タイプです。 EC2 インスタンスは AWS 自動スケーリング グループに構成されます。 これらのインスタンスは、ArcGIS Notebook Server 構成ストアにアクセスすることで ArcGIS Notebook Server サイトに参加します。 |
EC2 Instance Root Drive Disk Space | 必須 | ArcGIS Notebook Server EC2 インスタンスのルート ドライブのディスク容量のサイズです。 ルート ドライブのサイズを GB 単位で指定します。 デフォルトは 100 GB です。 最小は 100 GB です。 最大は 1024 GB です。 |
Number of EC2 Instances | 必須 | サイトに追加する EC2 インスタンスの数を指定します。 デフォルトは 2 です。 最大は 10 です。 最小は 1 です。 EC2 インスタンスは AWS 自動スケーリング グループに構成されます。 自動スケーリング グループのサイズ変更に関する詳細については、以下の「検討事項」のセクションをご参照ください。 |
Deployment Bucket Name | 必須 | ソフトウェア ライセンス ファイルと SSL 証明書を含む Amazon S3 バケットの名前を指定します。 このバケットがすでに存在することと、配置用のライセンス ファイルおよび SSL 証明書が含まれていることが必要です。 ユーザーはバケットの所有者でなくてはならず、バケットは配置と同じ AWS アカウントにある必要があります。 |
License File Name | 必須 | ArcGIS Notebook Server 認証ファイル オブジェクト キー名を指定します。 このスタックを起動する前に、デプロイメント バケットにライセンス ファイル (.ecp または .prvc) をアップロードする必要があります。 Amazon S3 コンソールの配置バケット内にあるファイルを参照することで、ファイル オブジェクト キー名を取得できます。 たとえば、notebook.prvc や resources/licenses/server/notebook.prvc などがあります。 ライセンス ファイル名では大文字と小文字が区別されます。 名前が正しく入力されていることを確認します。 |
License Level | 必須 | ArcGIS Notebook Server ライセンス レベルを選択します。 次のようなオプションがあります。
|
Site Administrator User Name | 必須 | ArcGIS Notebook Server サイトのプライマリ サイト管理者のユーザー名を指定します。 名前は 6 文字以上の英数字またはアンダースコア (_) を含み、先頭は文字にする必要があります。 |
Site Administrator User Password | 必須 | ArcGIS Notebook Server サイトのプライマリ サイト管理者のパスワードを指定します。 プレーン テキストのパスワードを入力することも、AWS Secrets Manager のシークレット ID の ARN を入力することもできます。 パスワード用の Amazon Resource Name を作成する方法については、「AWS CloudFormation および ArcGIS」をご参照ください。 パスワードには 8 文字以上の英数字を使用する必要があり、ドット (.) も使用できます。 パスワードには、その他の特殊文字やスペースは使用できません。 |
Configuration Store Type | 必須 | ArcGIS Notebook Server 構成ストア タイプを選択します。 デフォルトは [FileSystem] です。
注意:[CloudStore] を選択した場合でも、ArcGIS Notebook Server 共有ディレクトリをホスティングするために、ファイル サーバーが別途作成されます。 |
Web Adaptor Name | 必須 | ArcGIS Notebook Server サイトの Web Adaptor の名前を入力します。 ArcGIS Notebook Server サイトにアクセスするには、https://<fully qualified domain name>/<web adaptor name> という形式の URL を使用します。 名前の先頭は文字で、英数字のみで指定する必要があります。 |
SSL Certificate File Name | 必須 | 証明機関から取得した SSL 証明書 (.pfx ファイル) を指定します。 このスタックを起動する前に、配置バケットに証明書をアップロードする必要があります。 AWS S3 コンソールの配置バケット内にあるファイルを参照することで、ファイル オブジェクト キー名を取得できます (domainname.pfx や resources/sslcerts/domainname.pfx など)。 |
SSL Certificate Password | 必須 | SSL 証明書のパスワードを指定します。 プレーン テキストのパスワードを入力することも、AWS Secrets Manager のシークレット ID の ARN を入力することもできます。 パスワード用の Amazon Resource Name を作成する方法については、「AWS CloudFormation および ArcGIS」をご参照ください。 |
出力
スタックの作成が成功した場合は、AWS Management Console の CloudFormation スタックの [Outputs (出力)] タブに、次の出力パラメーターが表示されます。
出力名 | 出力の説明 |
---|---|
DeploymentLogsURL | これは、すべての配置ログが格納される Amazon CloudWatch ログの URL です。 配置が失敗した場合は、これらのログをトラブルシューティングの際に参照できます。 |
ServerAdminURL | ArcGIS Notebook Server Administrator Directory の URL。 |
ServerServicesURL | ArcGIS Notebook Server サービスの URL。 この URL をフェデレート サーバー テンプレートの入力パラメーターとして使用できます。 |
StopStackFunctionName | これは、[Stop Stack Lambda (スタック ラムダ停止)] 関数の URL です。 このラムダ関数を使用し、スタック内のすべての EC2 インスタンスを停止できます。 |
StartStackFunctionName | これは、[Start Stack Lambda (スタック ラムダ開始)] 関数の URL です。 このラムダ関数を使用し、以前に停止したスタック内のすべての EC2 インスタンスを開始できます。 |
検討事項
ArcGIS デプロイメントを含む CloudFormation スタックを作成した後に検討すべき重要な点は次のとおりです。
- 高可用性 ArcGIS Notebook Server 配置では、EC2 インスタンスは AWS の自動スケーリング グループに構成されます。 ArcGIS Notebook Server サイトが作成されると、自動スケーリング グループのサイズを調整することで、サイトにコンピューター (EC2 インスタンス) を追加できます。 AWS Management Console を使用して自動スケーリング グループの容量を増やし、コンピューターを追加できるようにします。 コンピューターを削除するには、容量を削減します。 ArcGIS Notebook Server サイトでコンピューターの追加と削除を行うために、自動スケーリング グループの容量制限を変更する手順については、AWS のドキュメントをご参照ください。
ヒント:
CloudFormation スタックに対して作成された AWS 自動スケーリング グループを見つけるには、関連する CloudFormation スタックの [Resources (リソース)] タブを確認してください。 リソースの論理 ID は [AutoScalingGroup] です。
技術的には、AWS 自動スケーリング グループのサイズをゼロに変更することは可能ですが、少なくとも 1 つのインスタンスを自動スケーリング グループで実行しておく必要があります。そうでなければ、ArcGIS Notebook Server サイトは正常に機能しない可能性があります。
グループの容量を変更すると、コンピューターの追加には最大で 1 時間、コンピューターの削除には最大で 15 分かかることがあります。 変更を適用したら、ArcGIS Server 管理者 API を使用し、ArcGIS Server サイトのコンピューター数が適切に増減されていることを確認します。
- この 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 デプロイメントのトラブルシューティング」をご参照ください。