はじめに
前回は、公式サイトで公開されている試験ガイドとサンプル問題をもとに、AWS認定プログラムの概要と対象者像を確認しました。今回は、クラウド設計のベストプラクティスを知る方法と、AWS上に実際に環境構築して学習する方法をご紹介します。
対象読者
- AWSを使ったことはあるが利用経験が少なく、試験の学習をすることでさらに理解を深めたい方
- AWS認定資格を取得することで、顧客や同僚へAWSのシステム設計力や理解度を示したい方
必要な環境
- AWS(Amazon Web Services)のアカウント
- AWSマネジメントコンソールでサポートされているブラウザ(サポートされているブラウザはこちらに記載されています)
クラウドデザインパターンからクラウド設計のベストプラクティスを知る
前回確認した試験ガイドでは冒頭部分で、AWS認定ソリューションアーキテクト – アソシエイトレベル試験は受験者の以下の能力を認定するものであることが明記されています。
- 要件を理解し、AWS アーキテクチャーのベストプラクティスを用いて構築するソリューションを定義することができる。
- アーキテクチャーのベストプラクティスを、開発者およびシステム管理者に対してプロジェクトのライフサイクルを通じて助言できる。
ベストプラクティスという単語が二回出てきていることから、AWSアーキテクチャーのベストプラクティスを知り、それを理解してシステム設計ができることはとても重要なことであると言えます。
クラウドデザインパターンをまとめたAWS-CloudDesignPattern
AWSでは、各サービスを利用してシステムアーキテクチャ設計を行う際に利用できるデザインパターンをまとめた、「AWS-CloudDesignPattern」という関連サイトがあります。同サイトに掲載されているデザインパターンは、AWSエバンジェリストである玉川憲氏をはじめとするアーキテクトが寄贈したものであり、ノウハウの集大成となっています。
デザインパターンは、「基本形」「可用性を向上させるもの」「バッチ処理」「運用保守」など、カテゴリごとにまとめられています。デザインパターンの詳細ページでは、解決したい既存の課題に対して、AWSの各サービスを用いて解決する方法・設計方法が記載されています。
デザインパターンの例(Multi-Serverパターン)
AWS-CloudDesignPatternに掲載されている代表的なデザインパターンの例として、「Multi-Serverパターン」があります。
AWSのロードバランサーサービス「Elastic Load Balncing」と、複数のEC2インスタンスを使用して、単一インスタンスの場合よりも可用性を高める方法です。もしもいずれかのインスタンスに障害が発生しても、そのようなインスタンスに対するトラフィックの割り当ては行わず、残りの正常なEC2インスタンスに負荷を分散するという「Elastic Load Balncing」の特性を活かしたパターンです。
基本用語とクラウドアーキテクティング原則
同サイトの基本用語ページでは、クラウドを利用する上で知っておきたい基本的なIT用語も解説されています。試験で必要となる「IT全般の知識」を身につける上でも非常に有用なコンテンツです。
また、クラウドアーキテクティング原則ページでは、従来のオンプレミス環境とは異なる、クラウドを利用したシステム設計をする上での原則が整理されています。その中でも「できるだけサービスを利用」および「机上実験よりも実証実験」の項目は、AWSを利用する上で特に意識しておきたい点です。
できるだけサービスを利用
例えばAmazon S3というインターネットストレージのサービスを考えてみる。これは耐久性が高くて便利なオブジェクトストレージなので、Amazon EC2を使って似たような機能を実装するよりも、S3を使った方がいい。
机上実験よりも実証実験
机上実験に終始して「このシステムでこの負荷だと、インスタンスタイプはどれを何台使えばいいのか」と悩んで、そこで時間をかけすぎてしまう、もしくは、止まってしまう。クラウドの良さは瞬時に安く調達できることなので、その場ですぐに実際に試してみればすぐに分かるし、よりカイゼンができる。