AWS Startup ブログ

【週刊 Ask An Expert #21】Amazon SageMaker でメトリクスの可視化をするには?先週の #AWSLoft で受けた質問10選

こんにちは、スタートアップ ソリューションアーキテクトの松田 (Twitter: @mats16k) です。

皆さん、AWS Dev Day Tokyo 2019 は参加登録しましたか?満席のセッションも増えてきておりますので、まだの方はお早めにどうぞ!

参加登録はこちらから。Keynote には Ruby のまつもと ゆきひろさんや株式会社ソニックガーデンの倉貫 義人さんをお迎えしますよ!

このブログ記事では週刊 Ask An Expert 第21回目をお届けします。「参考になった」「いい内容だ」と思っていただけたら、ぜひハッシュタグ #AWSLoft を付けてシェアしてください。もちろん、改善点・ご要望もお待ちしております。

Ask An Expert ?

皆さん AWS Loft Tokyo はご存知でしょうか?
目黒セントラルスクエア17Fにある、AWS を利用中のスタートアップとデベロッパーのためのコワーキングおよびイベントスペースです。その一角に AWS のエキスパート – Solutions Architect (SA) や Cloud Support Engineer (CSE) – といった中の人に技術的な質問ができる、Ask An Expert カウンターがあります。そこでは毎月、来場者の方から100件以上にものぼるご相談をお受けしています。

ある日の Ask An Expert – SAの岩野

この連載「週刊 Ask An Expert」では、多くのご相談を中から我々スタートアップソリューションアーキテクトが 独断で面白かった質問を 10 個選び、ざっくりとご紹介していきます。他の AWS Loft 利用者がどんな質問をしているのか、自分が知らなかった新しいトピックはないか、Ask An Expert ってどんなところなのか、一緒に見ていきましょう。

 

週刊 Ask An Expert #20 (2019/09/02 – 09/06)

この週の対応者は SA: 濱・木村・水馬・小田桐・清水・針原・松田・桶谷でした。

 

Q1: Amazon ElastiCache for Redis で永続化したいデータが、何らかの原因で消失した。原因調査と対策について知りたい。

ElastiCache を永続化データのデータストアとして採用した背景をお伺いしたところ、現在 Amazon RDS for MySQL を利用されているが、 Write Heavy なワークロードに向かないという情報だけで ElastiCache 選定されていました。

Write Heavy かどうかだけではなく、実際のワークロードに即したデータベースの選定が重要とご案内しました。基本的には永続化データはインメモリデータベースではなく、Amazon RDS や Amazon DynamoDB がおすすめです。ただし直近の変更が難しい様であれば、現状 1 Node となっていたので、Redis クラスターの構成や、レプリケーションの設定などを検討ください。

また、「Redis 実行時の障害の軽減」も合わせてご覧頂ければと思います。

 

Q2: アプリでのプッシュ通知とその分析基盤として Amazon Pinpoint を検討している。Push 通知のメッセージペイロードに、独自のカスタムパラメータを入れて送信することは可能か?

サイレントプッシュであれば、メッセージ内容を任意の JSON で記述することが可能なため,カスタムパラメータを設定することが出来ます。以下はキャンペーンの設定画面になりますが、API から利用する際も同様の入力項目になります。

Standard message | 規定の項目のみ

Silent notification | 任意の JSON で記述可能

ステップ 3: メッセージを書き込む」の「キャンペーンのセットアップ -> プッシュ通知を記述する」の項目も合わせてご覧ください。

 

Q3: Amazon S3 に溜めているログを Kibana で可視化したい。

特に複雑な集計等が不要とのことでしたので AWS Lambda で Amazon Elasticsearch Service のエンドポイントに投げ込んで頂いて問題ないように思います。AWS Glue でも問題ありませんが、elasticsearch-hadoop の設定などもあるため、やりたいことに対して工数が大きくなるように思われます。

 

Q4: Amazon Route 53 で設定した独自ドメインがうまく動かないが、ドメイン名の最後にピリオドがついているのが原因か?

Route 53 についてだけではなく、DNS の動きや名前解決、レジストラなども含めてご説明しました。

 

Q5: Realm Mobile Platform を使っているが、AWS に移行したい。

Realm の移行サービスや事例を探すのではなく、現在使っている機能の洗い出しとデータの使い方をご確認頂き、Amazon S3 や Amazon DynamoDB, Amazon RDS などのどれがマッチするか検討頂くことをご案内しました。

スマホアプリからのデータ永続化のみが目的であれば、シンプルにデータを Amazon DynamoDB に持ち込んで頂いてもよろしいかもしれません。また、認証まわりでは Amazon Cognito というのもありますが要件があえば是非ご利用ください。

 

Q6: AWS Elastic Beanstalk 上でコンテナで動かしているが、EC2 のディスクをマウントしたい。

よくお話を伺うと、EC2 側で FTP サーバを動かしており、その FTP サーバ経由で手動で CSV ファイルを配布し、コンテナ内のアプリでそのファイルを扱いたいとのことでした。
AWS Elastic Beanstalk は AutoScaling で動いており、インスタンスのローテーション等でファイルが消える可能性があるので、プル型の配布に切り替える必要があるとご案内しました。コンテナを利用されていない場合は AWS CodeDeploy が有用ですが、今回はコンテナ環境とのことなので、コンテナ内に該当ファイルを入れた状態でデプロイを行う方法をご案内しました。

 

Q7: Amazon EC2 から Amazon Pinpoint を利用する際に、権限エラーが発生する。

ログを確認したところ iam:PassRole の権限がないと出ていたため、確認をお願い致しました。「AWS サービスにロールを渡すアクセス許可をユーザーに許可する」も合わせてご覧ください。

また、EC2 と Pinpoint で同一の IAM Role を利用されていたので、Role を共有されないようにご案内しました。こちらは Well-Architected フレームワークのセキュリティの項目内でもふれています。

 

Q8: ALB のログファイル (.tar.gz) を AWS Glue で ETL 処理できない。

S3 オブジェクトの所有権が elb-log だったのが原因でした。

 

Q9: レコメンドの精度はどう評価すれば良いか。

ソリューションバージョンを評価する」を参考に、 Amazon Personalize でも用いている一般的な指標をもとにご説明しました。

 

Q10: Amazon SageMaker でメトリクスの可視化はできるか。

トレーニングジョブの設定時に、Amazon SageMaker から CloudWatch に送信するメトリクスを正規表現で指定することで可能です。詳しくは「メトリクスを使用したトレーニングジョブの監視と分析」をご確認下さい。

また、ビルトインアルゴリズムであれば、設定済みであることが多いです。詳しくは「組み込みアルゴリズムのログ」をご覧ください。

 

週刊 Ask An Expert まとめ、今回はここまで

最後までお読み頂きありがとうございます。冒頭に書いたように、執筆者の独断により興味深かった質問 10 個を選び、且つざっくりとまとめて記載しているため、実際にはより具体的な質問をより多く頂いていますが、様々なご相談があることが伝わっていれば嬉しいです。まだ Ask An Expert カウンターをご利用になったことがない方も、AWS Loft Tokyo をご利用の際はぜひお気軽にご質問ください。

※Ask An Expert が混雑してお待ちいただく場合、またはエキスパートが不在の場合がございます。何卒ご容赦ください。

Kazuki matsudaこのブログの著者

松田 和樹 (Kazuki matsuda)

コンテナやビッグデータが得意分野なスタートアップソリューションアーキテクト。好きなサービスは AWS FargateAWS Chalice 。最近は AWS Amplify が好きです。

最近のヒット作は「スタートアップのためのコンテナ入門 – 導入編 & Fargate 編」です。