0
0

More than 1 year has passed since last update.

Exam Readiness DOP : 分野 1: SDLC の自動化

Last updated at Posted at 2022-05-25

はじめに

AWS DOPの試験対策でExam Readiness: AWS Certified DevOps Engineer – Professional (Japanese)を視聴したので、内容をまとめます。

アジェンダ

分野 内容
1 SDLC の自動化
2 設定管理とIaC
3 モニタリングとロギング
4 ポリシーと標準の自動化
5 インシデントとイベントレスポンス
6 高可用性、対障害性、災害復旧

CI/CDパイプラインの自動化

image.png

継続的インテグレーション

  1. コードのチェックイン時にリリースを自動化
  2. 整合性と再現性のある環境デコードをビルド、テスト
  3. アーティファクトを継続的にデプロイ
  4. ビルド失敗時にフィードバックループを閉じる

image.png

継続的デプロイ

  1. ステージング環境に変更を自動的にデプロイ
  2. 本番環境に安全にデプロイ
  3. 迅速に配信し、デプロイ頻度を高め、失敗率を低下

AWSのコードサービス

image.png

CodeCommit

  • リポジトリを提供
  • IAMと統合可能。
  • Code Buildを開始する場合にはCloudWatchイベントに通知をする。
  • image.png

CodeBuild

  • CodeCommit、S3、BitBascket、GitHubかららソースをビルド
  • CodeBuikd Agentを利用してローカルにデバッグ可能
  • buildspec.yamlにビルド仕様を記載可能
  • image.png

Code Deploy

  • 任意のインスタンスへのデプロイを自動化
  • インスタンスにデプロイエージェントをインストールする
  • CodeBuildでコードをビルドするとデプロイが可能
  •  AppSpecファイルでデプロイの各フェーズのコマンドを指定
    image.png

Code Pipeline

  • コードが変更されるたびにビルド、テスト、デプロイを実行する
  • Lambdaでも制御可能だが、コードの記載が必要で複雑になる
    image.png
  • 手動承認にも対応
  • サードパーティのツールにも対応
    image.png

テストの自動化

  • インフラに対してもテストが必要
  • TDD(テスト駆動型開発):コードを記述する前にテストを記述することでコード変更時にテストが可能。単体テストで品質を保証する
    -対障害性テスト:コンポーネントをダウンさせて挙動を確認する

デプロイ・デリバリー戦略

image.png

問題例

  • セキュリティ認証情報がCodeCommitにコミットされたくない
    -> git-secretをpre-commitフックとして設定し、セキュリティ認証情報が検知された場合、コミットの作成をブロックする
  • Codebuildに承認されたユーザのみがアクセス。生成されるビルドアーティファクトは安全に保存
    -> 承認するユーザにIAMポリシーがアタッチされたロールを提供。デフォルトで暗号化が有効なS3にビルドアーティファクトをプッシュ
  • Jenkinsが高額なので、ビルド環境のフットプリントを減らしたい。
    -> JenkinsにEC2インスタンスのプラグインをインストールし、ビルドのリクエストに応じて自動で起動、終了する。
  • CodeStarのデプロイステージでLambda関数のリソース名を変更したい。
    -> CodeCommitリポジトリでtemplate.tmlファイルでLambdaリソース名を変更する。
  • ECRにログインしてプレビルドステージでリポジトリURIを設定するために、buildspec.ymlを設定
    -> ビルドステージでdocker build -t $REPOSITORY_URI:latest、ポストビルドステージでECRリポジトリにイメージをdocke push $REPOSITORY_URI:latestでプッシュする
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0