実行プレーンのアーキテクチャ¶
このセクションでは、Agora によって AWS アカウント内にプロビジョニングされる AWS エレメントについて詳しく説明するとともに、 Agora デプロイテンプレート を使用して作成されるエレメントの要約を示します。
Agora によってプロビジョニングされた AWS エレメントを識別する方法¶
Agora によって AWS アカウント内にプロビジョニングされた AWS エレメントの識別子は、Agora Solution Manager を使用して取得できます。Agora Solution Manager は、Agora サブスクリプションの [Environments] セクションで [Manage environments] ボタンを選択して開くことができます。
Agora Solution Manager で、[Environments] メニューから [Overview] オプションを選択すると、環境の 概要 が表示されます。クラスタの名前の横にある ボタンをクリックすると、Agora によってそのクラスタ用にプロビジョニングされた主な AWS エレメントの要約が表示されます。
[Overview] の各クラスタの [Actions] ドロップダウンには、 すべてのイベントを表示 するオプションが含まれています。このオプションを選択すると、[Cluster events] ページが開き、クラスタのすべてのイベントが表示されます。各イベントの
ボタンを選択すると、実行されたステップの詳細なリストを表示できます。ステップの [Output] ドロップダウンの下にある [Execution output] オプションを選択すると、そのステップでプロビジョニングされた AWS エレメントの詳細が表示されます。
たとえば、 クラウドクラスタの作成 イベント中に作成された特定の AWS エレメントを識別するには、そのイベントを展開して、表示される詳細を検索し、名前に目的の AWS エレメントが含まれるステップを見つけます。ステップの [Execution output] に、作成されたエレメントの AWS 識別子が表示されます。
次の図に、イベントステップ中に作成された Virtual DataPort ターゲットグループの AWS 識別子を見つける方法の例を示します。
Agora によってユーザーのアカウント内に作成される AWS エレメントのリスト¶
このセクションでは、Agora によってデプロイのために作成および使用されるすべての依存 AWS エレメントのリストを示します。Agora は IAM サービスのエレメントは一切作成しません。これらのエレメントはユーザーが作成して、後から Agora で使用できるようにする必要があります。
リストは 2 つのセクションに分かれており、1 つはコストが発生する AWS エレメントのリスト、もう 1 つはコストが発生しないエレメントのリストです。各エレメントには簡単な説明が提供されており、Agora のデプロイにおけるそのロールを要約しています。各エレメントの名前は、AWS の価格設定に関する詳細情報へのハイパーリンクになっています。
コストが発生しない AWS エレメント:
IAM::Role: Agora が引き受けるロール。Agora が残りの AWS エレメントを作成できるようにする十分な権限を持ちます。アクセスキーの管理と使用が不要になります。
IAM::InstanceProfile: ロールのインスタンスプロファイル。Solution Manager インスタンスが引き受けます。
IAM::Policy: ロールのポリシー。
EC2::VPC: 実行プレーンによって使用される VPC。オプションで、Agora でこの VPC を作成したり、既存の VPC を使用したりすることができます。
EC2::Subnet: 実行プレーンによって使用されるサブネット。オプションで、Agora でサブネットを作成したり、既存のサブネットを使用したりすることができます。パブリックサブネットとプライベートサブネットが必要です。
EC2::RouteTable: サブネットからのネットワークトラフィックの送信先を定義します。デプロイや再作成などの操作に使用します。
EC2::NetworkInterface: デプロイされたサービスおよび EC2 インスタンスのロードバランサーが VPC 仮想ネットワークに接続できるようにします。
EC2::SecurityGroup: 各サービスのポートのセキュリティグループ。たとえば、Denodo Virtual DataPort ではポート 9443 または 9090 です。
EC2::KeyPair: EC2 インスタンスにアクセスするために使用されます。オプションで、Agora でこのキーペアを作成したり、既存のキーペアを使用したりすることができます。
EC2::LaunchTemplate: インスタンスの起動を容易にするテンプレート。オートスケーリング が有効な場合にのみ使用されます。
AutoScaling::AutoScalingGroup: オートスケーリングが有効になっている場合にも作成され、EC2 インスタンスをグループ化してオートスケーリング時に使用できるようにします。
ElasticLoadBalancingV2::TargetGroup: Denodo サービスのポートをグループ化するために作成され、ロードバランサーが受信したリクエストのルーティング先のターゲットとして機能します。
ElasticLoadBalancingV2::Listener: 受信リクエストを確認し、ターゲットグループにルーティングするために作成されます。
コストが発生する AWS エレメント:
EC2::InternetGateway: インターネットとの間の VPC 接続を許可します。コストはトラフィック量に依存します。詳細については、リンク先の「 データ転送 」のセクションを参照してください。
EC2::NatGateway: プライベートサブネットからパブリックインターネットへの接続を許可するために必要です。
EC2::Elastic IP: インターネットとインスタンス間のパブリック通信に使用されます。
EC2::Instance: Denodo サービスをホストするインスタンス。
EC2::Volume: インスタンスの EBS (Elastic Block Storage) ボリューム。
EC2::Ami: AMI は、TLS や一部のプロセス (実行プレーンの更新など) を構成するために作成されます。AMI では直接的なコストは発生しませんが、EBS スナップショットが必要になり、このためにコストが発生します。
ElasticLoadBalancingV2::LoadBalancer: 複数のインスタンス間でトラフィックを分散させます。インターネット接続を選択した場合、IPv4 パブリックアドレスが割り当てられ、料金が発生します。Data Marketplace では、インターネット接続がデフォルトで有効になっています。
Agora 本番テンプレートを使用してデプロイする際に作成される AWS エレメント¶
例として、Agora 本番テンプレートによるデプロイを使用します。このテンプレートは 3 つの環境をデプロイします。1 つは開発用の環境で、Virtual DataPort が 1 つと Data Marketplace が 1 つ含まれます。残りの 2 つはステージング環境と本番環境で、どちらにも Virtual DataPort が 1 つ、Data Marketplace が 1 つ、およびScheduler が 1 つ含まれます。この例では、新しい VPC、サブネット、キーペアを作成することを選択します。
AWS エレメント |
エレメントの最大数 |
|---|---|
IAM サービスのエレメント |
|
IAM::Role |
1 |
IAM::InstanceProfile |
1 |
IAM::Policy |
1 |
ネットワークエレメント |
|
EC2::VPC |
3 |
EC2::Subnet |
6 |
EC2::InternetGateway |
3 |
EC2::RouteTable |
6 |
EC2::NatGateway |
3 |
EC2::EIP |
1 |
EC2 サービスのエレメント |
|
EC2::KeyPair |
3 |
Virtual DataPort サービスに関連する EC2 エレメント |
|
ElasticLoadBalancingV2::LoadBalancer |
3 |
ElasticLoadBalancingV2::TargetGroup |
9 |
ElasticLoadBalancingV2::Listener |
9 |
EC2::NetworkInterface |
3 |
EC2::SecurityGroup |
21 |
AutoScaling::AutoScalingGroup |
3 |
EC2::LaunchTemplate |
3 |
EC2::Instance |
3 |
EC2::NetworkInterface |
3 |
EC2::Ami |
3* |
EC2::Volume |
9 |
Data Marketplace サービスに関連する EC2 エレメント |
|
ElasticLoadBalancingV2::LoadBalancer |
3 |
ElasticLoadBalancingV2::TargetGroup |
3 |
ElasticLoadBalancingV2::Listener |
3 |
EC2::NetworkInterface |
3 |
EC2::SecurityGroup |
6 |
AutoScaling::AutoScalingGroup |
3 |
EC2::LaunchTemplate |
3 |
EC2::Instance |
3 |
EC2::NetworkInterface |
3 |
EC2::Ami |
3* |
EC2::Volume |
3 |
Scheduler サービスに関連する EC2 エレメント |
|
ElasticLoadBalancingV2::LoadBalancer |
2 |
ElasticLoadBalancingV2::TargetGroup |
2 |
ElasticLoadBalancingV2::Listener |
2 |
EC2::NetworkInterface |
2 |
EC2::SecurityGroup |
4 |
EC2::Instance |
2 |
EC2::NetworkInterface |
2 |
EC2::Ami |
2* |
EC2::Volume |
2 |
注釈
* : 最初のデプロイ時には、Denodo サービスごとに 1 つの AMI が作成されます。サーバーからの再作成 や実行プレーンの更新などの操作でも、サービス用の新しい AMI が生成されます。
