猫キック

IT関連について投稿

【AWS】【資格】AWS Certified DevOps Engineer - Professional 合格しました.

すみません. 更新してませんでした. . . 明日から本気出します!!

先日、AWS Certified DevOps Engineer - Professional に合格しました. そのため、勉強方法や対策になりそうな資料を複数展開します.



出題内容?

試験範囲 を見ればわかりますが、CI/CDやIaC、サーバレス、可用性と言った内容が出題されそうなのでそちらを重点的に学習した方がいいと思います. ... ていうかこの資料 「付録」 が追加されて出題されるAWSサービスの一覧がわかるようになったんですね. 便利になりましたね〜(小並感).



勉強方法

勉強方法についていくつか紹介します.

1. AWS公式 無料デジタルトレーニングを受講する

AWS公式で無料のデジタルトレーニングを受講することができます. DOPの場合は, [AWS 認定プロフェッショナル] > [DevOps エンジニア – プロフェッショナル] > [試験対策トレーニングを受講する] > [無料のデジタルトレーニングを受ける] で受講できます. とりあえず最初にこのトレーニングを受講して、出題範囲や傾向を掴むのもアリだと思います.


2. AWS Workshopsでサービスに触れてみる

実際に使ってみて、設定内容とかを把握する. AWS WorkshopsはEKSとかECS等, ボリューム満載なため非常にためになる.

3. シナリオを想定する

個人的な意見ですが、多分これが一番勉強になると思います. サービスや分野ごとのシナリオを想定して調べることだと思います. シナリオの想定とは、「〇〇の場合どうやって実現するか」をいくつかのパターンで提案できれば、どのような問題が出ても対処できると思います. 例として、Cloudformationを下記に記します.

# 例
- CloudFormation
  - リソース変更時.           ... 変更セットを作成して反映. 
  - OS以上の上位レイヤの変更は可能か? ... ① Cfn-initでいける. Cfnを利用しないパターンとしては, ②SSM State Manager + Run Command, ③(AutoScalingのばあい)EventBridge経由でRunCommandを実行もあり. また、②③はRunCommandを使用するため、AWS-ApplyAnsiblePlaybooksドキュメントを実行可能. 
  - ローンチ時AnsibleのPlaybook実行呼び出しは可能? ... Cfn上では特に設定しなくてもいいが上記の②③でインスタンス生成時に.
  - テスト                         ... TaskCat. 
  - Linter  ... cfn-lint
  - Validation ... AWS CLI (aws cloudformation validate-template)
  - CI/CD Pipeline                ... CodePipeline上でビルド(CodeBuild上でスタックや変更セットの作成)、テスト(TaskCat), 手動承認、デプロイ(変更セットの適用)は表現できそう.
  - 複数環境での変更
    - マルチリージョンで実施    ... スタックセットを作成し, 複数リージョン反映. DR対策にも.
    - クロスアカウントで実施   ... スタックセットを作成し、複数アカウント反映可能.
    - オンプレミスのリソース    ... できない. けどDCから接続したい要件もあるので、DX経由やVPN経由のネットワークパターンついて学習は必要.
  - よくあるエラー
    - 何かの拍子でリソースを手動で変更し、スタックの更新でエラーが発生.  -> ドリフト機能で検出.スタックを更新しなくて済む.
    - リソース更新/削除できずエラー.     -> 管理対象外のリソースが作成されている? 削除して際実行. 
    - リソース追加でスタック更新時にエラー.  -> 依存関係. ネストして依存関係明確にするとルートやその他のリソースに影響ないかも. 

... こんな感じでメモベースでポイントを押さえて、使ってみたりした方がいいと思います.



4. AWS公式の資料やカンファレンスを観る

「3.」のシナリオで疑問に思ったりデザインパターンとかないかを調べるときに利用します. ためになった資料を紹介します.

Well-Architected Framework

いつものやつ. 監査でCloudTrailログ出力しますとか. AWS SAPの認定でも頻出されるので復習した方がいいと思います.


CI/CD

CodeSeriesの基礎知識はもちろんですが、CI/CDパイプラインでのSource, Build, Test, Deployを含めたワークフローを提案できるようにしないといけません。BlackBelt Online Seminarの動画で基礎を押さえるといいかもしれないです.

以下の動画ではサーバレスアプリケーション上でのCI/CDパイプラインが紹介されてます。

また、扱うリソースによってパイプライン内のロジックが分かれたりするので、最低限これらを押さえ解けばなんとかなるかもしれないです.

また、デプロイの種類(B/G, やCanalry, AllatOnce, Rolling, Immutable)と言ったデプロイ手法も一緒に押さえておいた方がいいと思います.


IaC

CloudFormationはIaCの代表格なので押さえたほうがいいと思います. StackSets(マルチリージョン、マルチアカウント) や Cfn-init(OSレイヤ以上の上位レイヤの設定)と言った機能も、DRや復旧で問われると思われるので、シナリオとして想定した方がいいと思います.


Operations

Systems Manager はシステムの運用改善として非常に役立つことが望まれる機能です. 以下の動画では、クロスアカウント・オンプレミス上でのSSMユースケースが紹介されるためキャッチしておいて損はないと思います.


また、Well-ArchのOperational Excellenceの柱も頻出だと感じたのでそこも踏まえておさらいしておく.


Multi Region, Cross Account, Multi Cloud, Hybrid Cloud

複数のリージョンに跨ってサービスを利用するなら、AWS re:Invent 2019: [REPEAT 2] Architecture patterns for multi-region active-active (ARC213-R2)を参照. マルチリージョン環境におけるAWSサービスの利用をDB, ネットワーク, IaCの観点からまとめられています. DynamoDB Global Tables やCfn Stack Setなどリージョン 間に渡って展開できる機能は押さえておくように.


Cross Account については、各AWSサービスで可能かどうかを自体を参照すればいいですね. Multi Cloud, Hybrid CloudになるとAWS SAP色が強くなる. DirectConnectやTransit Gateway などネットワーク周りの復習をしておいた方がいいと思います.


DR

RPO, RTOが秒単位か分単位か時間単位かによって対策が別れる(レプリケート or クローン環境 or Using Global Service ?)ことが多いです. 下記動画の22:37からはDRについてよくまとまっているので必見.



最後に

頑張ってください!!