AWS Certified DevOps Engineer - Professional
DynamoDB
グローバルテーブルの概要
-
マルチリージョン対応: グローバルテーブルは、複数のAWSリージョンにまたがってDynamoDBテーブルを複製します。これにより、ユーザーが地理的に近いリージョンからデータにアクセスでき、レイテンシの低減が図れます。
-
マルチマスターアーキテクチャ: 各リージョンで読み書きが可能なマスターを持つため、どのリージョンからでもデータの読み書きができます。これにより、単一リージョンの障害に対する耐性が向上します。
-
自動データ複製: データは自動的にすべてのリージョン間で複製・同期されるため、手動でのデータ移行や同期作業が不要です。
Amazon ECR
Dockerイメージをプッシュ
Dockerイメージをプッシュするために buildspec.yml ファイルに post_build フェーズの commands ブロックを追加するというのは、
AWS CodeBuildなどのビルドプロセスにおいて、Dockerイメージのビルド後にそのイメージをコンテナレジストリ(例えばAmazon ECR)に
プッシュ(アップロード)するためのコマンドを実行することを指します。
buildspec.yml は、AWS CodeBuildがビルドプロジェクトを実行する際に使用する設定ファイルです。
install: 必要な依存関係やツールのインストールを行う。
pre_build: ビルド前に実行するコマンド(例:認証、環境変数の設定)。
build: 実際のビルドプロセスを実行(例:Dockerイメージのビルド)。
post_build: ビルド後に実行するコマンド(例:Dockerイメージのプッシュ、通知の送信)。
post_build フェーズは、ビルドプロセスが完了した後に実行するコマンドを定義するセクションです。
Dockerイメージをビルドした後、そのイメージをコンテナレジストリ(例:Amazon ECR)にプッシュするためのコマンドをここに追加します。
これにより、ビルドが成功したDockerイメージが自動的にレジストリに保存され、デプロイや他のサービスでの利用が可能になります。
Kinesis Data Firehose
ログ形式を標準化
Kinesis Agent→Kinesis Data Firehose→Lambdasで整形
ECS
ECS SHA Trackingの概要
SHA-256ダイジェストの利用:
コンテナイメージはビルド時に生成される一意のSHA-256ハッシュ(ダイジェスト)によって識別されます。
ダイジェストを使用することで、特定のイメージバージョンを確実に参照できます。タグ(例: latest, v1.0)は変更可能ですが、ダイジェストは一度生成されると変更されません。
- 一貫性の確保:同じダイジェストを使用することで、異なる環境(開発、ステージング、本番)間で同一のイメージがデプロイされることを保証します。
- トレーサビリティの向上:各デプロイメントがどのコードコミットやビルドに対応しているかを正確に追跡できます。これにより、問題発生時の原因特定が容易になります。
- セキュリティ強化:不正なイメージの挿入を防ぎ、信頼できるイメージのみがデプロイされるようにします。
AWS CodeDeploy
リリース
カナリアリリース
アプリケーションの新しいバージョンを全ユーザーに公開する前に、ユーザーのサブセットに段階的に展開するデプロイメント戦略
Discussion