0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

普段Azureしか触らない人がAmplifyを触ってみた

Last updated at Posted at 2022-09-01

こんにちは、普段はAzure, .NETでアプリ開発をしていてAWSコンソールとは縁のないエンジニアです。
個人的にはAWSよりもAzureの方が好きなのですが食わず嫌いは良くないのでAWSも個人開発で触ったりしてます。

半年前くらいに業務で位置情報サービスについて調査する機会があり、Amazon location Serviceについて調べていて位置情報を使うと面白いサービスが作れるのでは!?と思いAWS周りのことを調べていてamplifyというサービスに出会ったのでamplifyについて記事にしていこうと思います。

最短amplify導入

詳しく知りたい人はamplify DocumentへGo!

簡単な使い方としては、

npm install -g @aws-amplify/cli
amplify configure

でAWSコンソールへの認証設定をして、

amplify init

でバックエンドプロジェクトを初期化して

## 以下の例ではgeo, authを追加してるよ
amplify add <service name>

で欲しいサービスの設定をローカル上で追加して

amplify push

とするとクラウド側にローカルでしていた設定が反映されるらしい。
amplify ドキュメントに書いてあるようにamplify CLIを叩くだけで認証機能をアプリに組み込んだり、位置情報サービスを組み込んだりができる。

amplify CLIで作成されるフォルダ

Amplify CLIを叩いた後に作られるjsonを見るとわかるのですが、IAM Roleの設定だったり、ファイルを置いておくS3バケットの生成だったりが自動でされている。
下のスクショは試しにGeoとAuthサービスを足してみた時のイメージです。

①.config, #current-cloud-backend
AWSリソース同士のマッピング、ローカルファイルとamplifyで管理しているリソースのマッピングをおこなっている。
②backend
リソース生成時のパラメータに入る値が定義されている。cloudformationという名前のフォルダがあるので、このフォルダの中身をCloudformationに食わせると全く同じリソースが作られるはず(多分。。。)
③hooks
amplify CLIにフックして何かコマンドを実行したい時に使えるらしい。

名称未設定のアートワーク.png

amplify Docs(Javascript): 認証 - Getting Started
amplify Docs(Javascript):Geo - Getting Started

AWSコンソール側でも作られたリソースを確認してみると以下のリソースが作成されていることが確認できた

amplify-alsdemoproject-dev-231359 AWS::CloudFormation::Stack 
UnauthRole                        AWS::IAM::Role                            
DeploymentBucket                  AWS::S3::Bucket                           
AuthRole                          AWS::IAM::Role               
UnauthRole AWS::IAM::Role  
AuthRole         AWS::IAM::Role   
DeploymentBucket AWS::S3::Bucket               

Amplify CLI経由で追加できるサービスには以下のようなものがある。
サクっとPoCを作りたい時に必要なものが揃っているイメージ。

スクリーンショット 2022-09-02 0.59.51.png

感想

メンテナンスのしやすさだったり、チーム開発のしやすさ、他ベンダーのサービスとの組み合わせなどを考えた時に業務で使えるかはまだ分からないけれど、コマンドを叩くだけでAWSリソースが自動生成されて、簡単にアプリに組み込むことができるのは魅力に感じた。
裏で動いているのはCloudformationなので、細かいカスタマイズをしたいとなった時もCloud formationテンプレートの読み込み&編集で対応できそう。
UI側についてもFigmaで作ったコンポーネントを読み込んだりできるのでこの辺りも試してみたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?