筋結 – Kinniku With Communication – 要件検討では制作するアプリケーションの要件定義を行った。今回は筋結 – Kinniku With Communication –で使用するAWSについて、使用できそうなものを調査していく。
AWS とは
AWS は amazon のウェブサービスのことで、昨今話題となっているクラウドサービスの一つである。詳細についてはここで記載するより以下のサイト(本家)を参照したほうが良いだろう。
アマゾン ウェブ サービス (AWS) は安全なクラウドサービスプラットフォームで、ビジネスのスケールと成長をサポートする処理能力、データベースストレージ、およびその他の機能を提供します。数百万のお客様が、現在どのように AWS を活用して、高い柔軟性や、スケーラビリティ、および信頼性を確保した洗練されたアプリケーションを構築しているのか、ご覧ください。 AWS (アマゾン ウェブ サービス) とは?【AWS公式】 - Amazon Web Services, Inc. |
今回は AWS の経験のみできれは良いので無料版の機能のみを使用していくこととする。
AWSで使用する機能を探す
以下のページから AWS にアクセスする。
Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use. Cloud Services - Amazon Web Services (AWS) - Amazon Web Services, Inc. |
すると以下のような画面が表示されるので、「AWS 無料利用枠」から使用できるAWSの機能を検索する。
「AWS無料利用枠」ページの下部を確認すると以下のように使用できる機能について絞り込みが行えるので必要と思われる機能を選択することで、何が使えるのかを確認する。
製品カテゴリを一つひとつ確認すると、今回開発するアプリケーション必要となるのは以下だろう。
- アプリケーションの統合
- コンピューティング
- データベース
- デベロッパー用ツール
- モバイル
- セキュリティ、アイデンティティ、コンプライアンス
使用するAWSの機能
上記で製品カテゴリを選定したその中で、使用する製品について整理していく。
アプリケーションの統合
- amazon SWF
amazon のシンプルワークフロー。ユーザがスマホ上からデータを登録した際、データベースに登録するように加工したり、実際にデータベースに登録したりするのに使用できるかと思われる。
- AWS Step Functions
amazon のステップ関数。作った処理の処理順を制御する製品と思われる。今回はそこまで複雑な処理になるとは思われないが「慣れる」という意味では使ってみたいと思う。
コンピューティング
- AWS Lambda
イベントやリソースを管理する機能らしいので、とりあえずで使ってみる。実際のアプリケーションには影響がないと思われる。
データベース
-
Amazon DynamoDB
アマゾンのデータベース。今回のシステムでは日々、筋トレやコミュニケーションの情報、ユーザ管理などに使用できると思われる。
デベロッパー用ツール
- Amazon CloudWatch
クラウド上のリソースなどを管理・確認する機能らしいので、とりあえずで使ってみる。実際のアプリケーションには影響がないと思われる。
- AWS CodeBuild
ソースコードのビルドが行えるらしい。クラウド上のアプリケーションであればこちらを使用してビルドしていくことになるかと思われう。
モバイル
- Amazon SNS
プッシュ通知を行えるらしい。コミュニケーションや予定していた筋トレの通知などで使用できるのではないかと思う。
- Amazon Cognito
モバイルのユーザIDを使用できるらしい。コミュニケーションを行うにはユーザID同士で管理する必要があるかと思われる。
セキュリティ、アイデンティティ、コンプライアンス
- AWS Key Management Service
暗号化を行えるらしい。コミュニケーションやユーザパスワードなど暗号化すべきデータは多々出てくると思われる。
AWSのうち上記の機能を駆使して、今回のアプリケーションを作成していきたいと思う。