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

AWS基礎 / 2023 ニフティ新人研修

AWS基礎 / 2023 ニフティ新人研修

2023年度ニフティエンジニア新人研修の講義資料です。

Avatar for ニフティ株式会社

ニフティ株式会社

December 14, 2023
Tweet

More Decks by ニフティ株式会社

Other Decks in Technology

Transcript

  1. アジェンダ 1. クラウドについて 2. クラウドサービスの違い(SaaS,IaaS,PaaS) 3. AWSについて 4. AWS Well-Architectedについて

    5. ハンズオン(スケーラブルウェブサイト構築) 6. ハンズオン(サーバーレスアーキテクチャ構築) 7. アーキテクチャ図 8. コスト意識
  2. AWSとは • AWSは、Amazon Web Servicesの略で、Amazonが提供する クラウドコンピューティングサービスの総称 • 2006年に、Amazon 社内のビジネス課題を解決するために 生まれた

    IT インフラストラクチャのノウハウをもとにサー ビスがスタート ◦ 詳しい背景はこちら • クラウドインフラサービスにおけるAWSの市場シェアは約 33%で世界一位 https://techcrunch.com/2023/02/06/even-as-cloud-infrastructure-m arket-growth-slows-microsoft-continues-to-gain-on-amazon/
  3. 1 • ユーザはAmazon CloudFrontを通してアクセスする • Amazon CloudFrontのオリジンにはAmazon API GatewayとAmazon S3を

    設定している • Amazon S3には静的サイトで利用するファイルが入っている • Amazon API GatewayにはAWS Lambdaが紐づいている • AWS LambdaからはAmazon RDS Proxyを通してAmazon RDSに接続して ユーザデータを取得する
  4. 2

  5. アーキテクチャ図がないと何が不便なのか • システムのアーキテクチャを一目で認識することができない ◦ 文章で構成を表すことも不可能ではないが、認知負荷は図示された場合と 比べ物にならない ◦ 文章すらなければ、実際のリソース一つ一つを確認することでしか 確かめることができない ▪

    複雑であればあるほど把握し辛くなる • 同じシステムを担当するチーム内でも理解度に差が生じやすい ◦ あまり触れないリソースは存在自体を知らないということも ▪ アーキテクチャ図があれば、最低限存在だけは把握できる ◦ システム担当者でも理解しづらいので、それ以外の人は言わずもがな
  6. サービスごとのコスト • 各種クラウドのサービスごとの利用料金は公式ドキュメントに記述がある ◦ AWS ▪ AWS Lambda: https://aws.amazon.com/jp/lambda/pricing/ ▪

    Amazon S3: https://aws.amazon.com/jp/s3/pricing/ ◦ GCP ▪ Cloud Functions: https://cloud.google.com/functions/pricing?hl=ja ▪ Cloud Storage: https://cloud.google.com/storage/pricing?hl=ja • 個々のサービスのコストを確認することはできるが、複数のサービスを利用した システムを作成する場合にこのページだけを見てコスト計算するのは手間…… ◦ 専用の料金計算ツールが用意されている
  7. コスト予測: AWS Pricing Calculator • AWSの複数のサービスを組み合わせた コスト見積もりを作成するツール • 利用したいサービスを選択し サービスごとの料金計算に必要な要素を

    入力することでコストの計算が可能 • 計算結果から共有URLを生成して 結果のシェアが容易に可能 AWS Pricing Calculator: https://calculator.aws/#/
  8. • AWS Lambda ◦ アクセス数: 1000アクセス/時間 ◦ 平均処理時間: 100ms ◦

    CPU: 128MB ◦ メモリ: 512MB • Amazon RDS ◦ ノード数: 1 ◦ インスタンスタイプ: db.t3.medium ◦ 稼働率: 100% コスト計算の例: Amazon CloudFront + Amazon S3構成の静的サイト+API 見積もり条件 • Amazon CloudFront ◦ リクエスト数: 17280000リクエスト/月 ▪ 1アクセスあたりのリクエスト数: 24 • html, js, css, 画像20種類+APIアクセス ▪ 1000アクセス/時間 * 24時間 * 30日 * 24リクエスト/アクセス ◦ データ転送量(インターネット): 21TB ▪ =1000リクエスト/時間 * 24時間 * 30日 * 0.3GB * 0.1 ▪ ブラウザキャッシュヒット率99.9% ◦ データ転送量(オリジン): 0GB/月 • Amazon API Gateway ◦ 種類: REST API ◦ リクエスト数: 1000アクセス/時間 ◦ キャッシュ: 無し • Amazon S3 ◦ データ保存量: 0.3GB
  9. コスト確認: AWS Cost Explorer AWS Cost Explorer • 実際に使われているコストを表示するAWSのサービス ◦

    リソースごとのコストをグラフ・表形式で可視化 ◦ 毎時、日別、月別でグループ化 ◦ リソースのオペレーション単位でも可視化 ◦ フィルタ機能で条件を絞りながら確認可能 • 事前の想定よりもコストが掛かっていないか?コストを減らせそうな箇所はない か?など定期的にする ◦ 事前の予測から漏れることもある ◦ 前のスライドの見積もり例でも、実はAWS LambdaやAmazon API Gateway のログを出力するAmazon CloudWatch Logsが見積もりから抜けている • コスト配分タグとして定義されているタグは、AWS Cost Explorerでの グルーピングにも利用可能
  10. クラウド死 使い方次第ではクラウドで膨大な請求を受ける可能性がある • 要因 ◦ 実装・設計ミス ▪ サービスによっては、慣れていないと想定外の挙動をする可能性がある ▪ 実際に発生した事例

    • Amazon S3のオブジェクト追加がトリガーのAWS Lambda内で オブジェクト追加 ->追加したオブジェクトのパスもトリガーになっており AWS Lambdaが無限に発火し続ける • AWS Fargateの設定ミスによるコンテナ無限起動 -> AWS Configのコスト増大 ◦ 第三者による不正利用 ▪ アクセスキー/シークレットアクセスキーの流出 • 参考: https://qiita.com/saitotak/items/813ac6c2057ac64d5fef