近年AWSを使用する企業は急増していますが、カスタマイズが容易にできすぎることにより、その構成に苦労している企業も少なくありません。
そんなときに役に立つのが、「AWS Well-Architected Framework」です。
長年の実績と多くの事例を元に、AWSが提唱するベストプラクティスがまさにAWS Well-Architected Frameworkなのです。
内容としてはAWSが「こうしたほうがいいですよ」と提唱している事項なので、全てを反映させることはプロジェクトの進捗を遅らせることもあるかもしれません。
そのため、AWS Well-Architected Frameworkを参考にしつつ、自社に合わせていくことが王道となります。
セキュリティ問題やコスト問題を解決するためにも、AWS Well-Architected Frameworkが一体どのようなものであるのかを知りましょう。
![Nao Yanagisawa](https://xs691486.xsrv.jp/wp-content/themes/JITERA/images/director-nao-1.png)
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
AWS Well-Architected Frameworkとは?
AWS Well-Architected Frameworkとは、AWSを利用する上でAmazonが提唱する最適な方法が掲載されたフレームワークです。
AWSがリリースされてから今までに集められたノウハウを集約し、Amazonが考える最も安全で使いやすい手段がまとめられているのです。
セキュリティと使いやすさを両立することは困難であり、どの企業もその落とし所に悩みを抱えていると思います。
その悩みを数々の事例を見てきたAmazonが提唱しているベストプラクティスこそ、AWS Well-Architected Frameworkです。
AWSで構築を行う場合、まずはAWS Well-Architected Frameworkをベースにし、自社の状態に合わせてアレンジを行なっていく企業がほとんどです。
そのため、AWS Well-Architected Frameworkの内容を理解していくことで、自由で安全な構築を実現することが可能になるのです。
AWS Well-Architectedのメリット
AWS Well-Architectedに沿って構成していくメリットは、AWSのベストプラクティスを元にして組み立てていくということです。
AWSが最も優れていると提唱している設計であり、リスク軽減を軽減し、効率の良い設計であると胸を張って主張している構成です。
また、1から構成を検討していくと膨大な時間がかかりますが、AWSのベストプラクティスをベースにアレンジしていくことにより、今までよりより短い時間で構成が作成できるというメリットもありますので、まずはAWS Well-Architectedを抑えるべきというのがAWSの基本です。
AWS Well-Architectedの6つの柱
AWS Well-Architectedには、6つの柱というものが存在します。
「運用上の優秀性」「セキュリティ」「信頼性」「パフォーマンス効率」「コスト最適化」「サステナビリティ」の6つです。
これは、AWSがフレームワークをを検討する上で必ず守っている基本的な考えであり、AWS Well-Architectedを採用することで、AWSの考えるこの6つを保証していくということです。
AWSは新たなサービスが日毎に更新されていきますが、この新たなサービスについてもAWSはAWS Well-Architectedを示し、それらは6つの柱を元にして提唱されているということです。
では、6つの柱を1つずつご紹介していきます。
運用上の優秀性(オペレーショナルエクセレンス)
AWS6つの柱の一つ目は「運用上の優秀性」です。
システムの運用を行なうにあたって、運用しやすいということは絶対に外せないポイントとなります。
AWSが提唱する運用上の優秀性とは、次の5つです。
- 運用をコードとして実行する
- 小規模かつ可逆的な変更を頻繁に行う
- 運用手順を定期的に改善する
- 障害を予想する
- 運用上の全ての障害から学ぶ
コードを用いることで人為的なミスを避けたり、失敗したとしても元に戻せるなど、運用上なくてはならないことが含まれています。
また、障害を避けるための手法も徹底しているため、システムを運用する上では信頼性の高い設計となっているのです。
今までにも、人的ミスにより予定が大幅にずれ込んだり、失敗した際に元に戻しきれずにサービスが停止してしまったことはないでしょうか。
それらを極限まで減らし、障害対策を行なっていくというのが運用上の優秀性です。
セキュリティ
AWS6つの柱の2つ目は「セキュリティ」です。
AWS導入の際にもセキュリティ面は最も注視する部分であり、採用決定の決定打となるのはセキュリティではないでしょうか。
AWSのWell-Architectedにおけるセキュリティは下記の7つです。
- 強力なアイデンティティ基盤の実装
- トレーサビリティの実現
- 全レイヤーでのセキュリティを適応する
- セキュリティのベストプラクティスを自動化する
- 伝送中及び保管中のデータの保護
- データに人の手を入れない
セキュリティに関してはアクセシビリティと直結するので全ての設定をそのまま採用することは難しいと思います。
しかし、AWSのセキュリティの考えを理解し、少しでも採用することによってセキュリティを遵守することができます。
アイデンティティ管理を一元化することや、トレーサビリティの実現によりリアルタイムで監視やアラートのアクションを行えるという点に関しては、今までいくつものサービスを契約して実現していたことがAWS一つで網羅できると言えます。
信頼性
AWS6つの柱の3つ目は「信頼性」です。
どれだけシステムに信頼がおけるかということは採用する際にも最初に注目する部分かもしれません。
AWSの信頼性の考え方は、下記の5つです。
- 障害から自動的に復旧する
- 復旧手順をテストする
- 水平方向にスケールしてワークロード全体の可用性を高める
- キャパシティーを推測することをやめる
- オートメーションで変更を管理する
これらは実際にオンプレミス環境で実現していたことは一部ありますが、実現しきれなかった部分もあるのではないでしょうか。
サーバ負荷に監視をつけて、必要であれば仮想サーバのリソースを割り当てる作業を行なっていたかもしれませんが、AWSではキャパシティを推測することを辞め、自動で行なえるようにしました。
また、複数のAZにバックアップを保存したり、場合によってはリージョンを変えることによって耐障害性を高めるなどの設定もあることから、信頼性の高いシステム構築を実現させているのです。
パフォーマンス効率
AWS6つの柱の4つ目は「パフォーマンス効率」です。
サーバ構築の経験がある方であればお分かりのとおり、パフォーマンスは設定次第て効率が大きく変わります。
効率を最大限良くするために、AWSはAWS Well-Architectedにてパフォーマンス効率を提唱しているのです。
具体的には、下記の5つです。
- 最新テクノロジーの標準化
- わずか数分でグローバル展開する
- サーバーレスアーキテクチャを使用する
- より頻繁に実験する
- システムに対する精通の程度を考慮する
AWSはシステムに対して希望のリソースを割り振ることが可能です。
しかし最大限に効果を発揮しなければ、せっかく高機能にしてもその性能を発揮できないのは悲しいことです。
このような問題をクリアするために、AWS Well-Architectedではパフォーマンス効率を最大限発揮する設計を提唱しているのです。
コスト最適化
AWS6つの柱の5つ目は「コスト最適化」です。
AWSは設定によってかかる料金が異なります。そのため、コストを最適化してより少ない料金でより高いサービスを受けるということが最大の使命となります。
コストを最適化するために、AWSでは下記の5つを元に作成されています。
- クラウド財務管理を実践する
- 経費支出と使用量の認識
- コスト効率を考慮しながらリソースを利用する
- 需要を管理しリソースを供給する
- 継続的最適化
AWSでは、コスト最適化を元にAWS Well-Architectedを作成してはいるものの、使用していない機能や必要以上のリソースを割り当てているケースは多々あります。
これらの無駄なコストを削減できるよう、運用しているシステムの状態を簡単に見やすくしていることもAWSの良い点です。
そのため、AWS Well-Architectedに基づいて設定を行い、いざ運用が始まってからチューニングを行なっていくことでベストな設定が見つかっていくのです。
サステナビリティ(持続可能性)
AWS6つの柱の最後は「サスティナビリティ」です。
サスティナビリティとは、日本語で「持続可能性」です。長期間に渡りAWSで構築したシステムを使用していくことができるように考えられているのがWell-Architectedというわけです。
AWSがサスティナビリティを実現するためには、下記の6つを元にしているとしています。
- 影響を理解する
- 持続可能性の目標を設定する
- 使用率を最大化する
- より効率的なハードウェアやソフトウェアの新製品を予測して採用する
- マネージドサービスを使用する
- クラウドワークロードのダウンストリームの影響を軽減する
これらをベースとすることにより、例えばエネルギー量を抑えて消費電力を低くするなど、パフォーマンスのみならず環境にも優しい設計を提唱しています。
サスティナビリティは最近追加された項目であり、以前は5つの柱でしたが6つの柱として現在AWS Well-Architectedを構成しているようになりました。
AWSを学ぶリソース
AWS Well-Architectedを採用しても、自社に合わせるためにチューニングしていかなければなりません。
そこで、AWSの専門知識を学ぶためにはどのようなツールがあるのかをご紹介していきます。
AWSの公式トレーニング
AWSは公式のトレーニングを設けています。AWSのスキルと言っても、その分野は幾つにも分けることができます。
そのため、AWSでは自分の必要なスキルを学べるように分野ごとに細かく絞った講座を用意しています。
AWS公認の資格を軸にしてコースを決定していくと、より選びやすくなりますので参考にしてみてください。
AWSのチュートリアル
AWSでやりたいことがあるのに操作方法がわからない場合、チュートリアルを参考にしてスキルを身につけていく方法もあります。
AWSが公式で公開しているチュートリアルで、ハンズオンで行われるので非常にわかりやすく、AWSを触ったことのない方でも簡単に理解することが可能です。
AWSのドキュメント
動画やハンズオンが苦手な方には、ドキュメントを使用して学んでいく方法もあります。
操作方法はもちろんのこと、構成やコード例も掲載されているため非常に細かく記載されていることが特徴です。 以前からマニュアルを見ながら覚えていくエンジニアの方にはおすすめです。
AWSのコミュニティ
AWSはコミュニティを準備しており、世界中の様々な人たちと意見交換を行うことを可能にしています。
ユーザーグループに参加して共通の悩みを共有したり、専門知識のある人に意見を求めたりすることも可能なのです。
まとめ:AWSのベストプラクティスでビジネスを拡大
AWSを使用する企業は日々増加傾向にあり、今やインフラエンジニアには必ず求められるスキルとなってきました。
その中でも6つの柱で構成されているAWS Well-Architected Frameworkを理解し、自社のニーズに合わせて構成していくことが、プロジェクト成功の秘訣です。
ただし、急速にAWSが普及してきたことによってエンジニア不足に陥っていることも事実です。
そんな中で、アウトソーシングを検討したりアドバイザー的なポジションが必要になることもしばしばあります。
そんな悩みを抱えた際には、実践豊富なJiteraに相談してみるのもおすすめです。
不安な中で業務を行うより、確かな意見を元に業務が行える実感を持てるでしょう。