このハンズオンセッションの目的は、参加者がECSに関するベストプラクティスに沿った構築方法を習得することです。具体的には、以下の点を重視しています。
-
クラウドインフラの自動化:
- 実際にInfrastructure as Code(IaC)を用いてクラウドインフラを構築する方法を学びます。これにより、手動設定のミスを減らし、再現性のある環境を短時間で構築できるようになります。
-
インフラの継続的インテグレーションとデプロイメント(CI/CD):
- GitHub Actionsを用いて、インフラおよびアプリケーションの自動ビルド、テスト、デプロイメントのパイプラインを設定します。これにより、コードの変更が迅速かつ安全に本番環境に反映されるプロセスを体験します。
-
セキュリティの強化:
- ビルド時およびランタイムでのセキュリティスキャンを実施し、脆弱性の検出と修正を行います。具体的には、コンテナビルド時のCI処理の中での脆弱性スキャン、Sysdigを用いたランタイムモニタリングを通じて、セキュリティリスクを迅速に特定し対処する方法を学びます。
-
デプロイメントの戦略:
- アプリケーションのデプロイメントの手順を学びます。これにより、新しいバージョンのアプリケーションを安全にリリースするスキルを習得します。
-
オブザーバビリティの向上:
- オブザーバビリティはログ、メトリクス、トレースの3つの柱を中心に実現されます。ここでは比較的実装しているシステムが少ないと思われるトレースについて、実装方法とトレースの確認を行います
このハンズオンセッションを通じて、参加者がクラウドネイティブな環境でのインフラおよびアプリケーションのデプロイメントと運用に関する実践的なスキルを身につけることを目指しています。
- コンテナの基礎的な知識(Dockerfileを書いたことがあり、dockerコマンドを使ったことがあればOKです)
- ECSの概要(ECSクラスター、ECSサービス、ECSタスクがそれぞれどのように関係してくるのかが分かればOKです)
- オープニングセッション
- ハンズオンの目的と概要説明
- 注意事項や質問の受け付け方法の説明
- Amazon ECSのベストプラクティスについて
- Amazon ECSのベストプラクティスについて
- IaC(Terraform)を使ったAWS環境のデプロイ
- Cloud9の初期セットアップ
- 必要なツールやリポジトリのクローン
- ECSの初回デプロイ
- GitHub Actionsを使ったインフラのCI/CD
- インフラCI/CDのためのワークフローの概要
- インフラCI/CDの中で使用するツールの紹介
- インフラCI処理の実施
- 検出された脆弱性の修正
- 修正後の再デプロイ
- GitHub Actionsを使ったアプリケーションのデプロイ
- ecspressoについて
- アプリケーションのCI/CD処理の概要
- アプリケーションCI処理の実施
- 検出された脆弱性の修正
- AWS環境へのデプロイ
- Sysdigによるランタイムモニタリングの導入
- Sysdig Secureシステム概要
- Sysdig Secure導入
- アプリケーションへの攻撃
- 検知結果の確認
- モニタリングツールの実践
- トレース取得のための設定
- トレースの確認
- クロージングセッション
- ハンズオンのまとめと振り返り
- 質疑応答