Tag: lambda

MediaLiveをCloudWatchで監視する

背景 MediaLive ですが、いろいろなエラーを通知してくれます。 やれ「RTMP 接続が切れたよ」とか「オーディオ入力 or ビデオ入力が無いよ」とかですね。 通常、ライブ配信が始まる前は当然、MediaLive への入力は無いはずなので、通知は構わないのですが、 ライブ配信中に出ると、それはもうトラブルシューティングの情報の一つとして重要なものになります。 ( というか当初、エラーは出てるっぽいし、挙動はおかしいんだけど、どんなエラーが出てるか分からないケースがあって窮地な時がありました ) 今は管理画面の[ channels ]->[ 目的のチャンネル ]->[ Alerts ]から確認できます。が、ログとして残しておくのは良い事だと思います。 このエラー出力のフォーマットは決まっている訳ではなく、たまに変わります。ので 『あー、エラー出力が変わったからアラートが上がらなくなったのね』、という事がログを残しておくと分かります。 手順 WebUI SNS トピック作成 SNS のページ( https://ap-northeast-1.console.aws.amazon.com/sns/ )を開く [ トピック ]->[ 新しいトピックの作成 ]->トピック名の入力、私は[ MediaLiveEvent ]、表示名[ MediaLiveEvent ]と入れてみた 作成したトピックの ARN をコピペ arn:aws:sns:ap-northeast-1:1111111111111:MediaLiveEvent ( 同じ SNS 内の左側メニュー )[ サブスクリプション ]->[ サブスクリプションの作成 ] [ トピック ARN ]に先程作成した MediaLive のトピックの ARN を入力 Read more...

lambdaのあれこれ

上限値 Lambda 関数の同時実行 - AWS Lambda 初めてのLambda 初めてのJavaScript、初めてのAWS Lambda invokeする時のオプション ブラウザから直接invokeする、という方法 AWS Lambdaのコードをローカルで実行する この方法は導入した方が良さそう。デバックスピードを上げられる。 AWS Lambdaのための関数のローカル開発とテスト handlerに渡ってくるeventとcontextというオブジェクトについての補足 event: 実際に渡ってくるイベントのデータ(S3のアップデートとかKinesisのレコードとか)。 context: Lambda functionの呼び出しコンテキスト。done()というAPIを呼び出すと関数が終了するのだが、コードをちょっと追いきれてないのでとりあえず単純にreturnするだけな感じにstub化。ちなみにcontextオブジェクトのダンプは以下のとおり。done()の中で呼び出されているpostDone()は後で追ってみる。 AWS Lambdaの関数をnpmでパッケージ管理 CLIで使う http://qiita.com/toshihirock/items/8d06a524df79e7bb675c Role作成 function作成( ファイルのアップロード ) Scheduleイベントで EC2を自動起動終了 Amazonのサイトの説明、aws-cliで設定している ユーザがEC2を起動 => CloudTrailがEC2起動を検知してS3バケットにログ記録 => Lambdaファンクション起動 => ログから実行ユーザを特定してEC2にタグ付け LambdaでEC2作成者をタグ付けする AWSへの接続に使う AWSのリファレンスを見て、左側のメニューから使いたいサービスをクリック トラブル集 node.jsでLambdaを実装した時のトラブル&解決策集 Read more...

AWS SQSを使う際に調べた事

API リファレンス Class: AWS.SQS — AWS SDK for JavaScript 送信/受信/削除 AWS SDK for Node.js を用いた SQS の操作 – ゴミ箱 FIFO になって情報古くなってる面もあるが有益な情報 【AWS】SQS をただただ触ってみただけの話 - ニクニクドットミー Amazon SQS を利用する前に抑えておくべき 7 つのポイント - Qiita Amazon SQS を使う前に知っておきたい基本的なこと - Qiita Schoo の非同期パイプライン処理について - Qiita 『ロングポーリングして』という話は下記でも触れてる(一番下の方) フレクトのクラウド blog(New): lambda から lambda を起動するリレー方式 SQS コンシューマ ショートポーリングの場合、キュー内のメッセージ数が少ない(1000以下など)場合、 キュー内のメッセージ数で重み付けされたサンプル数のサーバにしか問い合わせにいかないため、 MaxNumberOfMessagesに指定した数より少ないメッセージしか返ってこず、 キュー内のメッセージ数が極めて少ない場合、メッセージが返却されないことがあるため、 繰り返しreceiveMessageを発行する必要がある。 という理解であってるんですかね? ロングポーリングの場合はどうなんでしょうか? 次の記述が見つかりました。 どうやらロングポーリングの場合、上記の問題は発生しないようです。 (receiveMessageのWaitTimeSecondsを1以上にすると、ロングポーリングになる) Lambdaはコンピューティング時間で課金されるため、なるべく「待ち」の時間は減らしたいところですが、ショートポーリングで1,2件づつメッセージを処理するよりは効率が良さそうです。 ログポーリング必須… ロングポーリングを利用する(これは必須。劇的にリクエスト数が改善されます) ロングポーリングは管理画面から設定できるので簡単。 送信側はバッチリクエストを利用すると良い(SendMessageBatch) 受信側も複数メッセージを一度に受信すると良い(MaxNumberOfMessages) FIFO に関する情報 【新機能】Amazon SQS に FIFO が追加されました!(重複削除/単一実行/順序取得に対応) | Developers. Read more...

AWS SNSを使う

#lambdaネタ SNS + Lambda + Slack でアラート通知を受け取る - Qiita #障害時でも まずPush通知がされるまでの流れを把握 http://dev.classmethod.jp/cloud/aws/sns-mobile-token/ この中のフローが非常に参考になる。 #大規模Push配信環境 メルカリの例 ハイパフォーマンスGaurun〜メルカリの大規模プッシュ配信を支えるミドルウェア〜 - Mercari Engineering Blog #Push通知が届かない場合 http://faq.growthbeat.com/article/60-push 電源が入っていない 証明書の有効期限が切れてる デバイスのプッシュ通知ステータスがアクティブ(Active)になっていない アプリがアンインストールされてる 登録されているデバイストークンと環境(development/production)が一致しない #証明書の扱いは難しいらしい http://faq.growthbeat.com/article/81-growthpush 具体的にエラーとなるのは、下記のような場合です: iOSの証明書の有効期限が切れている iOSの証明書が無効化されている。 AndroidのAPIキーのIP制限が設定されている Androidの証明書が無効化されている PHPでPush通知を実装する http://qiita.com/toshiyuki_wada/items/a072ec557a49c6f8c00a AWS CLIで取得する http://qiita.com/tcsh/items/e2184f8c7c283e93b167 各メトリクスの説明 Amazon Simple Notification Service のメトリックスおよびディメンション - Amazon CloudWatch NumberOfMessagesPublished 発行されたメッセージの数。 NumberOfNotificationsDelivered 正常に配信されたメッセージの数。 NumberOfNotificationsFailed Amazon SNS が配信に失敗したメッセージの数。 このメトリクスは、Amazon SNS が Amazon SQS、電子メール、SMS、またはモバイルプッシュのエンドポイントへのメッセージ配信の試行を停止した後に適用されます。 HTTPまたはHTTPSエンドポイントに対して配信が試行されるたびに、メトリクスが1つ追加されます。 他のすべてのエンドポイントの場合、メッセージが配信されないとカウントが1増加します (試行回数に関係なく)。 HTTP エンドポイントの再試行の数は制御できます。詳細については、「HTTP/HTTPS エンドポイントに対する Amazon SNS 配信再試行ポリシーの設定」を参照してください。 参照する環境変数 AWS_SNS_HOME="/usr/local/bin/SimpleNotificationServiceCli" CLIツールのダウンロード http://aws. Read more...