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

EC2をあきらめない - Amazon EC2を活用したアプリ実行基盤のモダンな運用を考える ...

cyberarchitect
September 30, 2021

EC2をあきらめない - Amazon EC2を活用したアプリ実行基盤のモダンな運用を考える / please-do-not-give-up-ec2-in-2021

EC2のPublic beta 版がリリースされたのは 200 6年。EC2 が使われ始めてから、15 年が経過しています。
その間、AWSは開発者の声に応えるかたちで、Elastic Beanstalk や OpsWorksといった PaaS(Platform as a Service) 型サービス「サーバーレス」という新しい概念と Lambda のような FaaS(Function as a Service) 型サービス、コンテナの普及に伴った、ECS や EKS といった CaaS(Containers as a Service) 型サービス等、様々なサービスをリリースしており、広く使われるようになっています。
それでは、EC2 という IaaS 型のサービスはすっかり廃れてしまったのかというと、少なくとも私のまわりではそのような状態にはなっていません。コンテナやサーバーレスの考え方を元にしたシステムは増えていますが、EC2 も相変わらず利用されています。
「EC2 はつらい」という声をよく聞きます。詳しく話を聞いてみると、まるで「レンタルサーバ」のようにEC2 を利用するばかりで、AWSが提供してくれている機能、つまり、「開発者がアプリケーションの開発や改善に集中できる環境作りをサポートする機能」を使いこなせていないケースが多いように感じています。本セッションでは、2021 年時点で、EC2 を便利に(そしてなるべく簡単に)使いこなすための、モダンな構築・運用を考えてみます。

cyberarchitect

September 30, 2021
Tweet

More Decks by cyberarchitect

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. EC2をあきらめない - Amazon EC2を活用したアプリ実行基盤の モダンな運用を考える 岡 智也 シニア・プリンシパル アクセンチュア株式会社 G-3
  2. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. This presentation makes reference to marks owned by third parties. Unless otherwise noted, all such third-party marks are the property of their respective owners. No sponsorship, endorsement or approval of this content by the owners of such marks is intended, expressed or implied.
  3. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. 自己紹介 アクセンチュア株式会社 テクノロジー コンサルティング本部 インテリジェントソフトウェア エンジニアリングサービス グループ シニア・プリンシパル 2021 APN Ambassador 2021 APN ALL AWS Certifications Engineer 好きなAWSサービス:Aurora, Fargate, Lambda 岡 智也 Tomoya Oka
  4. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. ⚫ アクセンチュアのご紹介 ⚫ Why Amazon EC2? ⚫ EC2の構築、運用を支援する5つのTips ⚫ 最後に アジェンダ
  5. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. アクセンチュアのご紹介
  6. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. アクセンチュアのご紹介 企業概要 概要 ◼ 売上:443億US$(2020年8月期) ◼ 創業: 1953年 ◼ 従業員数: 約56.9万人 ◼ 日本事務所:約16,000名(2021年6月1日時点) ◼ 最高経営責任者:Julie Sweet (日本) 代表取締役社長:江川昌史 アクセンチュアの組織と提供サービス ◼ 世界50カ国200都市以上に展開 ◼ 「ストラテジーおよびコンサルティング」「インタラクティブ」 「テクノロジー」 「オペレーションズ」の4つの領域で幅広いサービスとソリューションを提供 各業界の歴史、業界固有の課題やテクノロジーに精通したプロフェッショナルが、お客様に応じた各分野におけるサービスを提供 通信・メディア・ハイテク本部 金融サービス本部 製造・流通本部 公共サービス・医療健康本部 素材・エネルギー本部 先端技術やソリューション、サービスに特化したプロフェッショナルが業界横断でサービスを提供 展開国 & 事業内容  全社戦略開発支援  グローバル戦略  デジタル戦略、等 Client Group  全社成長  全社収益  サステナビリティ  IT・セキュリティ  人材・組織・オペレーティングモデル  イノベーション  AI  IoT  M&A  営業・マーケティング  サプライチェーン Strategy & Consulting ビジネスコンサルティング本部  パーパスとイノベーションが両立する意義深い顧客 体験の設計  製品・サービスの再定義  プラットフォームの構築  クリエイティブ、メディア、マーケティング戦略  キャンペーン、コンテンツ、チャネル設計・運用 Interactive インタラクティブ本部  テクノロジー・インフラ&クラウド戦略策定  テクノロジー研究開発(R&D)  エコシステム&プラットフォーム構築  システム・インテグレーション  アプリケーション・インフラストラクチャ・アウトソーシング  アクセンチュア・ソフトウエア開発・提供  アクセンチュアラボ・アクセンチュアベンチャーズ  製造業のデジタル化実現  業界別ソリューション  サイバーディフェンス  アプライド・サイバーセキュリティ  マネージド・セキュリティ Technology テクノロジー コンサルティング本部  経理・財務オペレーションサービス  人事・人材管理オペレーションサービス  調達オペレーションサービス  マーケティングオペレーションサービス  セールス(コマース)オペレーションサービス  カスタマーサービスオペレーションサービス  サプライチェーン・オペレーションサービス(製造業)  R&Dオペレーションサービス(製薬業)  契約管理オペレーションサービス(保険業)  トラスト&セーフティオペレーションサービス (プラットフォーム産業)  その他、様々なファンクション/業界向けオペレーション サービス Operations オペレーションズ コンサルティング本部
  7. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. アクセンチュアAWSビジネスグループ(AABG) URL: https://www.accenture.com/jp-ja/services/cloud/aws-business-group
  8. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. アクセンチュア・クラウド・ダイアリーズ URL: https://www.accenture.com/jp-ja/blogs/cloud-diaries
  9. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Amazon EC2とは ✓ Amazon Elastic Compute Cloud(以下、EC2)は、 アマゾン ウェブ サービス(AWS) 上で必要なコンピュートリソースを必要な時に仮想サーバとして起動し、従量課金型で利用する サービス ✓ AWSの代名詞とも言える、非常にメジャーなサービス ✓ はじめてEC2を利用した時(2009年)は、本当に衝撃を受けました・・
  10. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. お子さんだとすると、中学3年生ですね!!! EC2、15周年おめでとうございます!!! 引用: https://aws.amazon.com/jp/ec2/15th-birthday-event/
  11. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. EC2と、15年間に起きたこと ✓ EC2がリリースされてから15年の間に、サーバーレスやコンテナといった概念や実現するための 技術、そして、それらをマネージド型で提供するAWSサービスも続々とリリースされてきました ✓ 2021年現在では、アプリケーション実行基盤をEC2から新しいAWSサービス(Amazon Fargate、AWS Lambda、等)に乗り換えるケースも、一般的になっています ✓ 次頁にて、EC2や、その後新たにリリースされたAWSサービスの現状を概観します
  12. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. 長年、アプリはEC2で実行し、データベース等のマネージドサービスを組み合わせる設計が主流でした。しかし、 コンテナを前提としたアプリ設計・開発の流行、Amazon Fargateのリリース、そしてAmazon Lambdaの継続的 な機能改善等が契機となり、アプリ実行基盤としてのEC2利用見直しが検討されるようになりました。 AWSにおける、アプリ実行基盤の進化の流れ Amazon EC2 beta(2006) IaaS (Infrastructure as a Service) クラウドベンダが、ハードウェア、仮 想化基盤、OSイメージまでを提 供。ユーザは、OS選択・設定と ミドルウェアのインストール・設定・ 運用、アプリ開発・デプロイを担当 Amazon EC2 クラウドサービス 種別 クラウドサービス 種別概要 AWSにおける 該当サービス AWS Elastic Beanstalk(2011) PaaS (Platform as a Service) クラウドベンダが、様々なミドルウェ アを選択可能なアプリ実行基盤を 提供。ユーザは、アプリ開発・デプ ロイを担当 AWS Elastic Beanstalk, AWS OpsWorks, AWS App Runner AWS Lambda(2014) FaaS (Function as a Service) クラウドベンダが、短時間で完了す る処理を「ファンクション」として実 行可能なアプリ実行基盤を提供 。ユーザは、ファンクションの開発・ デプロイを担当 AWS Lambda 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 AWS OpsWorks(2013) Amazon ECS(2015) CaaS (Containers as a Service) クラウドベンダがコンテナオーケスト レーション基盤を提供。ユーザは、 アプリ開発・コンテナイメージ作成・ デプロイと、コンテナ同士の連携動 作に必要な設定・運用を担当 Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) AWS App Runner(2021) Amazon EKS(2018) Amazon Fargateリリース(2017)▼ Amazon FargateのEKSサポート開始(2019)▼ Amazon LambdaのAmazon RDS Proxyサポート開始(2020)▼ おおよそのAWSサービスリリースタイミング ※()内の数字はリリース年
  13. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. EC2は長年の間、継続的にサービス改善・機能追加が行われており、EC2でなければ実現できない要件も多い。 一方、数年前にEC2上で開発したシステムが「レガシー化」し、その運用保守が重荷になっているケースもあります。 2021年時点で、EC2を利用する主な理由 技術的な要件 ✓ OS以上のレイヤーを自由にカスタマイズし、さらにOS障害時もユーザー自身で対応できるようにしたい ✓ 極めてハイスペックなインスタンスタイプを利用したい (例:機械学習、HPC(High Performance Computing)等) ✓ システムで利用するソフトウェアのインストール要件として、EC2が必要 (例: ERPパッケージ、Amazon Relational Database Service(Amazon RDS)がサポートしないRDBMSを 利用したい、等) ✓ ベアメタルインスタンスを利用したい コンプライアンスや 社内規定等への 対応 ✓ 業界規制や、インストールするソフトウェアのライセンス契約により、「Dedicated Host」タイプのインスタンスを利用し、 AWSのデータセンター上でハードウェアを占有且つ特定する必要がある ✓ 社内のクラウド利用ガイドラインにおいて、利用可能なAWSサービスが限定されている (例: EC2は利用可能だが、Amazon FargateやAWS Lambdaは許可されていない、等) 予算やスキル、 技術的負債に よる制約 ✓ 新規に開発したアプリケーションは、コンテナ化やサーバーレスアーキテクチャの採用を進めている。しかし、数年前に オンプレミス環境からEC2に移行したシステムについては、予算や社内での優先度の関係上、「塩漬け」にしている ✓ 既存のEC2ベースのシステムの運用保守で手一杯であり、技術的なトレンドやAWSの新サービスリリースへの追随が 難しい。結果として、アーキテクチャの刷新に踏み込めないでいる
  14. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. OS以上のレイヤーに関する「設計・構築の自由度の高さ」のトレードオフとして、ユーザ自身が運用しなければ ならない要素が相対的に多くなるというのは、IaaSの特性です。(EC2が悪いわけではない) EC2の運用保守で負担になりがちな作業例 監視、アラートや障害対応、 スケーリング(手で対応) Auto Scalingできないアプリ (ミドルウェア制約、クラスタリングetc..) OSパッチ適用 ミドルウェアパッチ適用 OS設定やSecurity Group変更(セキュリティアラート対応等) OSやミドルウェアの設定やパッチレベルを揃えるのがつらい。 というか揃ってない バックアップ(AMI、スナップショット)の管理 OSアカウントや 証明書の管理 ハードウェアのRetireやパッチ適用に伴う OS再起動対応 不揃いなタグ そもそもタグが付与されていないケースも OSバージョンアップ
  15. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. EC2をあきらめない 次章にて、EC2の構築、運用を支援する5つのTipsをご紹介します ✓ 本来、AWS Cloud9(ベースはEC2)のように、ソフトウェア開発に携われる方々が「自由度の 高いアプリ実行環境を、気軽に手に入れられる」特性が、EC2の良さの1つのはず ✓ AWSの利用者は、今も増え続けています。初学者の方は、おそらくEC2からAWSに入門される ケースが多いのではないでしょうか ✓ 「EC2の始め方」に関するまとまった情報は、ネット、書籍等で簡単に手に入りますが、「EC2の 管理や運用を楽にする方法」は、情報が分散していたり、情報が古かったりする印象があります ✓ アプリ開発者やデータ分析者の方々がEC2を利用される際、本来の「価値を生み出す」作業に 集中できるよう、EC2の管理や運用を少しでも楽にできるようなTipsをご紹介したいと思います
  16. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. EC2の構築、運用を支援する5つのTips
  17. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 1: AWS Systems Managerを活用しよう(1/6) ー AWS Systems Managerとは ✓ AWS Systems Manager(以下、SSM)は、 AWSリソースの情報収集・表示、操作、アプリケーション支援等の、 運用管理を支援する様々な機能を提供するサービス ✓ EC2からSSMを利用するためには、最低限以下の条件を満たす必要あり • EC2に、AWS Systems Managerエージェント(SSM Agent)をインストール • EC2から、SSM APIへのアクセス経路を確保 ※VPCエンドポイントによるプライベートネットワーク経由での アクセスを推奨 • EC2のIAMロールに、SSMを利用するために必要なIAMポリシー (AmazonSSMManagedInstanceCore、等)をアタッチ AWS Systems Manager
  18. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 1: AWS Systems Managerを活用しよう(2/6) Systems Managerは非常に多機能で、一見とっつきにくいです。すべての機能を利用する必要はなく、特定の 機能を利用するだけでも、運用負荷を緩和できます。 ー SSMの機能全体像(2021年9月時点)(1/2) No 機能タイプ 機能 機能概要 1 高速セットアップ 高速セットアップ AWS推奨設定で、SSMの設定を設定 2 運用管理 エクスプローラー オペレーションデータ(OpsData)のダッシュボード 3 OpsCenter 運用作業項目(OpsItems)の管理 4 CloudWatchダッシュボード Amazon CloudWatch情報の表示 5 PHD AWS Personal Health Dashboard (PHD)の表示 6 インシデントマネージャー インシデント管理の支援 7 アプリケーション管理 アプリケーションマネージャー アプリケーションの自動検出、関連する情報の表示・管理 8 AppConfig アプリケーション設定(機能フラグ、等)の管理 9 パラメータストア 設定パラメータ値のデータストア 10 変更管理 変更マネージャー アプリやインフラの変更管理の支援 11 自動化 一般的なメンテナンスとデプロイのタスクを自動化
  19. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 1: AWS Systems Managerを活用しよう(3/6) (前頁の続き) 本セッションでは、赤枠で囲った機能の活用方法をご紹介します。 ー SSMの機能全体像(2021年9月時点)(2/2) No 機能タイプ 機能 機能概要 12 (変更管理の続き) カレンダーの変更 自動実行の除外日や、非定期作業のカレンダー設定 13 メンテナンスウィンドウ 定期的な作業のスケジューリング 14 ノード管理 フリートマネージャー サーバ群をグルーピングし、リモート管理 15 コンプライアンス コンプライアンス適合状況をダッシュボード表示 16 インベントリ サーバ構成情報のインベントリ表示 17 ハイブリッドアクティベーション オンプレミス環境のサーバをSSM管理対象として登録 18 セッションマネージャー マネジメントコンソール経由で、サーバにsshログイン 19 Run Command サーバ上で実行するコマンドを定義・実行 20 ステートマネージャー サーバのあるべき状態を定義・維持 21 パッチマネージャー 指定ルールに基づき、サーバにパッチを適用 22 ディストリビューター サーバにパッケージをインストール 23 共有リソース ドキュメント SSMで実行する処理をドキュメントとして記述・登録
  20. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 1: AWS Systems Managerを活用しよう(4/6) ー セッションマネージャーを活用し、ブラウザ経由でEC2にログイン ✓ (SSMの機能と意識せず、既に利用されている方も多いかもしれませんが) セッションマネージャーを利用することで、AWSマネジメントコンソール(つまりブラウザ)経由でEC2 にsshアクセスが可能になります • セッションマネージャー経由でポート転送セッションも確立できますので、LinuxサーバへのGUIを利用したSCP 接続や、Windows Serverへのリモートデスクトップ接続も可能となります • セキュリティやアプリのテスト要件次第ですが、この方式を活用することで、EC2へのsshアクセスのために別途 「踏み台サーバ」用途で利用していたEC2や、踏み台サーバにアクセスするために利用していたVPN環境 (AWS Client VPN、等)をなくすことができる可能性があります ✓ 【注意】セッションマネージャー経由でEC2へのアクセスを許可する場合は、事前のリスク分析と 対策検討を行い、IAMポリシーを定義してセッションマネージャーを利用できるユーザや 対象サーバを制限する、セッションマネージャ経由のアクセスログや操作履歴を保存する、等は 併せて実装しましょう
  21. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 1: AWS Systems Managerを活用しよう(5/6) ー パッチマネージャーを活用し、EC2のパッチ自動適用(1/2) ✓ パッチマネージャーは、SSMエージェントがインストールされたサーバへのOSパッチ適用内容やタス クを定義、管理する機能です • パッチ自動適用を実現するためには、パッチマネージャと、いくつかのSSMの機能が連携して動作する必要が あります。アーキテクチャは以下のとおりです AWS Systems Manager パッチマネージャ パッチ ベースライン (どのパッチを 適用?) パッチ グループ (対象サーバ は?) メンテナンスウィンドウ ウィンドウ (いつ、どのタスク を実行?) Run Command タスク (どのドキュメント を実行?) ドキュメント 実行する コマンドの内容 Amazon Elastic Compute Cloud (Amazon EC2) SSMの提供機能 SSM エージェント パッチ自動適用に必要な各種設定 SSM APIを経由して、ドキュメント に定義されたコマンド実行を命令 (今回はパッチ適用) 結果を返却
  22. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 1: AWS Systems Managerを活用しよう(6/6) ー パッチマネージャーを活用し、EC2のパッチ自動適用(2/2) ✓ パッチマネージャーをはじめとするSSMの提供機能は、LinuxやWindowsに対応した前述の 「パッチベースライン」や、パッチ適用のような汎用的な作業(つまり一連のコマンドをまとめたシェル スクリプト)を「タスク」や「ドキュメント」として提供しています ✓ シンプルなパッチ適用要件(例:緊急度「Critical」の最新パッチがリリースされた場合、 リリースから3日経過後、特定のタグの値を持つ全サーバに対してパッチを適用、等)であれば、 簡易な設定で実現可能 • 当然、現実の運用では、開発環境やステージング環境にてパッチ適用を行い、OSやアプリの動作への影響 確認を行うことになる • パッチマネージャーの「パッチベースライン」では、動作検証の結果問題のあったパッチを除外指定する、 特定のCVE番号のパッチ単体を指定する、といった定義もできるため、パッチ適用フローを検討の上、効果的 に活用しましょう
  23. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 2: 監視やログ収集は自動化しよう(1/2) ー Amazon CloudWatch ✓ Amazon CloudWatch(以下、CloudWatch)は、 AWSリソースのメトリクス情報やログ情報を収集・表示するサービス ✓ 有名な話ですが、CloudWatchのデフォルトメトリクスではEC2のメモリ使用率や ディスクスペースの使用状況は取得できませんので、CloudWatchエージェントを インストールしましょう*1 ✓ OS上のログ(システムログ、アプリケーションログ、等)についても、CloudWatchエージェントの 設定ファイルで定義を行い、CloudWatch Logsに送信しておきましょう • ログの確認のためにOSにログインする、という手間を撲滅 • 既存の運用と合わせるという観点で、Fluentdなどを利用してログ収集するのもありです • とにかく「サーバのローカルディスク上にしかログがない」という状況を避ける Amazon CloudWatch *1 数年前までは、メモリ使用率やディスクスペースは、カスタムメトリクスとしてシェルからAPIを呼び出して登録していた
  24. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 2: 監視やログ収集は自動化しよう(2/2) ー 監視SaaSの導入も検討を ✓ これもまた有名な話ですが、CloudWatchでは「意味のあるメトリクス情報」を長期間保持する ことが仕様上できません • 収集間隔3600秒(1時間)単位のデータポイントを15か月間保存できても、あまり意味があるとは思えない • 収集間隔が60秒のデータポイントは15日間、300秒のデータポイントは63日間 ✓ EC2で監視サーバを構築するのも1つの手段ですが・・そもそも管理するEC2自体を減らしたい はずなので、監視SaaS導入も検討しましょう • もはやEC2だけの話ではないですが、メトリクスやログ情報の収集が簡単なだけでなく、監視運用やメトリクスの Visualizationのためのテンプレートも豊富に用意されており、システム規模が大きくなるほど効果を感じられる と思います(ログ情報も含めて大量に保存すると、そこそこいいお値段したりしますが・・) • 注意点として、何も考えずにアラート設定する(例: とりあえずCPU使用率の5分間平均が90%を超えたら 通知、等)と、メトリクスやログ情報の収集が簡単なだけに、無駄なアラートを増やすことになります • オライリーの『入門 監視』は良い本です。とても良い本です
  25. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 3: タグや設定チェックもマネージドで(1/2) ー AWS Config ✓ AWS Configは、AWSリソースの設定項目、設定内容とその履歴を 保持、集約するだけでなく、ルールベースで設定内容を評価可能なサービス • 同じマネジメント&ガバナンスカテゴリのサービスであるAWS CloudTrailや、 セキュリティ、アイデンティティ & コンプライアンスカテゴリのサービスであるAmazon GuardDutyなどと 併せて、AWSアカウント作成と同時に有効化すべきサービスの1つ AWS Config
  26. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 3: タグや設定チェックもマネージドで(2/2) ー AWS Configマネージドルール ✓ AWS Configは有効化して履歴を保持しておくだけでも意味はありますが、ぜひAWS Config マネージドルールの有効化とアラート通知を設定しましょう • AWS Configマネージドルールは、AWSのベストプラクティスに違反した設定がないかチェックするために、 あらかじめ用意されたルール。以下は、有効化すべきルール例*1 ➢ “required tags”ルール ⇒ AWSリソースに対して、必要なタグが付与されているかどうかをチェック。 タグが設定されているかどうかは、運用の自動化を実現するための前提になるものなので、積極的にチェックしましょう ➢ “ec2-instance-managed-by-systems-manager”ルール ⇒ EC2インスタンスにSSMエージェントがインストールされ、管理されているかどうかをチェック。 Tips 1で紹介した内容を実現する前提条件となり、「野良EC2」を発見する上でも重要 ➢ “restricted-ssh”ルール ⇒ Security Groupにおいて、インバウンドのsshアクセスが無制限に許可されていないかどうかをチェック。 セキュリティ系のチェックルールは、他にも多数用意されているため、利用しているサービスに応じ有効化を推奨 *1 List of AWS Config Managed Rules - AWS Config https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html
  27. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 4: EC2のバックアップは自動化しよう ー AWS Backup ✓ AWS Backupは、様々なAWSリソースのバックアップ取得や復元、 スケジューリングや保持期間の管理等、バックアップを一元管理可能なサービス • 2020年から、EC2のバックアップとしてのAMI取得、Amazon Elastic Block Store(Amazon EBS) (以下、EBS)のスナップショット取得も管理対象としてサポートされるようになりました • バックアッププランを作成し、取得タイミング、保持期間、対象リソース指定等を設定しておけば、 自動でバックアップを取得してくれる*1 • 対象リソース指定は、タグを活用することで、個別のリソースID指定の手間を省けます • (参考) EC2に特化したバックアップ関連サービスとしては、Amazon Data Lifecycle Managerというサービスも 提供されています。2018年にリリースされ、EBSスナップショットの自動取得・管理サービス*2としては先行して いました。AWS BackupがEC2サポートを開始したため、2021年時点ではAWS Backupを利用しておけば よいと考えます AWS Backup *1 数年前までは、EC2のバックアップ取得とバックアップ世代管理はAWS Lambdaで関数を書いていた *2 現在はAMI取得もサポート
  28. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 5: EC2のOS以上のレイヤーもコードで管理(1/4) ー OSの設定やミドルウェア導入もコードで管理 ✓ AWSのインフラ構成は、AWS CloudFormationやTerraform等を利用してコードとして 管理することで、環境構築の自動化や、構成変更の差分の確認がしやすくなります ✓ EC2のOS以上のレイヤー構成(OS設定、ミドルウェア導入・設定、等)についても、EC2の userdata機能を利用するか、3rd Partyの構成管理ツール(Ansible、Chef、等)を利用 することで、コードとして管理することが可能になります
  29. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 5: EC2のOS以上のレイヤーもコードで管理(2/4) ー ゴールデンイメージ(おさらい) ✓ EC2の起動にはAMIが必要です • 通常、AMIはAWS提供の標準イメージをベースとして、ユーザの要件に合わせたOS設定、 ミドルウェア導入・設定等を行った上で、カスタムAMIを作成し、EC2起動時のベーステンプレートとします。 これを「ゴールデンイメージ」と呼びます • ゴールデンイメージを作成した場合は、イメージをテストすべきですし、イメージ内にどのレイヤーまでを含めるか は、EC2の起動速度にも影響します アプリケーション ミドルウェアおよび設定 OS設定 OS ゴールデン イメージ Userdata等で 起動時にデプロイ アプリケーション ミドルウェアおよび設定 OS設定 OS ゴールデン イメージ Userdata等で 起動時にデプロイ アプリケーション ミドルウェアおよび設定 OS設定 OS ゴールデン イメージ EC2の起動 速度 遅い 速い
  30. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 5: EC2のOS以上のレイヤーもコードで管理(3/4) ー Amazon EC2 Image Builder ✓ Amazon EC2 Image Builder(以下、EC2 Image Builder)は、 AWSやオンプレミス環境で使用する仮想サーバやコンテナイメージの 構築、テスト、配布をパイプライン管理可能なサービス • EC2 Image Builderは、AMIの作成・検証・テストに必要な作業をパイプライン化して実行でき、 AMIの作成作業の内容(ビルドコンポーネント)とテストの内容(テストコンポーネント)をYAML形式で記述 できる=コードとして管理可能 • ビルドコンポーネントの中で、Ansible Playbookを呼び出すことも可能 Amazon EC2 Image Builder 参考: https://d1.awsstatic.com/webinars/jp/pdf/services/20200825_BlackBelt_EC2imagebuilder.pdf
  31. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Tips 5: EC2のOS以上のレイヤーもコードで管理(4/4) ー (参考)Packer+Ansibleの方が慣れているんですが・・ ✓ Packer+Ansibleの場合、AMIのテスト定義やパイプライン化部分は自前で準備する必要が ありますが、依然として有力なソリューション ✓ Packerは、マルチクラウド環境で利用できる(スキルを流用できる)、という利点あり (Terraformと同様) ✓ EC2を運用される組織の状況や、エンジニアの方のスキルセット等も考慮して決定すべきと思い ます
  32. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. あきらめないで! まとめ(1/3) ✓ 2021年時点でも、EC2を利用するユースケースはたくさんあります ✓ EC2を単体で利用した場合に発生するペインポイントが比較的多いのは 事実ですが、本日のセッションでご紹介したようなサービスを活用することで、 構築や運用負荷を下げられる部分はたくさんあります ✓ AWSに任せられるタスクはAWSに任せ、EC2を利用した 「価値を生み出す」作業に注力しましょう!
  33. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. タイムリーなことに、10/14にAWSさんによるEC2最新情報を解説して下さるセミナー があるそうです。みなさんぜひ参加しましょう! まとめ(2/3) 引用: https://pages.awscloud.com/JAPAN-event-OE-20211014-EC2-reg-event.html
  34. © 2021, Amazon Web Services, Inc. , Accenture. All rights

    reserved. Special Thanks to AABG Solutions Architect team and Cloud CoE members! アクセンチュアは、お客様の新しいサービス、ビジネスに技術力で貢献するデベロッパー、 クラウドエンジニアを大募集しています!!! まとめ(3/3) URL: https://www.accenture.com/jp-ja/careers/local/intelligent-cloud-infrastructure Cloudのキャリア・採用情報 l アクセンチュア
  35. Thank you! © 2021, Amazon Web Services, Inc. , Accenture.

    All rights reserved. 岡 智也 シニア・プリンシパル アクセンチュア株式会社