Skip to content

Amazon Web Services (v2)

DANGER

古い形式のインテグレーション Amazon Web Services (Classic) は将来的に廃止されます。

インテグレーションの仕組み

AWS インテグレーションに必要なアプリケーションは、CloudFormation のテンプレートで提供されており、AWS コンソールや IaC ツールを利用してデプロイ可能です。

インテグレーションは次の 3 つのパッケージから構成されます。必要に応じたテンプレートをデプロイすることで、お客様の AWS 環境に関連する AWS リソースが自動的に作成されます。

パッケージデプロイ方法デプロイリージョン説明主に作成されるリソース
srest-integration (必須)CloudFormation Stackus-east-1srest と連携するための IAM ロール (AssumeRole) を作成。IAM ロール
srest-aws-event-forwarderCloudFormation StackSetsマルチリージョン指定可能EventBridge に収集されたログを srest に配信する。EventBridge ルール
srest-data-exportsCloudFormation Stackus-east-1Data Exports を有効化し、コストデータを srest に配信する。Data Exports、S3 バケット

収集可能なデータ

コスト

srest は AWS インテグレーションによって作成された IAM ロールを利用して、Cost Explorer 及び Data Exports を用いてコストデータを取得します。

イベント (EventBridge)

AWS が提供する EventBridge の機能を利用して、各種イベントログを srest に送信できます。

イベントタイプイベントソースイベントの概要
Amazon CloudWatchaws.cloudwatchCloudWatch アラーム状態の更新
Amazon EC2aws.ec2
  • インスタンスステータスの変更
  • AMI イベント
  • セキュリティグループイベント
  • スナップショットイベント
  • スポットインスタンスの中断
Amazon ECSaws.ecs
  • タスクステータスの変更
  • サービスアクション
  • コンテナインスタンスの状態変更
  • タスク定義の登録
Amazon GuardDutyaws.guardduty
  • 異常な API の呼び出し
  • 不審なインスタンスの通信
  • トロイの木馬
  • ルートキットなどの脅威検出
Amazon Inspector2aws.inspector2Inspector が検出したセキュリティ評価の更新
Amazon RDSaws.rds
  • インスタンスステータスの変更
  • DB パラメータグループの変更
  • スナップショットイベント
  • フェイルオーバーイベント
Amazon Security Hubaws.securityhub
  • SecurityHub が検出したセキュリティ上の問題の更新通知
  • セキュリティスコアの更新
AWS Healthaws.health
  • スケジュールされたメンテナンス
  • アカウント固有の問題

※イベントソースは、EventBridge に送信されたイベントの source パラメータの値を指します。

INFO

  • GuardDuty や Security Hub、Inspector イベントを収集するには、事前にサービスを有効化しておく必要があります。 サービスにはそれぞれ利用料が発生するため、詳しくは AWS のドキュメントをご確認ください。
  • EventBridge によるサービス連携は今後拡充予定です。

次の JSON データは、RDS がスナップショットを作成した際、EventBridge に送信されるイベントのサンプルコードです。

json
{
  "version": "0",
  "id": "xxx",
  "detail-type": "RDS DB Cluster Snapshot Event",
  "source": "aws.rds",
  "account": "xxx",
  "time": "2024-01-05T13:15:18Z",
  "region": "ap-northeast-1",
  "resources": [
    "arn:aws:rds:ap-northeast-1:xxx"
  ],
  "detail": {
    "EventCategories": [
      "backup"
    ],
    "SourceType": "CLUSTER_SNAPSHOT",
    "SourceArn": "arn:aws:rds:ap-northeast-1:xxx",
    "Date": "2024-01-05T13:15:18.495Z",
    "Message": "Automated cluster snapshot created",
    "SourceIdentifier": "rds:production-2024-01-05-13-15",
    "EventID": "RDS-EVENT-0169"
  }
}

srest は、お客様の環境で EventBridge が受信したイベントログを srest に配送する形で、ダッシュボードを用いたログの可視化を提供します。

設定手順

srest と AWS を連携するには、CloudFormation から srest-integration スタックをデプロイします。

  1. 画面右上のユーザーアイコンをクリックして [サービス設定] を開きます。

  2. サイドバーから [インテグレーション] を選択します。

  3. [Amazon Web Services (v2)] の [設定] を開きます。

  4. [CloudFormation スタックの作成] ボタンをクリックします。

  5. CloudFormation のコンソールが開くので、右上に表示されているアカウント情報がデプロイ対象のアカウントと一致していることを確認します。 別の AWS アカウントが表示されている場合は、デプロイ対象の AWS アカウントに再ログインしたうえで、再度 srest から [CloudFormation スタックの作成] ボタンをクリックしてください。

  6. CloudFormation は、srest-integration というスタック名で srest と連携するための IAM ロールを作成します。 スタック作成時は IAM ロール作成の承認チェックボックスが表示されるため、I acknowledge that AWS CloudFormation might create IAM resources. にチェックを付けます。

    INFO

    srest が作成する AWS リソースは、[Template URL] から確認できます。

  7. [Create Stack] ボタンをクリックするとスタックの作成が始まるので、数分待ちます。

  8. スタックのステータスが [CREATE_COMPLETE] に更新されたことを確認後、[Resources] タブを開き、[IntegrationIAMRole] から [Physical ID] のリンクをクリックします。

  9. srest-integration の IAM ロールの ARN をコピーします。

  10. srest に戻り、[IAM Role ARN] フィールドに先ほどコピーした ARN を貼り付け、[設定を反映] ボタンをクリックします。

  11. インテグレーションが成功すると通知メッセージが表示されるので、[閉じる] ボタンをクリックします。

TIP

テンプレートは CloudFormation Stack テンプレートで提供されるため、Terraform によるコード化も可能です。

イベントログとコストデータ取得方法については、下記ドキュメントを参照してください。

インテグレーションの解除

AWS と srest のインテグレーションを解除するには、CloudFormation から srest-integration スタックを削除する必要があります。

DANGER

AWS インテグレーションを解除する場合、事前にコスト、及びイベントログのインテグレーションを解除しておく必要があります。

  1. AWS コンソールから CloudFormation のページを開きます。

  2. サイドバーから [Stacks] をクリックします。

  3. スタックの一覧から srest-integration を選択し、[Delete] ボタンをクリックします。

  4. 確認モーダルで srest-integration が削除されることを確認し、[Delete] ボタンをクリックします。

  5. スタックの一覧から srest-integration が削除されることを確認します。

  6. srest のインテグレーションページを開き、[Amazon Web Services (v2)] の [設定] ボタンをクリックします。

  7. [連携解除] ボタンをクリックします。