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

個人開発・ベンチャー・エンプラと渡り歩いて
感心したAWS活用術の紹介

mayuki12
October 06, 2022

 個人開発・ベンチャー・エンプラと渡り歩いて
感心したAWS活用術の紹介

ベンチャー企業と大企業の双方で働きつつ、個人開発でもAWS利用をしてきて、良いと感じたAWS活用術の一例をまとめました。

mayuki12

October 06, 2022
Tweet

Other Decks in Technology

Transcript

  1. 自己紹介 名前:牧野 佑城雄(まきの ゆきお) (@mayuki12) 経歴: メーカーの情報子会社 (約4年) Web系のベンチャー企業 (約4年)

    通信会社の情シス (約半年) 職務: オンプレ仮想化基盤の維持保守 → クラウドのインフラエンジニア クラウド環境上のWeb系システムのインフラ構築、運用を担当 苦手な言葉:現行踏襲 AWS利用歴 5年
  2. AWS AMPLIFY CONSOLE を利用  Amazon CloudFront と比較をすると必要な設定項目が少ない  特定の静的サイトジェネレータは個別のビルド設定もほぼ不要

     GitHub連携で CI/CD も簡単に実現  サイトに対してBASIC 認証やカスタムドメインの利用可能 デフォルトで利用可能な ツールが多々ある
  3.  サービス提供開始して約5年以上で継続的に利用者数も増加し、サービス提供時間24/365 のプロダクト  約8人ほどの開発チームで一日数回デプロイするような開発速度  AWS の一般的?なインフラ構成(今はコンテナ環境に移行済)  IaC(InfraStructure

    as Code) でインフラの管理 Public subnet ベンチャー期のクラウド利用 Amazon CloudFront VPC DB subnet Amazon Aurora Private subnet Availability Zone 1 Availability Zone 2 Auto Scaling group Elastic Load Balancing コンピュートの クラウド活用 Instances Instances AWS Cloud
  4. サーバの設定変更時の工夫  軽微な変更作業(設定ファイルの変更)は構成管理ツールの Chef でサーバ上の設定を直接変更  リスクのある作業はブルーグリーンデプロイで構成変更  AutoScalingGroup を複数作る事で実現

     IaC 活用により必要な時にサーバを新規構築  ロードバランサでカナリアリリース  影響を最小限に  切り戻しも簡単に出来る Public subnet VPC Private subnet AZ 1 AZ 2 Auto Scaling group (BLUE) ELB Instances Instances Chef 軽微変更 Auto Scaling group (GREEN) 90 10 AZ 1 Instances AZ 2 Instances リスクのある変更
  5. 検証用 subnet 継続的なサーバテスト  継続的なサーバ設定のテストを実施 1. インフラの設定が更新される(IaC のコード) 2. EC2を起動する

    (Vagrant 利用) 3. サーバ設定を実施する(Chef 利用) 4. 設定のテストをする(Serverspec 利用) 5. テスト用サーバを削除  不測の事態に早めに気づくことが出来る  パッケージが latest 指定で最新版になると落ちる  パッケージのダウンロードURLが落ちている  設定変更箇所以外のデグレに気付ける  それなりに維持工数はかかる… Public subnet VPC Private subnet AZ 1 AZ 2 Auto Scaling group (BLUE) ELB Instances Instances Instance テスト用 サーバ
  6. エンプラ期のクラウド利用  複数のシステム間連携がある事や、セキュリティ要件があるため数多のアクセス制御が必要  AWS のマネジメントサービス(AWS WAF や Amazon API

    Gateway)を活用 Public subnet Amazon CloudFront VPC DB subnet Amazon Aurora Private subnet Elastic Load Balancing AWS WAF Amazon EKS Amazon API Gateway AWS Cloud
  7. 他システム向けのAPI 利用の制御  複数システムが連携しているため、APIのアクセス制御のために Amazon API Gateway で制御  リソースポリシーでの制限

     API Key の発行  スロットリング制限(流量制御) Public subnet Amazon CloudFront Elastic Load Balancing AWS WAF Amazon API Gateway AWS Cloud VPC API Key 流量制御 リソース ポリシー