AWS Startup ブログ

【週刊 Ask An Expert #28】AWS で新サービス立ち上げたい!先週の #AWSLoft で受けた質問10選

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

最近また急に寒くなってきましたね。うちは娘B、娘A、父A(私)と順調に風邪をリレーしています。皆さん、あったかくしてくださいね。

さて、来る 11/28(木) 18:30〜 は AWS Loft Tokyo で「AWS Amplify & AWS Chalice ハンズオン #03 〜怠惰なプログラマ向け お手軽アプリ開発手法〜」というハンズオンイベントがあります。サクッとアプリを開発できるハンズオンです。ぜひお越しください!

このブログ記事では週刊 Ask An Expert 第28回目をお届けします。「参考になった」「いい内容だ」と思っていただけたら、ぜひハッシュタグ #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 ってどんなところなのか、一緒に見ていきましょう。Let’s ask an expert!

 

週刊 Ask An Expert #28 (2019/10/ 21 – 10/25)

この週の対応者は SA: 菊池・吉廣・畑・湖山・上原・石見・浅野・江口・池田、 CSE: 嶋本 でした。

 

Q1: 位置情報をもとに、半径1Km以内の人にモバイルプッシュを送信したい。

現在はプッシュ通知の送信に Amazon SNS をお使いとのことでしたが、Amazon Pinpoint で現在地をエンドポイント属性に保存してセグメント条件にする方法である程度要件を満たせる可能性があることをご案内しました。

 

Q2: AWS AppSync をローカルで動かす方法はあるか。

AWS Amplify の CLI コマンド、 amplify mock で AppSync サーバーをローカルで起動できます。

 

Q3: Amazon Personalize でレコメンデーションをしてみたいが、何をすればいいかわからない。

まずは公式ドキュメントのチュートリアルを触ってみていただけるようお願いしました。
また、こちらの資料もおすすめです。

20190716 AWS Black Belt Online Seminar Amazon Personalize

 

Q4: 複数の会社が持つセンサーデバイスからのデータを Amazon Kinesis で受け、異常値検知するために AWS Lamdba を実行している。各社ごとの AWS Lamdba ファンクションの実行回数をカウントし、請求額の集計をするにはどうすればよいか。

一案として、 Lambda ファンクションからに CompanyID のようなものを含むログを出力し、Amazon CloudWatch Logs から Amazon S3 に届け、Amazon Athena で集計する方法をご提案しました。

 

Q5: 医療情報を Amazon S3 上に格納する。許可された人のみに一時的にファイルをダウンロードさせたいが、どのように実装するのがよいか。

詳しくお聞きしたところ、Web アプリケーションでブラウザからの操作を想定しており、サーバーサイドは Amazon EC2 上で稼働する Node.js とのことでした。
Node.js から該当ファイルに対する署名付き URL を作成し、それぞれのクライアントに適宜返す、セキュリティは URL の有効期限を短くして担保する方法などをご説明しました。

 

Q6: IAM ユーザーが追加されたことを Hook し、Lambda ファンクションで追加処理をしたい。

AWS CloudTrail と Amazon CloudWatch Events を連携設定し、該当の CloudWatch Events を Lambda ファンクションのイベントソースにしておけば実現できそうでした。

 

Q7: Amazon Kinesis Data Stream -> AWS Lambda の構成をとっている。全体のスループット(処理件数/単位時間)を上げるにはどうすればよいか。

Kinesis のシャード数を増やして Lambda ファンクションの同時実行するを上げる、バッチサイズやバッチウィンドウを調整する、Lambda ファンクション側で複数の子ファンクションを呼び出して並列化するファンアウトパターンを取る、などの方法についてご説明しました。

 

Q8: Amazon RDS for MySQL を使っている。セキュリティ的に問題ない設定になっているかレビューして欲しい。

セキュリティ的な設計のポイントや考慮事項などを総合的にご案内、ヒアリングさせていただきました。具体的には Security Group、IAM ロール/ユーザー、通信の暗号化、データの暗号化、MySQL 自体のユーザ管理、などについてお話し、見つかった改善点については対応をご検討いただくようお願いしました。

 

Q9: Private subnet に配置された Amazon EC2 インスタンスに Shell ログインしてメンテナンスしたい。VPN を張る必要があるか?

はい、AWS Client VPN を使って VPN 接続を経由してアクセスすることもできますし、AWS Systems Manager の Session Manager を使うことで踏み台サーバーを使うことなくインスタンスにログインすることも可能です。

 

Q10: AWS とはなにか、どういうものなのか?教えてほしい。

もう少し詳しい話をお伺いしたところ、技術的バックグラウンドはないが、Web サービスでビジネスを立ち上げたくてチャレンジ中の Builder の方でした。未経験から一人での開発・運用はなかなかハードルが高いと思われることなどをお話しながら、AWS としては豊富なクラウドサービスを提供する他、APN パートナーの利用、SA や AWS サポートによる技術支援、Ask An Expert や AWS Loft Tokyo といった場を提供させていただけることなどをご案内しました。


 

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

最後までお読み頂きありがとうございます。冒頭に書いたように、執筆者の独断により興味深かった質問を選び、かつざっくり要約して記載しています。実際にはより具体的な質問をより多く頂いていますが、様々なご相談があることが伝わっていれば幸いです。まだ Ask An Expert カウンターをご利用になったことがない方も、AWS Loft Tokyo をご利用の際はぜひお気軽にご質問ください。
※ Ask An Expert が混雑してお待ちいただく場合、またはエキスパートが不在の場合がございます。何卒ご容赦ください。

このブログの著者

塚田 朗弘(Akihiro Tsukada, @akitsukada
AWS Amplify と Amazon Pinpoint が好き。