【AWS】モダンアプリ開発のチュートリアルやった感想

IT

会社でAWSを使い始めてはいます。

しかし、いわゆるモダンアプリケーション開発(今流行りの、サービスを色々組み合わせて、活かしたシステム開発)は全く素人です。

そこで、チュートリアルを通して、AWSでのモダンアプリ開発を実際に肌で感じました。

学んだことを、自分の視点でまとめておきます・・

今回行ったAWSモダンアプリ開発チュートリアル

過去にAWSで公開されていたものですが、現在はWebアーカイブになっているものです。

現代的なウェブアプリケーションの構築

アーカイブが消される可能性もあるので、画像を貼っておきます↓

  • 静的ウェブサイトの作成
  • 動的ウェブサイトの構築
  • データの保存
  • ユーザーの登録
  • ユーザーの分析

チュートリアルを行うことで、今まであまり触れたことがないAWSサービスに触れられます。

レベルはAWS初心者向きとなっていますが、初心者にはきつめの内容だったと感じます。

・・つまり私は初心者以下、AWSのスタートラインに立ててないということですね。

頑張ろう。

チュートリアルで注目のAWSサービス

今回のチュートリアルではじめて触れた、私の注目するAWSサービスをメモしておきます。

ちなみに、以下のようにAWSブックマークが埋まりました。

IAM、EC2、S3、VPCといった基本的なもの触ったことがあります。

それ以外の、Cloud9、ECS、DynamoDB、CodePipeline、Cognite、API Gateway、CloudFormation、Lambda、Kinesisといったサービスは初めて触れました。

私見での簡単にまとめると以下のとおり↓

  • Cloud9…開発環境
  • ECS…コンテナ
  • DynamoDB…データベース
  • CodePipeline…コード反映自動化
  • Cognite…ユーザID管理
  • API Gateway…API
  • CloudFormation…システムまとめ(スタック)
  • Lambda…コード実行
  • Kinesis…分析

ざっくりしすぎですかね・・ このくらいの感覚です。

個人的に難しいと感じたのは、コンテナ/コード反映自動化の流れの部分です。
チュートリアルでいうと2つ目ですね。2つ目ですでに躓き、涙目になります。

デプロイの自動化という図で紹介されているものです↓

開発環境でコードを修正して、Gitコマンドを実行してリポジトリに反映したら、本番システムにも自動でコミットされる、という仕組みを作ったのですがかなり難解でした。

チュートリアルでの躓きポイント

チュートリアルに沿って進めると、ひととおりモダンアプリケーション開発を学べるのですが、一筋縄ではいきませんでした。

私かひっかかった箇所をちょっと紹介します。

1.AWS環境にデプロイするサンプルのコードが古くて動かない箇所ありモジュール2)

 ⇒依存環境ファイル(requirements.txt)の、Flaskのバージョンを書き換えたら解消。

2.Dockerのビルドが失敗してコード自動反映ができなかったモジュール2)

 ⇒DockerFileに指定したubuntuのバージョンをLatestから数値指定に変更したら解消。

3.CodePipelineで謎の失敗(回数制限にかかったらしい)モジュール2)

 ⇒何回かリトライで進めた。

※これはAWS側ではなく、DockerHub側の制限のようです。

ちゃんと、DockerHubのアカウントを登録して、そのアカウントを使うようにすれば出なくなりそうですが、私はリトライで乗り切りました。

4.CloudFormationのスタックデプロイでエラー(モジュール5)

 ⇒ymlファイル内のPythonランタイムのバージョンを新しく書き換えたら解消

5.作成したリソースが消せない(モジュール5)

 ⇒依存関係をひとつひとつ消していき解消。

取りあえずエラーが出まくるので、エラー原因を調べつつ消していきました。

一番引っかかったのは、ロードバランサーが消せないこと。

結論として、API Gatewayのリンクでロードバランサを指定していたため、APIGateway側のリンクを削除すれば消せました。

チュートリアルにかかったAWS費用

3週間くらいでチュートリアルを終え、$39(日本円で5,000円くらい)でした。

しかし、AWSのセミナーに参加した時にもらった$50分のクレジットがあったので、0円の支払いで済みました。

クレジットが適用された後で、内訳を後から見ることができないようですが、主にEC2の利用料金がほとんどを占めていたと思います。

まあ、チュートリアルは早く終わらせて早めにサービスを消すのが良いと思います。

まとめ

1.AWSでのモダンアプリ開発のチュートリアルを試してみました。

2.AWS初心者向けとのことですが、難度は高く感じました。AWS以外にもDockerやGitも当たり前のように出てきます。

3.触れたことのないAWSサービスを使ったことで、モダンアプリ開発のイメージが少し明確になりました。

※中身のプログラムは全く理解できていませんが

4.エラーに遭遇した時の調査、対応は良い経験になったと思います。

5.各AWSサービスを使い、おおよその費用感もつかめました。

こういった開発を当たり前のように(歯を磨くように)できないといけない時代がくるのでしょうか。引き続き精進します。

コメント

タイトルとURLをコピーしました