1
0
AWS slackを組み合わせた検索システムの構築方法
やりたいこと:slackbotを使った検索システムの作成
slackbotに対して、メールアドレス(または氏名等の別情報)をメンションで投稿すると、裏で持っている情報(今はcsvしか無い)から該当者の氏名、電話番号等のプロフィールを返すようにしたいと考えています。(1万名ほどのデータです。)
背景、状況
前提として、弊社内にはオンプレのサーバーが無いため、クラウドサービスでの対応になります。
AWS dynamoDBとlambdaを使用するのがよいかと考えていましたが、部分一致での検索が多くなることが予想され、完全一致でないといけないパーティションキーが必要なdynamoDBは不向きかと思い始めました。
下記、想定される使用ケース等の詳細です。
ーーー
・裏で持つデータは、氏名、ID、電話番号、所属等の20列*1万行ほどのデータ
→今はcsvで保持しているので、それをDBに移すこととなります。月一程度で内容の更新予定です。
・ID、氏名、電話番号、メールアドレス列を部分一致で検索したいと考えています。所属等は検索できなくても問題ありません。氏名は同姓同名の可能性もあるので、検索の方法は検討中です。
・メンションによるリクエスト数は月間10000程度を想定しています。
・メンテナンスは私が一人で担当することになる予定です。
・費用はAWSの無料枠内でできればと考えていますが、実際費用感がどの程度になるかの検討がついていません。費用が発生するようでも、月数千円~1万円程度であれば問題ないと考えています。
・社内のみでの使用のため、100%ストップせずに運用しなければならない、といったレベル可用性は無くてもよいと考えています(費用との兼ね合いです)。
ーーーー
こういった場合は、AWS RDSでMySQL等を使用するのがいいのでしょうか?
slackbot -> API Gateway -> lambda -> MySQL(AWS RDS) でデータを検索、結果を返すのが良いのでしょうか?
弊社内で使用できるリソースはAWSくらいなので、AWSのサービスで解決したいと考えています。
なお、当方のレベルとしては
・slackbot -> webhook -> lambda &cloud watchを使用して定期的に投稿するslackbot
・slackbot -> API gateway -> lambdaを使用してメンションに応じてカスタムレスポンスするslackbot
を作成したことがあるくらいです。なおlambdaではpythonでコードを書いています。
以上、ご知見ありましたら是非ご教示ください。
回答6件
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。