[{"data":1,"prerenderedAt":528},["ShallowReactive",2],{"news-item-\u002Fja\u002Fnews\u002Fgiam-sat-api-su-dung-amazon-cloudwatch-synthetics-canaries":3},{"id":4,"title":5,"body":6,"category":515,"created by":516,"date":517,"description":518,"extension":519,"meta":520,"navigation":521,"path":522,"sections":523,"seo":524,"stem":525,"thumbnail":526,"__hash__":527},"content_ja\u002Fja\u002Fnews\u002Fgiam-sat-api-su-dung-amazon-cloudwatch-synthetics-canaries.md","AMAZON CLOUDWATCH SYNTHETICS CANARIESを使ったAPIのモニタリング",{"type":7,"value":8,"toc":502},"minimark",[9,16,23,27,30,34,37,40,43,47,61,75,84,90,94,97,104,111,118,121,126,135,139,144,147,152,155,160,163,185,190,193,198,201,206,209,214,220,224,230,234,245,249,259,263,272,276,287,290,299,303,312,316,325,329,339,343,349,353,357,366,376,380,385,389,396,400,405,409,413,416,420,426,430,437,441,447,454,458,464,470,476,481,484,489,496],[10,11,13],"h2",{"id":12},"はじめに",[14,15,12],"strong",{},[17,18,20],"h3",{"id":19},"aws-cloudwatch",[14,21,22],{},"AWS CloudWatch",[24,25,26],"p",{},"AWSで実行されるリソースの監視、統計、分析をサポートするサービスです。このサービスは、リアルタイムの実用的な情報を提供して、 RAM、ディスクなどのサービス、インフラストラクチャー、アプリケーションのメモリ領域を監視させます。警告を使用して、アプリケーションのパフォーマンスを最適化して、リソースの使用を管理してします。",[24,28,29],{},"また、Amazon のインフラストラクチャーに実行しているアプリケーションなどのAWS リソースやシステム全体の状況が理解できるようになります。",[17,31,33],{"id":32},"aws-canary","AWS Canary",[24,35,36],{},"APIとエンドポイントを監視するためにAmazon CloudWatch Syntheticから作りました。Canariesは、ルートに沿って実装できるスクリプトであり、クライアントのように稼働を行います。そのため、アプリケーションへのユーザートラフィックがなくても、エンドユーザーの体験を連続的に検出できます。Canaiesを使うことでエンドユーザーよりも早く問題が検出できます。Canariesは、指定されたスケジュールに従って実行するように設定できます。",[24,38,39],{},"Canariesは、Node.jsまたはPythonで書き込まれるスクリプトです。また、HTTPとHTTPSのプロトコルでも稼働できます。",[24,41,42],{},"Canariesは、エンドポイントの可用性とレイテンシーをチェックして、同時に読み込み時間のデータと UI のスクリーンショットが保存できます。REST API、URL、ウェブサイトのコンテンツを監視して、フィッシング詐欺やクロスサイトスクリプティング攻撃やコードの挿入などの不正な変更がチェックできます。",[10,44,46],{"id":45},"canary作成手順","Canary作成手順",[24,48,49,52,53,60],{},[14,50,51],{},"ステップ①："," ",[54,55,59],"a",{"href":56,"rel":57},"https:\u002F\u002Fconsole.aws.amazon.com\u002Fcloudwatch\u002F%E3%81%A7CloudWatch",[58],"nofollow","https:\u002F\u002Fconsole.aws.amazon.com\u002Fcloudwatch\u002FでCloudWatch"," コンソールを開きます。",[24,62,63,66,67,70,71,74],{},[14,64,65],{},"ステップ②："," ナビゲーションペインで、",[14,68,69],{},"Application monitoring　→　Synthetics Canaries","を選択した後、",[14,72,73],{},"Create Canary","を選択します。",[76,77],"img",{"className":78,"alt":81,"src":82,"style":83},[79,80],"block","mx-auto","","https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21142022\u002Fcreate-canary-1-1.png","width: 100%;",[24,85,86,89],{},[14,87,88],{},"ステップ③："," ",[76,91],{"className":92,"alt":81,"src":93,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21141000\u002Fcreate-canary-2.png",[24,95,96],{},"次のいずれかを選択します。",[24,98,99,100,103],{},"1. \"",[14,101,102],{},"Use a blueprint","\"を選択した場合：既存テンプレートスクリプトを使う",[24,105,106,107,110],{},"2. \"I",[14,108,109],{},"nline Editor","\"を選択した場合：自分のNode.js スクリプトをアップロードして、カスタマイズするCanaryを作成する",[24,112,113,114,117],{},"3. \"I",[14,115,116],{},"mport from S3","\"を選択した場合：S3バケットから自分のスクリプトをインポートする",[24,119,120],{},"注意：上記の選択では、使っているS3バケットに対し「s3:GetObject」及び「s3:GetObjectVersion」権限が求められます。",[24,122,123],{},[14,124,125],{},"この記事では、\"Use a blueprint\"を選択します。",[24,127,128,131,132,134],{},[14,129,130],{},"ステップ④："," \"",[14,133,102],{},"\"を選択したら、以下のテンプレートスクリプトが出ます。",[76,136],{"className":137,"alt":81,"src":138,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21143125\u002Fcreate-canary-3.png",[24,140,141],{},[14,142,143],{},"Heartbeat monitoring",[24,145,146],{},"ハートビートスクリプトは、指定したURLをロードし、ページのスクリーンショットとHTTPファイル（HARファイル）を保存します。また、アクセスしたURLのログも保存します。 HARファイルを使用して、ウェブページに関するパフォーマンスデータ詳細を確認できます。 ウェブリクエストのリストを分析して、項目の読み込み時間などのパフォーマンス問題を把握できます。",[24,148,149],{},[14,150,151],{},"API canary",[24,153,154],{},"REST APIの基本的な読み取り機能と書き込み機能が検出できます。 Canaryは任意のAPIで稼働し、すべてのタイプの機能が検出できます。Canary毎に、複数のAPI呼び出しを行うことができます。",[24,156,157],{},[14,158,159],{},"Broken Link Checker",[24,161,162],{},"テストしているURL内にリンクを全て収集します。 次の種類のリンクエラーを検出します",[164,165,166,170,173,176,179,182],"ul",{},[167,168,169],"li",{},"404 ページが見つからない、URL が正しくない",[167,171,172],{},"ホスト名が無効である",[167,174,175],{},"HTTP レスポンスコードが無効である",[167,177,178],{},"HTTPリクエストが Canary の実行中に常にタイムアウトする",[167,180,181],{},"ホストが正しく設定されていないか、ビジー状態のため接続が常に切断される",[167,183,184],{},"ホストサーバーが、コンテンツもなく、レスポンスコードもない、空のレスポンスを返す",[24,186,187],{},[14,188,189],{},"Canary Recorder",[24,191,192],{},"Canaryのレコーダーは、ウェブサイト上のクリックと入力のアクションを記録し、上記と同じステップに従うCanaryを作成するために使用できる Node.js スクリプトを自動的に生成します。CloudWatch Synthetics Recorder は、Amazonが提供するGoogle Chrome 拡張機能です。",[24,194,195],{},[14,196,197],{},"GUI workflow builder",[24,199,200],{},"GUI ワークフロービルダー設計図は、ウェブページに対してアクションが実行できることを検証します。",[24,202,203],{},[14,204,205],{},"Visual monitoring",[24,207,208],{},"ビジュアルモニタリングは、Canary実行中に撮影されたスクリーンショットと、ベースラインCanary実行中に撮影されたスクリーンショットを比較するコードが含まれています。2 つのスクリーンショット間の不一致が閾値のパーセンテージを超えている場合、Canaryは失敗します。",[24,210,211],{},[14,212,213],{},"この記事では、\"API canary\"を選択します。",[24,215,216,219],{},[14,217,218],{},"ステップ⑤："," Canaryの名前を入力します。ここで「Canary-api」と命名します。",[76,221],{"className":222,"alt":81,"src":223,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21150801\u002Fcreate-canary-5-1024x226.png",[24,225,226,229],{},[14,227,228],{},"ステップ⑥："," API HTTPリクエスト追加",[76,231],{"className":232,"alt":81,"src":233,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21151619\u002Fcreate-canary-6-1024x485.png",[24,235,236,237,240,241,244],{},"API HTTP リクエスト詳細にはメソッド、エンドポイントURL、リクエストデータ、ヘッダーを含めています。それらの入力が終わったら、",[14,238,239],{},"Step name","に名前を入力して、",[14,242,243],{},"Save","を押下します。",[76,246],{"className":247,"alt":81,"src":248,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21152636\u002Fcreate-canary-6.5-1024x408.png",[24,250,251,254,255,258],{},[14,252,253],{},"ステップ⑦："," スクリプトに環境変数を使ったら、",[14,256,257],{},"Environment variables","を選択して、スクリプトに確定されている環境変数ごとの値を指定します。",[76,260],{"className":261,"alt":81,"src":262,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21153239\u002Fcreate-canary-7-1024x329.png",[24,264,265,52,268,271],{},[14,266,267],{},"ステップ⑧：",[14,269,270],{},"Schedule","でcanary実行頻度を指定することができます。以下のようにオプションが３つあります。",[76,273],{"className":274,"alt":81,"src":275,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21154412\u002Fcreate-canary-8-1024x429.png",[164,277,278,281,284],{},[167,279,280],{},"Run continuously：常に実行",[167,282,283],{},"CRON expression：CRONにより実行",[167,285,286],{},"Run once：一回実行",[24,288,289],{},"次、Canary毎に実行時間を選択します。ここで「常に実行」と「頻度：20分」を選択します。",[24,291,292,52,295,298],{},[14,293,294],{},"ステップ⑨：",[14,296,297],{},"Data retention","でCanaryデータを保持する時間を設定できます。デフォルトは31days (~1 month)です。",[76,300],{"className":301,"alt":81,"src":302,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21163353\u002Fcreate-canary-9-1024x306.png",[24,304,305,52,308,311],{},[14,306,307],{},"ステップ⑩：",[14,309,310],{},"Data Storage","でCanaryを実行する度の結果を保持する場所です。「S3 location」では、Canaryを作成する際にデフォルト場所がすでに入力されておきます。或いは「Browse S3」を押下することで既存S3を選択できます。",[76,313],{"className":314,"alt":81,"src":315,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21164141\u002Fcreate-canary-10-1024x414.png",[24,317,318,52,321,324],{},[14,319,320],{},"ステップ⑪：",[14,322,323],{},"Access permissions","で既存ロールを選択、または、Syntheticsにより新しいロールを自動に作成します。",[76,326],{"className":327,"alt":81,"src":328,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21165837\u002Fcreate-canary-11-1024x272.png",[24,330,331,334,335,338],{},[14,332,333],{},"ステップ⑫："," 残り分はデフォルト値で設定して、",[14,336,337],{},"Create canary","を押下します。API Canaryの作成処理は 1 ～ 2 分かかります。",[76,340],{"className":341,"alt":81,"src":342,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21171320\u002Fcreate-canary-12-1024x524.png",[24,344,345,348],{},[14,346,347],{},"ステップ⑬："," Canaryが正常に作成された場合、以下のように見えます。",[76,350],{"className":351,"alt":81,"src":352,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F21171726\u002Fcreate-canary-13-1024x534.png",[10,354,356],{"id":355},"canaryのグループ作成","Canaryのグループ作成",[24,358,359,52,361],{},[14,360,51],{},[54,362,365],{"href":363,"rel":364},"https:\u002F\u002Fconsole.aws.amazon.com\u002Fcloudwatch\u002F%E3%81%A7CloudWatch%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82",[58],"https:\u002F\u002Fconsole.aws.amazon.com\u002Fcloudwatch\u002FでCloudWatchコンソールを開きます。",[24,367,368,370,371,70,373,74],{},[14,369,65],{}," ナビゲーションペインで",[14,372,69],{},[14,374,375],{},"Create Group",[76,377],{"className":378,"alt":81,"src":379,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22085451\u002Fcreate-canary-1-2-1024x396.png",[24,381,382,384],{},[14,383,88],{}," グループ名を入力します。",[76,386],{"className":387,"alt":81,"src":388,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22085705\u002Fcreate-canary-2.1.png",[24,390,391,393,394,244],{},[14,392,130],{}," Canary名前を正しく検索してから、選択してグループに追加します。そして",[14,395,375],{},[76,397],{"className":398,"alt":81,"src":399,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22090102\u002Fcreate-canary-2.2.png",[24,401,402,404],{},[14,403,218],{}," グループが正常に作成されたら、上記のステップで選択したCanaryがグループに置くことなのでCanaryを管理しやすくなります。",[76,406],{"className":407,"alt":81,"src":408,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22090953\u002Fcreate-canary-2.3-1024x183.png",[10,410,412],{"id":411},"canaryの統計および詳細表示","Canaryの統計および詳細表示",[24,414,415],{},"Canary詳細を表示するために、Canary名前をクリックします。",[76,417],{"className":418,"alt":81,"src":419,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22093303\u002Fcreate-canary-2.3-1-1024x183.png",[24,421,422,425],{},[14,423,424],{},"Availabilityタブ："," Canary の最近の実行に関する情報が表示されます。実行に成功または失敗したタイムラインや、以下の画像のような問題を表示します。",[76,427],{"className":428,"alt":81,"src":429,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22094838\u002Fcreate-canary-2.5-1024x411.png",[24,431,432,433,436],{},"実行結果の詳細を参照するために、",[14,434,435],{},"Download artifacts","を押下することでファイルをダウンロードします。",[76,438],{"className":439,"alt":81,"src":440,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22100553\u002Fcreate-canary-2.6-1024x318.png",[24,442,443,446],{},[14,444,445],{},"Monitoringタブ："," Canaryで公開されたCloudWatchメトリクスのグラフが表示されます。これらのメトリクスの詳細については、以下のリンクを参照してください。",[24,448,449],{},[54,450,453],{"href":451,"rel":452},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Fmonitoring\u002FCloudWatch%5C_Synthetics%5C_Canaries%5C_metrics.html",[58],"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Fmonitoring\u002FCloudWatch\\_Synthetics\\_Canaries\\_metrics.html",[76,455],{"className":456,"alt":81,"src":457,"style":83},[79,80],"https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F22102356\u002Fcreate-canary-2.7-1024x528.png",[24,459,460,463],{},[14,461,462],{},"Configurationタブ："," Canaryに関する構成およびスケジュール情報が表示されます。",[24,465,466,469],{},[14,467,468],{},"Groupsタブ："," Canary が連携られているグループが表示されます。",[24,471,472,475],{},[14,473,474],{},"Tagsタブ："," Canaryと連携しているタグが表示されます。",[10,477,479],{"id":478},"結論",[14,480,478],{},[24,482,483],{},"Amazon CloudWatch Syntheticsを使ったCanaryを作成するのは、アプリケーションのエンドポイントを監視をしやすくなります。 アプリケーションへのユーザートラフィックがなくても、エンドユーザーの体験を連続的に検出できます。これにより、エンドユーザーよりも早く問題が検出できて、エンドユーザーに良い体験を提供します。",[10,485,487],{"id":486},"参考元",[14,488,486],{},[24,490,491],{},[54,492,495],{"href":493,"rel":494},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Fmonitoring\u002FCloudWatch%5C_Synthetics%5C_Canaries.html",[58],"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonCloudWatch\u002Flatest\u002Fmonitoring\u002FCloudWatch\\_Synthetics\\_Canaries.html",[24,497,498],{},[54,499,500],{"href":500,"rel":501},"https:\u002F\u002Fdev.to\u002Faws-builders\u002Fsynthetic-monitoring-using-aws-canaries-cloudwatch-12jb",[58],{"title":81,"searchDepth":503,"depth":503,"links":504},2,[505,510,511,512,513,514],{"id":12,"depth":503,"text":12,"children":506},[507,509],{"id":19,"depth":508,"text":22},3,{"id":32,"depth":508,"text":33},{"id":45,"depth":503,"text":46},{"id":355,"depth":503,"text":356},{"id":411,"depth":503,"text":412},{"id":478,"depth":503,"text":478},{"id":486,"depth":503,"text":486},"tech talk","Briswell Vietnam Co Ltd","2023-01-10","はじめに AWS CloudWatch AWSで実行されるリソースの監視、統計、分析をサポートするサービスです。このサービスは、リアルタイムの実用的な情報を提供して、 RAM、ディスクなどのサービス、インフラストラクチャー、アプリケーションのメモリ領域を監視させます。警告を使用して、アプリケーションのパフォーマンスを最適化して、リソースの使用を管理してします。","md",{},true,"\u002Fja\u002Fnews\u002Fgiam-sat-api-su-dung-amazon-cloudwatch-synthetics-canaries",null,{"title":5,"description":518},"ja\u002Fnews\u002Fgiam-sat-api-su-dung-amazon-cloudwatch-synthetics-canaries","https:\u002F\u002Fs3-ap-southeast-1.amazonaws.com\u002Fhomepage-media\u002Fwp-content\u002Fuploads\u002F2022\u002F12\u002F23162943\u002Flogo-canary-2.png","xxR96k9UTv2uTA_k7svuBhnidSnwB9W6myXYu_R0bxk",1784703337375]