Amazon Web Services ブログ

[AWS Black Belt Online Seminar] AWS CodeDeploy 資料及び QA 公開

先日 (2021/01/26) 開催しました AWS Black Belt Online Seminar「AWS CodeDeploy」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。

20210126 AWS Black Belt Online Seminar AWS CodeDeploy

AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます)

Q. cloudfront がELBの先にあった場合、blue/Green のデプロイした場合に、キャッシュはどのようになるのでしょうか?
A. CloudFront のキャッシュ保持期間が経過するまでキャッシュは更新されません。画像などキャッシュ対象のコンテンツを配置するディレクトリにバージョンを付与する等して、それを参照することでデプロイバージョンに応じたコンテンツを取得することが可能です。

Amazon CloudFront – 既存のコンテンツと CloudFront ディストリビューションを更新する

Q. AutoScaling グループへデプロイした場合、そのグループの起動テンプレートで指定している AMI との整合性はどうなりますか?(codedeploy で新しいのがデプロイされても、スケーリングで立ちあがる新しいインスタンスは、古いAMIを参照してしまうのではないでしょうか?
A. スケールアウト時に追加されたインスタンスに対して最新リビジョンがデプロイされますので、起動テンプレートで指定している AMI とはアプリケーションのバージョンが異なる状態となります。AMI ではなくリビジョンについてのご質問の場合、既存インスタンスとスケールアウトによって追加されたインスタンスに異なるリビジョンがデプロイされる可能性があります。回避策はこちら「AWS CodeDeploy – 展開中のスケールアップイベント」のドキュメントをご覧ください。

Q. Deploy について、CloudFormation と CodeDeploy どちらかで行うのが良いのか指標などありますでしょうか?例えとしましては、Lambda を SAM を使用して Deploy する場合に、Deploy 方法などを指定することができます。Application のリリースのみを行う場合は、CodeDeploy。Lmanda の設定変更が必要なリリースについては、CloudFormation。というところでしょうか?また、上記の際に、CodePipeline の組み込みについて CloudFormation は Pipline 外で手動で実施、などになるのでしょうか?
A. CodeDeploy は 2つのバージョン間のトラフィック移行を制御するのみですので、Lambda 関数自体のデプロイは SAM や CloudFormation , マネジメントコンソールから別途行っていただく必要があります。また、CodePipeline に デプロイアクションとして CloudFormation を組み込んでいただくことも可能です。

Q. Beanstalk には CodeDeployAgent が組み込まれてるのでしょうか。Beanstalk Agent がデプロイ処理を担ってるのでしょうか?
A. いいえ。CodeDeploy Agent ではなく、Elastic Beanstalk によってデプロイが行われます。

Q. ECS のデプロイ時、ELB リスナーのテスト用ポートを設定できますが、本番用ポートにトラフィックを切り替えた後に、この ELBリスナーのテスト用ポートを自動的に閉じる(アクセス不可にする)ように設定することは可能でしょうか?
A. はい。イベント通知をトリガーに処理を行うことで実行可能です。ライフサイクルイベントフックでも実行可能ですが、フック関数の結果によりロールバックをトリガーできる点にご注意ください。

Q. デプロイ失敗時のロールバックについてですが、ECS・Lambda は旧バージョンにもどることは想像できますが、EC2 で S3 からアプリケーションを取得するものについては、どのように旧バージョンに戻るのでしょうか?(どのように旧バージョンのアプリケーションを取得するのか)
A. 以前にデプロイされたリビジョンがデプロイされます。自動ロールバックの設定が行われている場合、正常にデプロイできた最新のリビジョンが取得されデプロイされます。以前デプロイしたリビジョンを利用して、手動で再デプロイすることも可能です。

AWS CodeDeploy -再デプロイおよびデプロイのロールバック

Q. Codedeploy と EKS の連携について、簡単にご紹介いただけますでしょうか?
A. CodeDeploy は EKS に対応しておりません。

Q. CodeDeploy へのエンドポイントは、EC2 はプライベートエンドポイント、オンプレはパブリックエンドポイントになるでしょうか。
A. いいえ。VPC エンドポイントの有無によります。Direct Connect や Site-to-Site VPN 接続で オンプレと VPC が接続されている場合は、VPC エンドポイント経由でアクセスが可能です。

Q. 事前承認されたユーザーリストに対してカナリアリリースを許可できますか? AWS の新サービスでのプレビューの仕組みのようなものを想定しています。システムは ALB/EC2 構成であるため、ALB Advanced Request Routing (HTTP Header) を検討しています。AWS CodeDeploy と組み合わせるガイドはありますか?
A. いいえ。CodeDeploy は EC2 に対するカナリアリリースをサポートしていません。独自の仕組みを構築していただく必要があります。こちらのブログ「新機能 – 加重ターゲットグループの使用によって Application Load Balancer がデプロイメントをシンプルに」がご参考になるかもしれません。

—–

今後の AWS Webinar | イベントスケジュール

直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。

——

AWS Innovate – AI/ML Edition

AI / 機械学習に特化したオンラインカンファレンス AWS Innovate – AI/ML Edition を日本で初めて開催します。AI および機械学習の最新のイノベーション、主要な概念、ビジネスのユースケース、アーキテクチャのベストプラクティスなど、機械学習を初めて学習する方からビジネスでの活用を検討される方まで、経験レベルや職務にあった 15 を超えるセッションをAWS のエキスパートがご紹介します。最小限の労力とコストでイノベーションを加速するためにご活用ください。

日時:2021 年 2 月 24 日(水)オンラインで開催
詳細・ご登録についてはこちら≫

——

AWSome Day Online Conference

「AWSome Day Online」は、AWSの主要サービスや基礎知識を約 3 時間という短い時間で、ポイントを押さえて紹介いたします。技術的な面だけではなく、AWS クラウドを学ぶために必要となる知識を身に付けたい方、エンジニアのみならず、営業職、プリセールス職、学生まで幅広い方々におすすめします。

※この回ではAWSエキスパートによる技術的な内容についてチャット形式でのQ&Aを実施します。
※AWS サービスの導入に関するご相談も同時にチャット形式にて対応します。
※2020年は毎月第一水曜日に開催します。

日時:2021 年 3 月 3 日(水) 15:00 – 18:00 終了予定 | 詳細・お申込みについてはこちら≫

——

AWS Black Belt Online Seminar

2021 年 3 月のアジェンダが公開となりました。セミナー中は内容に関する疑問点を質問することができます。参加された方だけの特権ですので、ぜひこの機会にご視聴ください。

3 月分の詳細・お申込はこちら≫

  • 3/9(火)12:00-13:00 AWS Audit Manager
  • 3/10(水)18:00-19:00 AWS Artifact
  • 3/16(火)12:00-13:00 AWS DataSync
  • 3/17(水)18:00-19:00 Amazon MQ
  • 3/30(火)12:00-13:00 AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
  • 3/31(水)18:00-19:00 Gateway Load Balancer