📝

AWS DOP 勉強メモ

に公開

2022.10.28 合格

AWS Certified DevOps Engineer - Professional 認定 | AWS 認定 | AWS
DOP を受験予定なので勉強メモを残していきます。
自分自身の振り返り用ですがどなたかの参考になれば幸いです。

RDS クロスリージョンスナップショットコピーの権限

Amazon RDS の DB スナップショットのコピー - Amazon Relational Database Service

ソースリージョンと通信してクロスリージョン DB スナップショットコピーをリクエストするには、リクエスタ (IAM ロールまたは IAM ユーザー) がソース DB スナップショットとソースリージョンにアクセスできる必要があります。

CloudWatch アラームを使用した CodeDeploy の自動ロールバック

デプロイグループの詳細オプションの設定 - AWS CodeDeploy

アラームのしきい値が一致したときにロールバックする

ECS の EC2 タイプにおける awslogs の仕様に必要な権限

Amazon ECS ログを CloudWatch に送信する - Amazon Elastic Container Service

Amazon ECS コンテナインスタンスでは、コンテナインスタンスで起動する IAM ロールに logs:CreateLogStream および logs:PutLogEvents アクセス許可も必要になります。

Systems Manager のハイブリッドマネージドノードの ID

Systems Manager を利用したハイブリッド環境およびマルチクラウド環境でのノードの管理 - AWS Systems Manager

コンソールでは、ハイブリッドアクティベーションマネージドノードの ID は、「mi-」のプレフィックスにより Amazon EC2 インスタンスと区別されます。

Systems Manager ハイブリッド環境の IAM ロール

ハイブリッドおよびマルチクラウド環境で Systems Manager に必要な IAM サービスロールを作成する - AWS Systems Manager

ハイブリッドおよびマルチクラウド環境の非 EC2 (Amazon Elastic Compute Cloud) マシンでは、AWS Systems Manager サービスと通信するために AWS Identity and Access Management (IAM) サービスロールが必要です。

Trusted Advisor のチェックリストはコードで更新可能

ウェブサービス Trusted Advisor としての の使用 - AWS サポート

利用可能な Trusted Advisor チェックのリストを更新する

Trusted Advisor は EventBridge と連携可能

Amazon EventBridge による AWS Trusted Advisor チェック結果のモニタリング - AWS サポート

EventBridge を使用して、 Trusted Advisor 変更ステータスをチェックするタイミングを検出できます。

CloudWatch Logs のクロスアカウントデータ共有

クロスアカウント、クロスリージョンのサブスクリプション - Amazon CloudWatch Logs

別の AWS アカウントの所有者とコラボレーションし、Amazon Kinesis や Amazon Data Firehose ストリーム (これはクロスアカウントデータ共有と呼ばれます) などの AWS リソースでログイベントを受信できます。

Elastic Beanstalk 環境からの RDS の分離

Elastic Beanstalk 環境にデータベースを追加する - AWS Elastic Beanstalk

環境の健全性に影響を与えることなく、データベースを Elastic Beanstalk 環境からデカップリングできます。

CodePipeline での並列実行

アクションの宣言 - AWS CodePipeline

runOrder
ステージ内のアクションの実行順序を示す正の整数。

CodePipeline での CloudFormation のパラメータを上書き

AWS CloudFormation 構成プロパティのリファレンス - AWS CloudFormation

パラメータの上書き
パラメータはテンプレートで定義されます。パラメータを使用すると、スタックの作成時または更新時にカスタム値を入力できます。

CodePipeline にはイベント

CodePipeline イベントのモニタリング - AWS CodePipeline

  • パイプライン実行
  • ステージ実行
  • アクション実行

CodeDeploy の環境変数

AppSpec の「hooks」セクション - AWS CodeDeploy

各デプロイライフサイクルイベントの間、フックスクリプトは次の環境変数にアクセスできます。

CodeDeploy のインプレースデプロイの対象

CodeDeploy とは - AWS CodeDeploy

AWS Lambda および Amazon ECS デプロイでは、インプレースデプロイタイプを使用できません。

CodeDeploy での EC2 の Blue/Green デプロイの対象

CodeDeploy とは - AWS CodeDeploy

EC2/オンプレミスのコンピューティングプラットフォームを使用する場合は、blue/green デプロイが Amazon EC2 インスタンスでのみ機能することに注意してください。

CodeDeploy の hook

AppSpec の「hooks」セクション - AWS CodeDeploy

AppSpec ファイルの 'hooks' セクションの内容は、デプロイのコンピューティングプラットフォームによって異なります。

Aurora Global Database

Amazon Aurora Global Database の使用 - Amazon Aurora

Amazon Aurora Global Database 機能では、複数の AWS リージョンにまたがる複数の Aurora DB クラスターを設定します。

CodePipeline のクロスリージョンアクション

CodePipeline にクロスリージョンアクションを追加する - AWS CodePipeline

パイプラインとは異なる AWS リージョンにあるアクションをパイプラインに追加できます。

EventBridge ルールからスナップショットの作成が可能

Amazon EventBridge のイベントバスターゲット - Amazon EventBridge

Amazon EBS CreateSnapshot API コール

CloudFront のフィールドレベルの暗号化

フィールドレベル暗号化を使用した機密データの保護 - Amazon CloudFront

フィールドレベル暗号化により、ユーザーが機密情報をウェブサーバーに安全にアップロードできるようになります。ユーザーから提供される機密情報は、ユーザー近くのエッジで暗号化され、アプリケーションスタック全体で暗号化された状態が維持されます。

CodeDeploy のロールバック時の挙動

CodeDeploy を使用した再デプロイおよびデプロイのロールバック - AWS CodeDeploy

自動ロールバックが開始された場合、または再デプロイまたは手動ロールバックを手動で開始した場合、CodeDeploy は、まず、最後に正常にインストールされたすべてのファイルを各参加インスタンスから削除しようとします。

CodeBuild での EB CLI の使用

での EB CLI の使用 AWS CodeBuild - AWS Elastic Beanstalk

CodeBuild を EB CLI をともに使用すれば、ソースコードからのアプリケーションの構築を自動化できます。

CodeBuild で ecr get-login-password を実行するステージ

Amazon ECR をソースとしてコンテナイメージの継続的デリバリパイプラインを構築する | Amazon Web Services ブログ

  • Pre-build ステージ
  • Amazon ECR へサインイン

cfn-hup

cfn-hup - AWS CloudFormation

cfn-hup ヘルパーは、リソースメタデータの変更を検出し、変更が検出された場合に、ユーザーが指定した操作を実行するデーモンです。

S3 バケットポリシーで MFA の設定

クロスアカウントユーザーに、S3 バケットにアクセスするのに MFA を使用するよう求める | AWS re:Post

他の AWS アカウントのユーザーに MFA デバイスによる認証を要求する MFA 関連の条件をバケットポリシーに追加します。

CloudWatch メトリクスフィルター

フィルターを使用したログイベントからのメトリクスの作成 - Amazon CloudWatch Logs

メトリクスフィルタは CloudWatch Logs に送信されたログデータを検索するための語句とパターンを定義します。

Aurora Global Database のセカンダリ DB クラスターの上限数

AWS リージョン の Amazon Aurora Global Database への追加 - Amazon Aurora

Aurora Global Database には、最大 10 つのセカンダリ DB クラスターをアタッチできます。

Elastic Beanstalk ワーカー環境

Elastic Beanstalk ワーカー環境 - AWS Elastic Beanstalk

AWS Elastic Beanstalk アプリケーションが、完了までに時間がかかるオペレーションまたはワークフローを実行する場合は、それらのタスクを専用のワーカー環境にオフロードできます。

API Gateway のマッピングテンプレートによるパラメータの上書き

API Gateway で REST API の API リクエストパラメータおよびレスポンスパラメータとステータスコードを上書きする - Amazon API Gateway

マッピングテンプレート変換を使用して、任意のタイプのリクエストパラメータ、レスポンスヘッダー、またはレスポンスステータスコードを上書きできます。

Auto Scaling グループのライフサイクルフック

Auto Scaling グループでのライフサイクルフックの仕組み - Amazon EC2 Auto Scaling

AWS-ConfigureS3BucketLogging

AWS-ConfigureS3BucketLogging - AWS Systems Manager 自動化ランブックリファレンス

Amazon Simple Storage Service (Amazon S3) バケットのログ記録を有効にします。

Aurora エンドポイントのタイプ

Amazon Aurora エンドポイント接続 - Amazon Aurora

Aurora のクラスターエンドポイント

Amazon Aurora のクラスターエンドポイント - Amazon Aurora

クラスターエンドポイントは、DB クラスターへの読み取り/書き込み接続のフェイルオーバーサポートを提供します。

DeletionPolicy の Snapshot

DeletionPolicy 属性 - AWS CloudFormation

スナップショットをサポートするリソース (AWS::EC2::Volume など) の場合は、Snapshot を指定できます。これにより、CloudFormation は、スナップショットを作成したうえで、リソースを削除するようになります。

CloudFormation カスタムリソース

カスタムリソースを使用してカスタムプロビジョニングロジックを作成する - AWS CloudFormation

CloudFormation は、指定されたサービストークンにリクエストを送信します。このリクエストには、 にリクエストタイプやカスタムリソースが応答を送信する宛先の Amazon Simple Storage Service の署名付き URL などの情報が含まれています。

AWS-RunPatchBaseline のサポート OS

パッチ適用のための SSM コマンドドキュメント: AWS-RunPatchBaseline - AWS Systems Manager

このドキュメントでは、Linux macOS、および Windows Server マネージドノードをサポートしています。

AWS-ApplyPatchBaseline のサポート OS

マネージドノードへのパッチ適用のための SSM コマンドドキュメント - AWS Systems Manager

レガシー ドキュメント AWS-ApplyPatchBaseline は、Windows Server マネージドノードにのみ適用され、アプリケーションのパッチ適用をサポートしません。

Glue の再試行失敗時の通知

Glue ジョブが再試行に失敗した際に SNS アラートを起動する Lambda 関数を作成する | AWS re:Post

Lambda 関数を作成し、受信イベントで特定の文字列をチェックします。イベント内の文字列が Lambda 関数の文字列と一致する場合、関数はメッセージを Amazon SNS に発行します。

S3 でのオブジェクトの整合性のチェック

Amazon S3 でのオブジェクトの整合性のチェック - Amazon Simple Storage Service

Amazon S3 は、チェックサム値を使用して、アップロードまたはダウンロードするデータの整合性を検証します。

cloudformation-stack-drift-detection-check

AWS Config についての CloudFormation のドリフト検出エラーを解決する | AWS re:Post

AWS Config ルールは、DetectStackDrift の可用性によって異なります。スロットリングが発生すると、AWS Config がルールを NON_COMPLIANT に設定するため、スロットリングまたは「レートを超えました」というエラーが表示されます。

CloudFormation カスタムリソースのドリフト

AWS CloudFormation カスタムリソース - AWS ParallelCluster

CloudFormation は、カスタムリソースのドリフトを検出しません。

WAF から S3 へのログ送信

Sending protection pack or web ACL traffic logs to an Amazon Simple Storage Service bucket - AWS WAF, AWS Firewall Manager, AWS Shield Advanced, and AWS Shield network security director

Bucket names for AWS WAF logging must start with aws-waf-logs- and can end with any suffix you want.

Auto Scaling グループの終了ライフサイクル

Amazon EC2 Auto Scaling インスタンスのライフサイクル - Amazon EC2 Auto Scaling

Auto Scaling グループに autoscaling:EC2_INSTANCE_TERMINATING ライフサイクルフックを追加すると、インスタンスは Terminating 状態から Terminating:Wait 状態に移行します。

SSM ランブックの AWS-ConfigureS3BucketLogging

AWS-ConfigureS3BucketLogging - AWS Systems Manager 自動化ランブックリファレンス

Amazon Simple Storage Service (Amazon S3) バケットのログ記録を有効にします。

トランジットゲートウェイフローログ

AWS トランジットゲートウェイフローログ - Amazon VPC

トランジットゲートウェイフローログは AWS 、トランジットゲートウェイとの間で送受信される IP トラフィックに関する情報をキャプチャできる Transit Gateway の機能です。

KMS のクォータ

クォータのリクエスト - AWS Key Management Service
リージョンや API ごとに異なるが、以下の API では 10,000 ~ 100,000 TPS

  • Decrypt
  • Encrypt
  • GenerateDataKey
  • GenerateDataKeyWithoutPlaintext
  • GenerateMac
  • GenerateRandom
  • ReEncrypt
  • VerifyMac

Auto Scaling のスタンバイモード

Amazon EC2 Auto Scaling instance lifecycle - Amazon EC2 Auto Scaling

You can put any instance that is in an InService state into a Standby state. This enables you to remove the instance from service, troubleshoot or make changes to it, and then put it back into service.

Instances in a Standby state continue to be managed by the Auto Scaling group. However, they are not an active part of your application until you put them back into service.

OpsWorks の Auto Healing

自動ヒーリングを使用した、失敗したインスタンスの置き換え - AWS OpsWorks

レイヤーの自動ヒーリングがデフォルト設定で有効になっている場合、OpsWorks スタックはレイヤーの障害が発生したインスタンスを次のように自動的に置き換えます。

CodeBuild での Jenkins の使用

Jenkins AWS CodeBuild で を使用する - AWS CodeBuild

Jenkins ビルドノードにビルドジョブを送信する代わりに、プラグインを使用してビルドジョブを CodeBuild に送信します。これにより、Jenkins ビルドノードのプロビジョニング、設定、および管理が不要になります。

CloudFormation の InsufficientCapabilities

aws:createStack – AWS CloudFormation スタックを作成する - AWS Systems Manager

CAPABILITY_IAM および CAPABILITY_NAMED_IAM
IAM リソースがある場合、どちらの機能でも指定できます。カスタム名を持つ IAM リソースがある場合は、CAPABILITY_NAMED_IAM を指定する必要があります。このパラメータを指定しない場合、このアクションは InsufficientCapabilities エラーを返します。

OpsWorks スタックライフサイクルイベント

OpsWorks スタックライフサイクルイベント - AWS OpsWorks

各レイヤーには、5 つの一連のライフサイクルイベントがあり、それぞれのイベントに、そのレイヤーに固有の一連のレシピが関連付けられます。レイヤーのインスタンスでイベントが発生すると、一連の適切なレシピが OpsWorks スタックによって自動的に実行されます。

Elastic Beanstalk での leader_only

Linux サーバーでのソフトウェアのカスタマイズ - AWS Elastic Beanstalk

leader_only を使用して、1 つのインスタンスでコマンドを実行するか、テストコマンドが test と評価される場合のみコマンドを実行するよう true を設定できます。

CloudWatch メトリクスストリーム

メトリクスストリームを使用する - Amazon CloudWatch

メトリクスストリームを使用すると、ほぼリアルタイムに着信するように低レイテンシーで、選択した送信先に CloudWatch メトリクスを継続的にストリーミングできます。

CodeBuild の CODEBUILD_SOURCE_VERSION

ビルド環境の環境変数 - AWS CodeBuild

CodeCommit では、ビルドするソースコードのバージョンに関連付けられたコミット ID またはブランチ名です。

Kinesis Data Streams の保持期間

Amazon Kinesis Data Streams の用語と概念 - Amazon Kinesis Data Streams

ストリームの保持期間は、デフォルトで作成後 24 時間に設定されます。保持期間は、IncreaseStreamRetentionPeriod 操作を使用して最大 8,760時間 (365 日) まで延長し、DecreaseStreamRetentionPeriod 操作を使用して最小 24 時間まで短縮することができます。

Elastic Beanstalk の cron.yaml

Elastic Beanstalk 環境のワーカー階層に定期タスクを追加する | AWS re:Post

Elastic Beanstalk 環境のワーカー層に定期的なタスクを追加するには、ソースコードのルートに cron.yaml ファイルを配置します。

RDS でダウンタイムを抑えてバージョンアップする方法

RDS for MySQL データベースのアップグレード時にリードレプリカを使用したダウンタイムの短縮 - Amazon Relational Database Service

リードレプリカを使用して、ほとんどのメンテナンスステップを事前に実行し、実際の停止中に必要な変更を最小限に抑えることができます。

AWS Config の SNS 通知

Amazon SNS トピック AWS Config に送信する通知 - AWS Config

設定の変更と通知 AWS Config を Amazon SNS トピックにストリーミングするように を設定できます。

CodePipeline から別の CodePipeline を直接呼び出すことはできない

CodePipeline アクションタイプとの統合 - AWS CodePipeline
アクションが存在しないため直接の呼び出しはできないが、Lambda アクションを使用すれば間接的に呼び出すことは可能である。

CodePipeline のイベント

CodePipeline イベントのモニタリング - AWS CodePipeline

CodeDeploy に組み込みのヘルスチェック機能はない

CodeDeployでELBヘルスチェックによるローリングアップデート | DevelopersIO

ValidateServiceで、ELBのヘルスチェックが成功するまで待機させます。

Discussion