Skip To Content

アマゾン ウェブ サービスでの GIS サーバー サイトの構築

ArcGIS Server Cloud Builder on Amazon Web Services は、AWS (アマゾン ウェブ サービス) での ArcGIS Server サイトの構築に役立つ、ダウンロード提供されるデスクトップ アプリケーションです。以下の手順では、Cloud Builder を使用してサイトを作成する方法について説明します。

ArcGIS Server Cloud Builder on Amazon Web Services の構成

ArcGIS Server Cloud Builder on Amazon Web Services を使用するには、以下が必要です。

  • Amazon アカウント
  • ArcGIS for Server AMI (Amazon Machine Images)

    注意:

    AMI を初めて使用する前に、AWS Marketplace で利用条件に同意する必要があります。

  • Amazon IAM (Identity and Access Management) サービス ポリシーおよびユーザー
  • IAM ユーザーのアクセス キーシークレット アクセス キー
  • ArcGIS Server Cloud Builder on Amazon Web Services アプリケーション
  • ArcGIS for Server ライセンス ファイル
  1. ArcGIS Server Cloud Builder on Amazon Web Services をダウンロードおよびインストールして、起動します。

    Cloud Builder のダウンロードにアクセスするには、My Esri にログインします。このサイトには、他の Esri ソフトウェアのダウンロードのリストも掲載されています。ダウンロードを表示するには、ArcGIS for Server を購入している必要があります。

  2. AWS マネジメント コンソールにログインして、次のリソース権限を含む IAM グループ ポリシーを作成します。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "iam:GetUser",
                    "iam:ListServerCertificates",
                    "iam:UploadServerCertificate"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": "s3:*",
                "Resource": [
                    "arn:aws:s3:::arcgis101-sites-*",
                    "arn:aws:s3:::arcgis101sp1-sites-*",
                    "arn:aws:s3:::arcgis101sp2-sites-*",
                    "arn:aws:s3:::arcgis102-sites-*",
                    "arn:aws:s3:::arcgis1021-sites-*",
                    "arn:aws:s3:::arcgis1031-sites-*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ec2:AttachInternetGateway",
                    "ec2:AuthorizeSecurityGroupIngress",
                    "ec2:CreateImage",
                    "ec2:CreateInternetGateway",
                    "ec2:CreateKeyPair",
                    "ec2:CreateRoute",
                    "ec2:CreateSecurityGroup",
                    "ec2:CreateSubnet",
                    "ec2:CreateTags",
                    "ec2:CreateVpc",
                    "ec2:DeleteSecurityGroup",
                    "ec2:DeleteSnapshot",
                    "ec2:DeregisterImage",
                    "ec2:DescribeAvailabilityZones",
                    "ec2:DescribeImages",
                    "ec2:DescribeInstances",
                    "ec2:DescribeKeyPairs",
                    "ec2:DescribeRegions",
                    "ec2:DescribeRouteTables",
                    "ec2:DescribeSecurityGroups",
                    "ec2:DescribeSubnets",
                    "ec2:DescribeVolumes",
                    "ec2:DescribeVpcs",
                    "ec2:ModifyImageAttribute",
                    "ec2:ModifyInstanceAttribute",
                    "ec2:RunInstances",
                    "ec2:StartInstances",
                    "ec2:StopInstances",
                    "ec2:TerminateInstances"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "elasticloadbalancing:ConfigureHealthCheck",
                    "elasticloadbalancing:CreateLoadBalancer",
                    "elasticloadbalancing:CreateLoadBalancerListeners",
                    "elasticloadbalancing:DeleteLoadBalancer",
                    "elasticloadbalancing:DeleteLoadBalancerListeners",
                    "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
                    "elasticloadbalancing:DescribeInstanceHealth",
                    "elasticloadbalancing:DescribeLoadBalancers",
                    "elasticloadbalancing:RegisterInstancesWithLoadBalancer"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "cloudwatch:PutMetricAlarm",
                    "cloudwatch:DescribeAlarms",
                    "cloudwatch:DeleteAlarms"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "autoscaling:CreateAutoScalingGroup",
                    "autoscaling:CreateLaunchConfiguration",
                    "autoscaling:DeleteAutoScalingGroup",
                    "autoscaling:DeleteLaunchConfiguration",
                    "autoscaling:DeletePolicy",
                    "autoscaling:DescribeAutoScalingGroups",
                    "autoscaling:DescribeAutoScalingInstances",
                    "autoscaling:DescribeLaunchConfigurations",
                    "autoscaling:DescribePolicies",
                    "autoscaling:DescribeScalingActivities",
                    "autoscaling:PutScalingPolicy",
                    "autoscaling:UpdateAutoScalingGroup"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "rds:AddTagsToResource",
                    "rds:AuthorizeDBSecurityGroupIngress",
                    "rds:CreateDBInstance",
                    "rds:CreateDBSecurityGroup",
                    "rds:CreateDBSnapshot",
                    "rds:CreateDBSubnetGroup",
                    "rds:CreateOptionGroup",
                    "rds:DeleteDBInstance",
                    "rds:DeleteDBSecurityGroup",
                    "rds:DeleteDBSnapshot",
                    "rds:DeleteOptionGroup",
                    "rds:DescribeDBInstances",
                    "rds:DescribeDBSnapshots",
                    "rds:DescribeDBSecurityGroups",
                    "rds:DescribeOptionGroups",
    		"rds:DescribeDBSubnetGroups",
                    "rds:ModifyDBInstance",
                    "rds:ModifyOptionGroup",
                    "rds:RestoreDBInstanceFromDBSnapshot"
                ],
                "Resource": "*"
            }
        ]
    }

  3. IAM ユーザーを作成して、このポリシーをユーザーにアタッチします。
  4. IAM ユーザーを作成するときは、ユーザーのアクセス キーシークレット アクセス キーをダウンロードします。

    注意:

    ユーザーの作成時にダウンロードできるのは、アクセス キーシークレット アクセス キーのみです。

  5. IAM ユーザーに属するアクセス キーシークレット アクセス キーを使用してログインします。

AWS インスタンスの起動

ArcGIS Server Cloud Builder on Amazon Web Services で一連の手順を実行して AWS インスタンスを作成します。

一般設定

  1. [サイト] タブをクリックし、[サイトの作成] をクリックします。
  2. サイトの名前と説明を入力します。

    この名前は、AWS でユーザーのためにアプリにより作成されるさまざまなリソースに適用されます。これにより、ユーザーはこれらのリソースを簡単に識別できます。

  3. [ソフトウェア] ドロップダウン リストを使用して、インスタンスの起動に使用する AMI を選択します。Esri のアカウントと共有された Windows AMI または Ubuntu Linux AMI を使用するか、独自のソフトウェア、データ、およびサービスを含むようにすでに構成されているサイト テンプレートを使用することができます。
  4. サイトで使用するライセンスのための、Esri ライセンス ファイル (拡張子 .prvc) を参照します。* .prvcファイルの作成については、「よくあるご質問 (FAQ)」をご参照ください。
  5. [次へ] をクリックして、次のパネルに進みます。

アマゾン ウェブ サービスの設定

サイトの AWS の設定を定義します。

  1. サイトで使用する AWS のリージョンを選択します。

    リージョンは、世界の特定地域にある Amazon データ センター コンプレックスを表します。サイトをリージョン間で分散することはできません。ただし、冗長性のために、別のリージョンに第 2 のサイトを維持することはできます。

  2. 新しい、もしくは既存の Amazon EPC-VPC (仮想プライベート クラウド) で起動することを選択します。
    • アマゾン ウェブ サービス コンソールで作成した VPC を使用することができます。Cloud Builder は、指定した既存の VPC の既存のサブネットを検出します。
    • 使用したい既存の VPC がない場合は、新しい VPC を作成するオプションを選択します。Cloud Builder は、有効なアベイラビリティ ゾーンそれぞれに VPC とサブネットを作成します。
  3. このサイトで使用するキー ペアを選択します。サイト内のいずれかのインスタンスにログインする場合、キー ペアが必要になります。既存のキー ペア ファイルを使用するか、新しいキー ペア ファイルを作成することができます。
    • 既存のキー ペアを使用する場合は、ドロップダウン リストからいずれかのキー ペアを選択します。このリストには、操作を行っているリージョンからのキー ペアのみが含まれます。
    • 新しいキー ペアを作成した場合、*.pem ファイルが Windows の Documents フォルダーの ArcGISCloudBuilder の下に配置されます。たとえば、キー ペア ファイルへのパスは、「C:\Users\username\Documents\ArcGISCloudBuilder\arcgis-TestSite.pem」のようになります。このファイルをセキュリティで保護された場所に移動し、今後使用できるようにする必要があります。
  4. [次へ] をクリックして、次のパネルに進みます。

ArcGIS Server インスタンスの設定

ArcGIS Server となるインスタンスの設定を行います。

注意:

選択するインスタンスの種類、およびインスタンスの最小数および最大数は、AWS による課金に大きく影響します。これらの設定を選択する前に、サイトの使用率と、その使用率に対応するために必要なサーバーの能力を慎重に推定してください。

  1. サイトで使用するインスタンスの種類を選択します。

    利用できるインスタンスは、使用するリージョンによって若干異なります。ただし、マイクロ インスタンスは、ArcGIS Server の最低メモリ要件を満たしていないため、いずれのリージョンでも利用できません。

  2. サイト内の各 GIS サーバー インスタンスにアタッチする Amazon EBS (Elastic Block Store) ボリュームのサイズを選択します。この EBS ボリュームは、データをアップロードできるローカル ディスク ドライブとして表示されます。ArcGIS Server の構成ストアとサーバー ディレクトリも、いずれかのインスタンス上にあるこのドライブに配置されます。
  3. ルート ドライブとアタッチされた EBS ボリュームをサイトの終了時に削除するかどうかを選択します。

    ドライブを残した場合、今後、それらのドライブを他のサイトにアタッチできます。ただし、不要になった場合、それらのドライブを手動で削除する必要があることに注意してください。ドライブが存在する限り、それらに対して課金が発生します。

  4. 以下の 2 つの手順は、ArcGIS for Server エンタープライズ ライセンスを使用するサイトのみに適用されます。

  5. サイトに追加する AWS インスタンスの数を選択します。

    [インスタンス数] プロパティは、サイトを作成したときに起動されるインスタンスの最小数を表します。

    ライセンス:

    CPU がクラウド内にあるか、オンプレミスにあるかに関係なく、Esri でライセンスされた数よりも多くの CPU コア上で ArcGIS Server を実行することはできません。また、Cloud Builder を使用して起動される AWS インスタンスおよび他のリソースに対して課金されるすべてのアマゾン ウェブ サービス料金にユーザーは支払い責任があることも理解してください。

  6. 必要に応じて、指定した使用率のトリガーに基づいて新しい AWS インスタンスを自動的に起動または終了するために、[オートスケールを有効化] をオンにします。

    オートスケールはサイトの使用状況を監視し、CPU の使用率と持続時間に基づいて、インスタンスを追加または削除します。ユーザーとアプリケーションからのサイトへのアクセスが増加すると、インスタンスがサイトに追加されます。アクセス要求が減少すると、インスタンスは削除されます。インスタンス数は、[インスタンス数] で指定した数よりも少なくならず、[インスタンスの最大数] で指定した数を超えることはありません。

    Amazon CloudWatch は、インスタンスで CPU モニターリングを実行し、オートスケールをトリガーできるようにするサービスです。オートスケールを有効化した場合、CloudWatch サービスに適用された追加料金が表示されます。

    1. 起動できる [インスタンスの最大数] を設定します。
    2. サイトからのインスタンスの削除を引き起こす CPU の使用率と持続時間を指定します。
    3. サイトへのインスタンスの追加を引き起こす CPU の使用率と持続時間を指定します。

    たとえば、デフォルトの設定にした場合、連続する 5 分の間に CPU 使用率が 80% を超えると、指定したインスタンスの最大数に到達しない限り、新しい GIS サーバー インスタンスがサイトに追加されます。連続する 5 分の間に CPU 使用率が 20% 未満になると、指定した最初のインスタンス数にサイトが減らされていない限り、GIS サーバー インスタンスがサイトから削除され、終了します。

  7. [次へ] をクリックして、次のパネルに進みます。

ジオデータベースの設定

[エンタープライズ ジオデータベースを含む] をオンにして、ジオデータベースをサイトに含めることができます。リレーショナル データベース管理システムの選択肢は、どの AMI と ArcGIS Server ライセンスを使用してサイトを起動しているかに応じて変わります。

  • ArcGIS for Server Workgroup ライセンスを使用している場合は、ArcGIS Server EC2 インスタンス上の Microsoft SQL Server Express を含むサイトを作成できます。
  • ArcGIS for Server Enterprise ライセンスと ArcGIS for Server (Ubuntu Linux) AMI を使用している場合、以下のいずれかを含むサイトを作成できます。
    • ArcGIS Server EC2 インスタンス上の PostgreSQL
    • 専用 EC2 インスタンス上の PostgreSQL
    • Amazon RDS for PostgreSQL
  • ArcGIS for Server Enterprise ライセンスと ArcGIS for Server (Windows) AMI を使用している場合、以下のいずれかを含むサイトを作成できます。
    • ArcGIS Server EC2 インスタンス上の Microsoft SQL Server Express
    • ArcGIS Server EC2 インスタンス上の Microsoft SQL Server Standard
    • 独自の専用 EC2 インスタンス上の Microsoft SQL Server Standard
    • Amazon RDS for Microsoft SQL Server
    • Amazon RDS for PostgreSQL

独自の専用 EC2 インスタンス上でリレーショナル データベース管理システムを実行する場合、インスタンスの種類、EBS ボリューム サイズ、およびサイトの終了時にボリュームを削除する必要があるかどうかを指定する必要があります。これらの設定は、すべて Amazon アカウントへの課金に影響しますので注意してください。

Amazon RDS for Microsoft SQL Server および Amazon RDS for PostgreSQL は、常に独自の専用インスタンス上で実行されます。これに対してインスタンス クラスを指定し、ストレージ サイズを割り当てる必要があります。サブネット グループを追加で選択する必要があります。

選択が完了したら、[次へ] をクリックして次のパネルに進みます。

セキュリティ設定

ArcGIS Server のプライマリ サイト管理者を作成する必要があります。通信が暗号化されている場合、SSL 証明書を指定することもできます。

  1. ArcGIS Server のプライマリ サイト管理者のアカウントで使用するユーザー名とパスワードを入力します。

    プライマリ サイト管理者はオペレーティング システムのアカウントではありません。この時点で作成した ArcGIS Server に組み込まれたアカウントです。サイトのセキュリティをさらに設定できるようになるまで、このアカウントを使用して ArcGIS Server Manager にログインし、サーバーに接続します。

    パスワードは、8 ~ 16 文字の長さにする必要があり、スラッシュ (/) または (@) 記号を使用できません。

    サイトの Amazon RDS for SQL Server にエンタープライズ ジオデータベースを含める場合、プライマリ サイト管理者に使用するパスワードを、ジオデータベースで必要となるデータベース ユーザーにも使用する必要があります。

  2. サイトを作成するときに、SSL 証明書をインストールするかどうかを選択します。これにより、サイトとの暗号化された通信が可能になります。このオプションの詳細については、「Cloud Builder の使用による SSL の設定」をご参照ください。
  3. [次へ] をクリックして、サマリー パネルに進みます。

設定の確認とサイトの作成

サイトの設定を確認します。[戻る] をクリックして前のパネルを変更するか、[完了] をクリックしてサイトを作成します。

サイトの作成には、しばらく時間がかかる場合があります。サイトを作成中に、アプリケーションで実行している内容について説明する一連のメッセージが表示されます。

注意:

サイトの作成が完了するまで、Cloud Builder にログインしている必要があります。

指定したリソースを含むサイトが、EC2 上に作成されます。これらのリソースには、Amazon CloudWatch を有効にした 1 つ以上のインスタンス、EBS ボリューム、および Elastic Load Balancer (ELB) が含まれます。これらのリソースには、即座に課金が開始されます。これらのリソースの費用については、http://aws.amazon.com/pricing/ec2 をご参照ください。

次の手順

サーバーに接続してデータを読み込み、公開する必要があります。詳細については、「サイトの使用」をご参照ください。

デフォルトでは、インスタンスへのリモート アクセスは有効化されません。EC2 インスタンスのいずれかにログインする場合、以下のトピックをご参照ください。

ジオデータベースが PostgreSQL に含まれるサイトでは、セキュリティ上の理由によりパスワードを変更することも必要になります。Windows インスタンス上の管理者ログインのパスワードを変更することもできます。