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

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

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

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

ニフティ株式会社

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