AWS認定試験対策・学習にあたって、最も重要だと思うマインド
あるきっかけで、AWS に触れる際の効果的な学び方について検討していたので、アウトプットとして残しておきます。
この記事のゴール
この記事のゴールは以下の二点としたいと思います。
- AWS 認定試験の勉強を効率的に進めるための、意識づけができる
- 認定試験を超えた、実際の業務において使えるレベルでの知識を身につけるために必要なことを知る
メインの想定読者はこれから CLF (Cloud Practitioner), SAA (Solution Architect Associates) といった試験の受験を考えている方を想定していますが、業務においても使える知識を身につけていきたい方、資格取得を目的とせずに AWS の勉強をしたい方にも、ぜひ読んでいただければと思います。
結論
あるサービスについて、以下の観点で人に説明できるようになることを意識して知識をインプットしていきましょう。特に複数のサービスを比較しながら説明できるとよいです。
- どういったサービスでどういった用途があるか。
- 管理は誰がどこまで行うか。(責任分界点)
運用負荷は他サービスと比べてどうか。負荷を下げるためにはどうしたらよいか。 - セキュリティ機能はどのようなものがあるか。セキュリティを向上させる必要がある場合どうしたらよいか。
- 信頼性は高いか。信頼性を向上させるにはどうしたらよいか。
- パフォーマンスは高いか。向上させるにはどうしたらよいか。
- コストは他サービスと比べてどうか。コスト効率を高めるにはどうしたらよいか。
- その他、他サービスとの比較
具体的には、以下のように表にして整理します。
S3 | EBS | EFS | |
---|---|---|---|
どういったサービスでどういった用途があるか。 | オブジェクトストレージで、データレイクやウェブサイトホスティング、バックアップやアーカイブ、ビッグデータ分析など広範なユースケースに対応可能。 インターネット経由でアクセス可能。 | <ブロックストレージで、EC2 インスタンスにアタッチしてファイルの保存やアプリケーションのインストール、データベースのストレージなどに使用。 | ネットワークファイルシステムで、シンプルなウェブサービスインターフェースを持ち、EC2, ECS, EKS, Lambda などからアクセスして使用する。 |
管理は誰がどこまで行うか。(責任分界点) 運用負荷は他サービスと比べてどうか。負荷を下げるためにはどうしたらよいか。 |
ユーザーはデータのアクセスと管理を行い、IAM ポリシー、バケットポリシー、ACL などを使用してアクセスコントロールを管理。データはデフォルトで暗号化されるが、SSE、CSE などでカスタム暗号化も可能。 | ユーザーはボリュームの作成とアタッチ、スナップショットの取得などを行う。データは KMS を使用して暗号化され、デフォルトで暗号化が有効。 | ユーザーはファイルシステムの作成と設定を行い、IAM ポリシーでアクセス制御を設定。コンソールから作成すると暗号化はデフォルトで有効になり、CLI などで作成する場合は手動で設定する必要がある。 |
セキュリティ機能はどのようなものがあるか。セキュリティを向上させる必要がある場合どうしたらよいか。 | IAM ポリシー、バケットポリシー、ACL を用いてアクセスコントロールを行う。必要に応じてパブリックアクセスの許可/ブロックが可能。オブジェクトの暗号化については SSE や CSE を活用する。 | IAM を用いてアクセスコントロールを行う。データの保護には KMS を使用して暗号化する。 | IAM を用いてアクセスコントロールを行う。ファイルシステムの暗号化は必要に応じて設定する。 |
信頼性は高いか。信頼性を向上させるにはどうしたらよいか。 | 「S3 標準」は 99.9999999% (イレブンナイン) の耐久性と、99.9% の可用性を保障。Cross-Region Replication や Versioning を活用して耐障害性を向上させる。 | 同じ AZ 内の複数のサーバーにレプリケートされ、高い信頼性、耐久性を実現する。 | リージョナルファイルシステムと EFS One Zone ファイルシステムを選択可能。 |
パフォーマンスは高いか。向上させるにはどうしたらよいか。 | 1 秒あたり数千のトランザクションを処理可能。プレフィックスを作成して読み取りを並列化することでさらにパフォーマンスを向上できる。また、CloudFront を利用して地理的なレイテンシーを抑えることも可能。 ※ただし、HTTP 接続のオーバーヘッドなどを考慮すると、リアルタイム性で EBS、EFS に劣る。頻繁な読み書きを行う要件には、EBS, EFS を検討する。 | ボリュームの種類 (汎用 SSD, Provisioned IOPS SSD など)、EBS 最適化インスタンスの使用、RAID 構成の変更によりパフォーマンスを調整可能。 | ファイルシステムタイプやスループットモードの選択によりパフォーマンスを調整できる。 |
コストは他サービスと比べてどうか。コスト効率を高めるにはどうしたらよいか。 | ストレージ容量、リクエスト数などに基づいて課金される。適切なストレージの選択、ライフサイクルポリシーの適用でコストを最適化する。 | プロビジョニングされたストレージとスナップショットに課金される。ストレージを必要最低限に抑えること、ストレージタイプの見直し、不要なスナップショットの削除によりコストを最適化する。 | ストレージ容量と読み書きに対して課金される。適切なスループットモードの使用でコストを最適化する。 |
その他、他サービスとの比較 | 無制限のストレージ容量、無制限のスケーリングが可能。 | EC2 のインスタンスストアは、EC2 の停止とともにデータがクリアされるため、保持したいデータには EBS 等を利用する。 | ・EBS は単一のインスタンスにのみアタッチ可能だが、EFS は複数インスタンスから同時にアクセス可能。 ・既存のオンプレアプリケーションとの親和性も高い。 |
(事前知識はあったのですが、この表を正確に埋めようとすると二時間くらいかかりました泣)
ポイントは 比較して理解する ことです。
どのサービスにも良い点と悪い点があり、ユースケースによって使い分けが必要になります。違いをしっかりと理解しておくことで、試験対策にも、実務の予習にもなります。
これをサービスだけでなく、ロードバランサーのタイプ(ALB, ELB, CLB)、Kinesis シリーズなどにも適用して整理しましょう。
※比較対象によって不要な行・追加すべき行もたくさんあると思います。柔軟に対応してください。伝えたいのは、表で比較すると分かりやすく理解しやすいという点です。
比較する観点について
- 運用負荷は他サービスと比べてどうか。負荷を下げるためにはどうしたらよいか。
- セキュリティ機能はどのようなものがあるか。セキュリティを向上させる必要がある場合どうしたらよいか。
- 信頼性は高いか。信頼性を向上させるにはどうしたらよいか。
- パフォーマンスは高いか。向上させるにはどうしたらよいか。
- コストは他サービスと比べてどうか。コスト効率を高めるにはどうしたらよいか。
先述した観点について、上記で引用したものについては思い当たるものがある方もいらっしゃるかもしれません。
お察しの通り、二つ目以降は AWS Well-Architected Framework の柱のうち、「持続可能性の柱」を除いた観点となっています。
クラウド上での設計を行う中では、上記 5 つは必ずといっていいほど必須の考え方となります。
お恥ずかしながら、筆者は暗記が苦手なので柱の名前を覚えていませんが、この観点はいつでも漏れなく洗い出せると思います。
もちろんこれらが全てというわけではないですが、サービスの特徴を理解する際には必須の考えになってくるので、必ず理解するようにしましょう。
まとめ
長くなりましたが、大事なのは Well-Architected Framework と 比較して理解する です。
では、引き続き頑張ってください!
Discussion