Upgrade to Pro — share decks privately, control downloads, hide ads and more …

なんとなくわかるAWSサービス

Cb88f765dd38cd942c39aacb5abbea06?s=47 ufoo68
April 21, 2021

 なんとなくわかるAWSサービス

Cb88f765dd38cd942c39aacb5abbea06?s=128

ufoo68

April 21, 2021
Tweet

Transcript

  1. なんとなくわかる AWSサービス @ミニアプリNight

  2. 自己紹介 • 本名 ◦ 松永勇太 • SNSでの名前 ◦ ufoo68(@ufoo_yuta) •

    好きなアニメ ◦ バジリスク
  3. 本資料が目指すところ 本発表では、AWSサービスの理解ではなく、今回触るAWSサービスがどんなものかな んとなく雰囲気を知ってもらうことを目的としています 説明はかなりざっくりとしておりますので、あしからず この時間では各AWSサービスの名前と立ち位置だけを知ってもらって、あとは各自が調 べてみる形がいいかと思います

  4. きょうの登場人物 Cloudfront S3 API Gateway Lambda DynamoDB LINE Server Stack

    CloudFormation AWS Systems Manager LIFFライブラリ経 由 /api/* /* デプロイ Serverless Framework
  5. CloudFront • content delivery network(CDN)に用いられるサービス ◦ エッジロケーションでレイテンシを削減する ◦ キャッシュ機能で必要なときだけオリジンと通信する •

    今回はパスの振り分け機能を使用 ◦ /apiを含んでいるパスは APIへ、それ以外はUIへ振り分ける。等ができる • ウェブアプリとかを実装するなら使っておいて損はないサービス ◦ SPAの場合だと、「404エラーのときでもindex.htmlを読むようにする」等といったことが実装できる
  6. S3 • フルネームはSimple Storage Service ◦ スケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトスト レージサービス ◦ 99.999999999%

    (9 x 11) の耐久性を実現 • ストレージサービスとしても十分に使えるサービスであるが、今回はウェブサイトの ホスティング機能を使用 ◦ ちなみにS3だけを用いてウェブアプリを公開することも可能(非推奨)
  7. API Gateway • 早い話がAPIを作るなら必須なサービス ◦ APIの作成、公開、保守、モニタリング、保護を簡単に行うことができる ◦ REST APIおよびWebSocket APIが作成できる

    • 今回はLambda(次で説明)と組み合わせてREST APIを作成している ◦ ちなみにS3とか他のAWSサービスとの直接連携もできる
  8. Lambda • AWSが提供するFaaS(Function as a Service) ◦ サーバーのプロビジョニングや管理、ワークロード対応のクラスタースケーリングロジックの作成、イ ベント統合の維持、ランタイムの管理が不要 ◦

    アプリケーションのコードを書くだけでサーバーを実装することができる • 本当にいろんなことができる ◦ 今回のようなAPI Gatewayと組み合わせたAPIサーバーを実装する ◦ あるイベント(例:S3にデータが書き込まれた時 )をトリガーにしてコードを実行 ◦ 定期的(例:1分おき)にコードを実行
  9. DynamoDB • AWSが提供するNoSQLデータベースサービス ◦ データの格納と取得に特化している (所謂key-valueストア) ◦ jsonデータの保存もできる ◦ マルチリージョン、マルチアクティブで耐久性がある

    • とりあえずLambdaでデータベースを使いたい時によく使うサービス ◦ データの貯蔵にはお金がかかるので実用する場合は注意
  10. Systems Manager パラメータストア • 設定データ管理と機密管理のための安全な階層型ストレージ ◦ パスワード、データベース文字列、 Amazon マシンイメージ (AMI)

    ID、ライセンスコードなどのデー タをパラメータ値として保存できる ◦ コードで用いる機密情報をハードコーディングせずに管理するために使うサービス • 今回はLIFFのIDとチャンネルIDの保存に使用
  11. CloudFormation • AWSが提供するIaC(Infrastructure as Code)サービス ◦ テンプレートファイルで AWSの構成を管理できる ◦ プロビジョニング(AWSを実際に構成する作業

    )を自動化できる • 今回は用いるAWSサービス達はCloudFormationを用いてStackというまとまりで 管理されている
  12. Serverless framework • サーバーレスなアーキテクチャを簡単に構成できるフレームワーク • AWS意外にも様々なクラウドサービスに対応している(らしい) • CloudFormationのテンプレートエンジンとしても使うことができる ◦ サーバーレスなアプリケーションを素の

    CloudFormationを書くよりも簡単に記述・デプロイが可能 ◦ 今回サーバーレスの開発で用いるツールはこれ