AWSに触れてみる
こんばんは。
急に思い立ってAWSをやってみることに。
とは言っても、AWSが何かもよくわからないので、気の向くままに挑戦。
AWSとは
ググれば書いてあるので省略。
感想としては「で?」という感じ。なんでもできそうな半面、何から始めていいのか、さっぱり・・・
「AWS の開始方法」というものがあったので、ここから始めてみることに。
モジュール 1: ウェブアプリケーションを作成する
HTMLを作ってZipにしてAmplify コンソールにログイン、と。
その前にアカウント作っていないので、ここから新規登録。
登録時に住所やクレジットカードまで必要なのが、ちょっと嫌ですが、仕方ない。
こういうところ、Salesforceは簡単でよかったなと思う。。。
言われるがままにデプロイして、確認完了。
サーバを立てる作業を少しもしてないのにもうサーバが立ち上がり、アプリが乗っている状態になっていると。
これは確かに簡単。
ただ、私はインフラエンジニアではなく、サーバを立てる苦労はほとんど知らないので「へー」という程度。特に普段Salesforceを使っているので、あまり驚きはないというのが正直なところ。
モジュール 2: サーバーレス関数を構築する
「サーバレス関数」というタイトルなのに、読み進めると「Lambda 関数」になっている。サーバレス関数の中のLambda関数と思って良さそう。
「Lambda」は「ラムダ」と読むらしい。
「関数の作成」をしたら、10分くらい終わらず・・・
いったんキャンセルしてやり直したところ、数分で作成されました。
そしてまた言われるがままにテスト実行して成功。
JSONを送って、それを受け取ってレスポンスを返す、というのが確認できた模様。
これのどこが「サーバレス」だったのかはよくわからないけど・・・
モジュール 3: サーバーレス関数をウェブアプリケーションにリンクする
1つ、罠にかかってInternal Server Errorが発生。
リージョンはLambda関数を作成したところを選ばないとダメらしい。
特に手順には書いてない気がするのですが、Lambda関数の手順に「メモっておけ」とあったので、たぶんそういうこと。
成功するとこんな感じ。
モジュール 4: データテーブルを作成する
ここまで、モジュールごとにいちいちコンソールが違うというのが初心者にはとてもわかりづらい。慣れれば、これが使いやすいのかな?
DBを作成し、APIからのアクセス権を定義し、APIを実行すると、
え、、DBの項目も作成されている。なんで?
試しに関数にTestの行を1行追加して実行してみる。
response = table.put_item(
Item={
'ID': name,
'LatestGreetingTime':now,
'Test':'aaa'
})
DBの項目も追加された。すごいな。
使いようによっては便利なのかもしれない。(特に便利な用途は思いつかないけど)
モジュール 5: ウェブアプリケーションに対話性を追加する
これも言われるがままに実行し、成功。
アプリからAPIを呼び出せていることになるはず。
以上でお試し第一弾は終了。
まとめ
チュートリアル自体は非常に簡単で、何ができるのかざっくり体験できたのでとても良かった。
■良かった点
APIやDBを作るところがこんなに簡単に済むというのは素晴らしい。
■よくわからない点
アプリとAPIの棲み分けとか、ちょっと混乱している気がする。
例えばJavaアプリを作ったらその中にAPIを作るのと、AWSの関数としてAPIを作るのと、何が違うのか・・・もう少し使ってみないとまだ何もわからないな、という感じ。
また後日。。