ラボの概要
このラボでは、フルマネージドの継続的インテグレーションと継続的デリバリー (CI/CD) のパイプラインを Amazon Elastic Container Service (Amazon ECS) で実行するアプリケーション用に構築する方法をデモンストレーションします。AWS CodePipeline を使用して 3 つのステージから成るパイプラインをモデル化、オーケストレーション、可視化し、ブルー/グリーンデプロイ戦略を使用してコンテナ化されたアプリケーションをデプロイします。この戦略では新しいバージョンのアプリケーションを起動して古いバージョンと並行して実行し、徐々にトラフィックを新しいバージョンに移行します。ブルー/グリーンデプロイは一般的に、アプリケーションのインプレースアップグレードを行うときに採用されます。管理者はこれにより新しいコードを検証しながら古いアプリケーションバージョンを実行できます。新しいコードでエラーが検出された場合は、デプロイを迅速かつ確実にロールバックできます。
完了すると、パイプラインは新しいコードがソースリポジトリにプッシュされるたびに新しいコンテナイメージを自動でビルドし、AWS CodeDeploy と Amazon ECS を使用してそのデプロイを管理し、トラフィックを移行します。
目標
このラボを修了すると、以下ができるようになります。
- CodeCommit をアプリケーションのソースコントロールリポジトリとして設定する。
- buildspec ファイルを使用して新しい Docker イメージをビルドする CodeBuild プロジェクトを作成し、監査可能かつ安全な方法で Amazon ECR に保存する。
- ブルー/グリーンデプロイで使用する動的フィールドを含む appspec.yaml ファイルと taskdef.json ファイルを作成する。
- CodeDeploy と Amazon ECS で設定したブルー/グリーンデプロイ戦略を使用して、アプリケーションのインプレースアップグレードを実行する。
前提条件
このラボでは以下が必要です。
- Windows、macOS X、Linux (Ubuntu、SuSE、Red Hat) のいずれかが搭載されているコンピュータを使用できること
- Google Chrome や Mozilla Firefox などの最新のインターネットブラウザ
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- コマンド: 実行する必要があるコマンドを表す。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用する。
- 注意: ヒントや重要なガイダンス。
- 詳細: 詳細情報が記載されている場所を示す。
- 検討: あるコンセプトを自分の環境でどのように応用できるかを考えたり、学習中のトピックについて議論したりする時間。
- 警告: 特記事項または重要な情報 (この情報を読み忘れても、機器やデータに問題が発生するというわけではありませんが、特定のステップを繰り返す必要が生じる可能性があります)。
- セキュリティ: セキュリティのベストプラクティスを取り入れる機会。
- 更新: ウェブブラウザのページやリストを更新して、新しい情報を表示する必要があることを示す。
- タスク完了: ラボのまとめや要点を示す。