AWSとのリアルタイムの同期を構成する

早期アクセスリリース

リアルタイムの同期により、Advanced Server AccessはAWSで生成されたインスタンスイベントのコンピューティングをサブスクライブできます。通常、サーバー検出は毎日行われますが、この機能ではAdvanced Server Accessが通知を受信した直後にサーバーを追加または削除できます。リアルタイムの同期は、特定プロジェクト内の指定したクラウドアカウントに関連付けられているエンドポイントに対し、AWS ExentBridgeによるwebhookイベントの送信を有効にすることで機能します。

イベントは通常コンピューティングインスタンスが開始または終了した際に生成されます。開始イベントの場合、Advanced Server Accessは関連プロジェクトに対して自動的にサーバーを追加します。ユーザーが接続可能になる前に、検出済みのサーバーにAdvanced Server Accessサーバーエージェントをインストールする必要があります。終了イベントの場合、Advanced Server Accessはプロジェクトのインベントリからサーバーを自動的に削除します。

  • サーバーの変更がAdvanced Server Accessに同期されるまで、10分ほどかかる場合があります。
  • イベントブリッジの領域間イベントを使用してイベントを単一の領域に一元化しない限り、サーバーを含む各AWS領域に対して個別のルールを構成する必要があります。
  1. プロジェクトの詳細情報を確認します。
    1. Advanced Server Access Admin Consoleに移動します。
    2. [Projects(プロジェクト)]ページに移動してプロジェクトを選択します。
    3. [Enrollment(登録)]タブに移動してAWSアカウントを選択します。
    4. [Instance Lifecycle Monitoring(インスタンスライフサイクル監視)]で、[Create Client ID(クライアントIDを作成する)]、[Secret(シークレット)]をクリックします。
    5. [Client Secret Created(作成したクライアントシークレット)]ウィンドウでクライアントIDとシークレットを保存します。
      注:ウィンドウを閉じた後にこの情報を取得することはできません。この情報をなくした場合、新しいクライアントIDとシークレットを生成する必要があります。
    6. [OK]をクリックします。
    7. 後で使用するためにWebhook URLを記録します。
  2. 接続を作成します。
    1. Amazon EventBridgeコンソールに移動します。
    2. [API destinations(API送信先)]ページに移動します。
    3. [Connections(接続)]タブに移動して[Create Connection(接続を作成する)]をクリックします。
    4. [Create Connection(接続を作成する)]ウィンドウで名前と説明を入力します。
    5. 認証タイプには[OAuth Client Credentials(OAuthクライアントの資格情報)]を選択します。
    6. 資格情報を構成します。
      フィールドアクション
      認証エンドポイント https://app.scaleft.com/v1/oauth_tokenを入力します。
      HTTPメソッド [Post(ポスト)]を選択します。

      OAuth HTTPパラメーター

      1. [Parameter(パラメーター)]で[Body field(本文フィールド)]を選択します。
      2. [Key(キー)]に「grant_type」と入力します。
      3. [Value(値)]に「client_credentials」と入力します。
      クライアントID Advanced Server Accessコンソールで、記録したクライアントIDを入力します。
      クライアントシークレット Advanced Server Accessコンソールで、記録したクライアントシークレットを入力します。
    7. [Create(作成)]をクリックします。
  3. ターゲットを作成します。
    詳細については、AWSドキュメントを参照してください。

    1. [API destinations(API送信先)]ページに移動して[Create API destinations(API送信先を作成する)]をクリックします。
    2. [Create API destinations(API送信先を作成する)]ウィンドウで名前と説明を入力します。
    3. API送信先エンドポイントについては、Advanced Server Accessコンソールで記録したWebhook URLを入力します。
    4. HTTPについては、[Post(ポスト)]を選択します。
    5. [Use an existing connection(既存の接続を使用する)]をクリックして以前作成した接続を選択します。
    6. [Create(作成)]をクリックします。
  4. ルールを作成します。
    詳細については、AWSドキュメントを参照してください。
    1. [Rules(ルール)]ページに移動して[Create Rule(ルールを作成)]をクリックします。
    2. ルールの名前を入力します。
    3. [Define pattern(パターンを定義する)]で[Event pattern(イベントパターン)]を選択してから、[Custom pattern(カスタムパターン)]を選択します。
    4. [Event pattern(イベントパターン)]の隣にある[Edit(編集)]をクリックします。
    5. 以下のJSONパターンを入力します。
      パターン説明
      { "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["pending", "terminated"] } } EC2インスタンスがpendingまたはterminatedステータスに変わったら通知を送信します。
    6. [Target(ターゲット)]には、以前作成したターゲットAPI送信先を選択します。
    7. [Create(作成)]をクリックします。

ルールを作成すると、一致するイベントが生じたときにAWSはAdvanced Server Accessに通知を送信します。Advanced Server Accessは、これらの通知を使用して関連プロジェクト内のサーバーインベントリを更新します。