Canary を作成する - Amazon CloudWatch

Canary を作成する

重要

Synthetics Canary を使用して、所有権またはアクセス許可を持つエンドポイントと API のみを監視します。Canary の実行回数の設定によっては、これらのエンドポイントでのトラフィックが増える場合があります。

CloudWatch コンソールを使用して Canary を作成する場合、CloudWatch が提供するブループリントを使用して Canary を作成することも、独自のスクリプトを作成することもできます。詳細については、「」を参照してくださいCanary 設計図の使用

Canary に独自のスクリプトを使用している場合は、AWS CloudFormation を使用して Canary を作成することもできます。詳細については、AWS CloudFormation ユーザーガイドAWS::Synthetics::Canary を参照してください。

独自のスクリプトを作成する場合は、CloudWatch Synthetics によってライブラリに組み込み済みの複数の関数を使用できます。詳細については、「」を参照してくださいSynthetics のランタイムバージョン

Canary を作成するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで、[Canaries] を選択します。

  3. [Create Canary (Canary を作成)] を選択します。

  4. 次のいずれかを選択します。

    • Canary を設計図スクリプトに基づいて作成するには、[Use a blueprint] を選択し、作成する Canary のタイプを選択します。設計図のタイプ別の詳細な動作については、「Canary 設計図の使用」を参照してください。

    • 独自の Node.js スクリプトをアップロードしてカスタムの Canary を作成するには、[Upload a script] を選択します。

      次に、スクリプトを [Script] 領域にドラッグするか、[Browse files] を選択してファイルシステム内のスクリプトに移動できます。

    • S3 バケットからスクリプトをインポートするには、[Import from S3] を選択します。[Source location] で、Canary への完全なパスを入力するか、[Browse S3] を選択します。

      使用する S3 バケットの s3:GetObject および s3:GetObjectVersion アクセス許可が必要です。バケットは、Canary を作成するのと同じ AWS リージョンに存在する必要があります。

  5. [名前] に、Canary の名前を入力します。この名前は多くのページで使用されるため、他の Canary と区別できるわかりやすい名前を付けてください。

  6. [Application or endpoint URL] に、Canary でテストする URL を入力します。この URL には、プロトコル (https:// など) を含める必要があります。

    VPC のエンドポイントを Canary でテストする場合は、この手順の後半で VPC に関する情報も入力する必要があります。

  7. Canary 用に独自のスクリプトを使用している場合は、[Lambda handler] に Canary を開始するエントリポイントを入力します。入力する文字列は .handler で終わる必要があります。

  8. スクリプトで環境変数を使用している場合は、[Environment variables] (環境変数) を選択し、スクリプトで定義されている各環境変数の値を指定します。詳細については、「」を参照してください環境変数

  9. [スケジュール] で、この Canary を 1 回だけ実行するか、レート式を使用して連続して実行するか、cron 式を使用してスケジュールするかを選択します。

    • CloudWatch コンソールを使用して継続的に動作する Canary を作成する場合、1 分から 1 時間に 1 回までの任意の間でレートを選択できます。

  10. [Data retention (データ保持)] で、失敗した Canary の実行と成功した Canary の実行の両方に関する情報を保持する期間を指定します。指定できる範囲は 1~455 日です。

  11. [Data Storage] で、Canary の実行データを保存する先の S3 バケットを選択します。バケット名にピリオド (.) を含めることはできません。これを空白のままにすると、デフォルトの S3 バケットが使用または作成されます。

    syn-nodejs-puppeteer-3.0 以降のランタイムを使用している場合、テキストボックスにバケットの URL を入力するときに、現在のリージョンまたは別のリージョンにバケットを指定できます。以前のランタイムバージョンを使用している場合、バケットは現在のリージョンに存在する必要があります。

  12. [Access permissions] で、Canary を実行するための IAM ロールを作成するか、既存のロールを使用するかを選択します。

    Canary の作成時に CloudWatch コンソールを使用して Canary 用のロールを作成する場合、他の Canary 用のロールは再利用できません。これらのロールは Canary 別に固有です。複数の Canary 用のロールを手動で作成済みである場合は、その既存のロールを使用できます。

    既存のロールを使用するには、そのロールを Synthetics および Lambda に渡すための iam:PassRole アクセス許可が必要です。また、iam:GetRole アクセス許可も必要です。

  13. (オプション) [Alarms] で、この Canary 用にデフォルトの CloudWatch アラームを作成するかどうかを選択します。アラームの作成を選択すると、Synthetics-Alarm-canaryName-index の名前規則で作成されます。

    index は、この Canary 用に作成された異なる各アラームを表す数値です。最初のアラームのインデックスは 1、2 番目のアラームのインデックスは 2 です。

  14. (オプション) この Canary で VPC のエンドポイントをテストするには、[VPC settings] を選択し、次の操作を行います。

    1. エンドポイントをホストする VPC を選択します。

    2. VPC 上の 1 つ以上のサブネットを選択します。実行中に IP アドレスを Lambda インスタンスに割り当てることができない場合は、Lambda インスタンスをパブリックサブネットで実行するように設定できないため、プライベートサブネットを選択する必要があります。詳細については、「VPC 内のリソースにアクセスできるように Lambda 関数を設定する」を参照してください。

    3. VPC 上で 1 つ以上のセキュリティグループを選択します。

    エンドポイントが VPC 上にある場合は、Canary から CloudWatch と Amazon S3 に情報を送信できるようにする必要があります。詳細については、「」を参照してくださいVPC で Canary を実行する

  15. (オプション) [Tags] で、この Canary のタグとする 1 つ以上のキーと値のペアを追加します。タグを使用すると、AWS リソースを識別して整理したり、AWS コストを追跡したりしやすくなります。詳細については、「」を参照してくださいAmazon CloudWatch リソースにタグを付ける

  16. (オプション) [Active tracing (アクティブトレース)] で、この Canary にアクティブな X-Ray トレースを有効にするかどうかを選択します。このオプションは、Canary がランタイムバージョン syn-nodejs-2.0 以降を使用している場合にのみ使用できます。詳細については、「」を参照してくださいCanary と X-Ray のトレース

Canary 向けに作成されたリソース

Canary を作成すると、次のリソースが作成されます。

  • CloudWatchSyntheticsRole-canary-name-uuid という名前の IAM ロール (CloudWatch コンソールを使用して Canary を作成し、この Canary 用に新しいロールを作成することを指定した場合)

  • CloudWatchSyntheticsPolicy-canary-name-uuid という名前の IAM ポリシー

  • cw-syn-results-accountID-region という名前の S3 バケット

  • Synthetics-Alarm-MyCanaryName という名前のアラーム (Canary 用にアラームを作成した場合)

  • Lambda 関数とレイヤー (設計図を使用して Canary を作成した場合)。これらのリソースには、プレフィックスとして cwsyn-MyCanaryName が付きます。

  • /aws/lambda/cwsyn-MyCanaryName という名前の CloudWatch Logs ロググループ。