Load to Professional...

AWSエンジニアの日常。地に足をつける。

【ハンズオン参加レポ】JAWS-UG 初心者支部#37 codeシリーズハンズオンに参加しました

f:id:oni_rb:20210529234625p:plain

LT:AWS勉強中に勘違いしがちなこと@Part2

Speaker:亀田さん

①Lambdaはバッチ処理基盤?

そもそもLambdaってなんだろう

  • OSの実行方法は様々
    • ベアメタル
    • 仮想マシン(Virtual Machine)
    • コンテナ
    • サーバレス(Serverless)
      • Lambdaはこれ

バッチ処理ってそもそも何?

  • 本来は…バッチ処理:ひとまとまりのデータを一括して処理する方式
  • 一方、日本では「夜間バッチ」を指す。
    • 夜間バッチ:データの抽出、加工などの処理を数珠つなぎにしたもの
  • Lambdaはステートレスかつイベントドリブンを意識、冪等性も意識する

    • 一般的な夜間バッチだと数珠つなぎでステートフルなのでこの原則にあっていない。
      • Lambdaでやるのはだめ!
  • とはいっても夜間バッチしたい人へ

    • Step FunctionsとMWAAを使おう

まとめ

  • 日本でバッチ処理と言われているものは本来の意味とちょっと違う。
  • Lambdaを使うときはステートレス、イベントドリブン、冪等性
  • Lambdaで夜間バッチをやろうとしちゃだめ。
  • 夜間バッチをやるなら、他のサービス(Step Functions、MWAA)でやろうね。

②CloudFrontの料金の話

  • 動画、ライブ配信サービスを作りたい時の見積もりの話
  • CloudFront公式ページの料金表がGB単位
    • 単位がBytesのため、料金に8倍になる(bits計算にする)みたいなこと

まとめ

CloudFrontの料金は間違えがちだよ、という話でした。

③インススタンスストアとは?

EC2インスタンスのストレージの種類

  • EBS(有料):永続性があるストレージ
  • インスタンスストア(無料):揮発性のストレージ

EC2の構造

f:id:oni_rb:20210529233349p:plain

  • これらが独立してNICでつながっている
    1. CPU、メモリなど(ホスト部分)
    2. EBSストレージ
      • 昔は、NIC経由なのでパフォーマンスが良くなかった
        • 今はバージョンアップでそんなことはなくなってる
    3. インススタンスストア、セキュリティグループなど
      • 昔は、EBSストレージと比べると性能が優れていた

まとめ

  • EC2の内部構造の話。
  • インスタンスストアってAWS認定試験で少し勉強してから、あまり意識しないけど、実はこんなものだよっていう話でした。

ハンズオン:Codeシリーズハンズオン

Speaker:織田さん

ゴール

東京リージョンにCodeシリーズを利用したCI/CDパイプラインを構築する

実施手順

参考) リンク生きていれば下記が実施した手順です

https://shigeru-oda.github.io/code-handson-20210527/#0

やったこと

1回目:CodeStarを使ってCodePipelineを構成

  1. CodeStarでCI/CDパイプライン作成
    • CloudFormationを使用してインフラ構築→WEBページ作成までを自動でやってくれる
  2. CI/CDテスト
    • Cloud9でソースをコミット、テストWEBページに更新が反映されることを確認

2回目:手動でサービスそれぞれの構築を実施

  1. IAMロールの作成
    • CodeBuildへS3FullAccessを付与するロールを作成
    • 他のロールはCodeStarでの構築時に作成されたものを使用
  2. S3バケットの作成
    • バケット名は全リージョンで一意のものを選ぶ
  3. CodeCommit設定
  4. CodeBuild設定
    • ビルドプロジェクトの作成
  5. CodeDeploy設定
    • アプリケーションの作成
    • デプロイグループの作成
    • デプロイの作成
  6. CodePipeline設定
    • ソースステージ→ビルドステージ→デプロイステージを追加する
    • 手順3〜5で作ったコンポーネントをを数珠つなぎにして、CI/CDパイプラインを作成した
  7. CI/CDテスト

少しだけハマったところ

  • CodeDeploy設定のデプロイの作成時に「アーティファクトをS3にデプロイできない(スクショ忘れた)」エラーが出力。
    • 原因:「2. S3バケットを作成」で東京ではなくバージニア北部リージョンにS3バケットを作成していたこと
      • 東京リージョンにS3バケット作成し直して、デプロイ設定でS3を設定し直したところうまくデプロイできました。
        • 権限周りの問題もしくは同じリージョンじゃないとデプロイできないのかな?このへんもう少し調べたい、、、

ハンズオンの感想

  • インフラエンジニアとしてキャリアを歩んできたので、アプリのデプロイみたいな概念とあまり縁がなく、CI/CDって言葉も知ってたけど、実際構築するのは初めてでしたが、なんとなーくどんな感じ理解できた。
  • CI/CDに限らないけど、自動化ってやっぱハードル高いなと、そんなややこしいプロセスを自動化してくれるCodeシリーズってとてもいいなと思った。
  • ハンズオンをやればやるほどIAMの理解の重要さとわかってなさをまじまじと実感させられる。