Amazon Web Services ブログ

[AWS Black Belt Online Seminar] AWS Cloud Development Kit (CDK) 資料及び QA 公開

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

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

Q. CircleCI などの他社製品との親和性はいかがなものでしょうか?
A. 特に外部サービスで使うことの制限はなく、実際に使っていらっしゃるお客様もいらっしゃいます。各種デプロイツールのビルドフェーズで cdk synth までを実施し、デプロイフェーズで cdk deploy を実施することで、AWS上に環境をデプロイするといったことが行われています。

Q. ライフサイクルが異なる複数の Stack を連携する場合は、どのようにするのが良いでしょうか?
A. Appの中で異なる Stack として定義していただき、参照が必要なオブジェクトをそれぞれの Stack 間で渡すことで、クロススタックリファレンスによるスタック管理が可能です。デプロイする場合は 「cdk deploy スタック名」のコマンドで指定したスタックだけをデプロイできますので、ライフサイクルが異なる場合でも分けて管理ができます。

Q. Stack 作成時のパラメータを、扱うときに、環境変数とコンテキストなどがあると思いますが、どう使い分けるのが良いでしょうか?
A. パラメータを渡すためにはEnvironment(環境変数)、Context、SSM ParameterStore/SecretsManager などの方法があります。基本的には Context でパラメータを渡すことが一般的かと思います。これは cdk.json などのファイルに明示的にパラメータを定義して使い分けることができるためです。コーディングの環境ではなく、デプロイメントの環境でグローバルに定義されているパラメータを参照したい場合は SSM ParameterStore/SecretsManager を使うことが多いでしょう。環境変数で値を渡すことも可能ですが、環境変数を別途設定する仕組みが必要であり、ここに情報を集めていくと管理が煩雑になることが想定されます。あくまでデプロイのパラメータを切り替えるなど一時的かつ少数の情報を渡すためだけに使うことがよいでしょう。

Q. “CDK アプリケーションの構成” のスライドのところで、App の下に複数の Stacks を持つことができ、各 Stack がリージョンとアカウントを持つと書いてあるように見えたのですが、ということはアカウントやリージョンにまたがるアプリケーション、みたいなものを CDK の単一コマンドでデプロイできるという理解であってますでしょうか?
A. はい。可能です。例えば異なるアカウント/リージョンを指定したApp に SampleA, SampleBといったスタックがあった場合、「cdk deploy Sample*」のようにすることで、一括して複数のアカウント、リージョンにまたがったデプロイが可能です

Q. 既にコンソール等で作成してあるリソース(DynamoDBとか)を AWS CDK を使って読み込んだり、設定変更することは可能でしょうか?
A. 直接はできません。CloudFormation の Stack Import 機能を使って一度 CloudFormation 管理下にして、さらにそのテンプレートをCDKで生成するようにすればCDKで既存リソースを管理することは可能です。BlackBelt資料の最後のほうに「既存環境からCDKコードを生成する(参考)」というページを用意しましたので、こちらもご覧ください。

Q. Appに定義された account を Stack から参照は可能でしょうか。
A. App で Stack を作成する際、env プロパティに account や region を指定します。Stack 内ではこれを参照できます。

Q. クロススタック参照を扱う場合、参照先を更新することができないですが、そこら辺の制御は CDK を使ったとしても利用者側で行う必要がありますか?
A. クロススタック参照に関する制約は CloudFormation と同じです。Export した値が変わるような変更を行う場合は、ユーザ側でもそれを意識する必要があります。場合によっては依存する方のスタックを一度すべて削除し、依存される方のスタックを変更して、再度依存する方のスタックを作成するような操作が必要です。

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

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

AWS Innovate Online Conference / AWS Startup Day Online

[全42セッション公開中] AWS Innovate は、AWS クラウドを活用してビジネス革新を目指しているすべての IT リーダー及び IT プロフェッショナルを対象とした、最新のクラウド情報をお届けするためのオンラインカンファレンスです。今回の AWS Innovate では、基調講演「高速で変革し続ける企業を目指すには」、人気教育系 Youtuber ヨビノリたくみ氏による招待講演「機械学習の「そと」と「なか」」、AWS へよくご相談いただく課題とその解決方法を示した「AWS ソリューション」他、認定試験対策講座など 42 のセッションを公開します。

[開催間近!] AWS Startup Day は、アーリーステージのスタートアップ、または、起業を検討中の方を対象として、AWS クラウドを活用してビジネスを飛躍するヒントが満載のイベントです。コンテナ、機械学習、モバイルなど、モダンアプリケーションの開発に欠かせないテクノロジーに関するセッションも、アーリーステージの方々にとって必要な視点で編集しており、明日から使える実践的な内容となっています。

AWS Innovate 開催: 3 月 10 日 ~ 4 月 17 日  |  詳細・お申込みについてはこちら≫
AWS Startup Day 開催:3 月 17 日 ~ 4 月 17 日   | 詳細・お申込みについてはこちら≫


AWSome Day Online Conference

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

※5月の特別企画:AWSエキスパートがチャットでQ&A対応をいたします。

日時: 5 月 11 日(月) 15:00 – 17:40 終了予定 | 詳細・お申込みについてはこちら≫

AWS Black Belt Online Seminar

3 月の AWS Black Belt Online Semina rは 5 本のセッションを予定しております。リクエストの多かった AWS Cloud Development Kit (CDK) や、2016 年からのアップデートとなる Amazon Redshift などを配信予定です。配信当日は Q&A ができます。参加された方だけの特権です。ぜひ、ご登録・ご視聴ください。

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

  • Amazon Redshift | 2020 年 3 月 18 日 (水) | 18:00 – 19:00
  • AWS WAF アップデート | 2020 年 3 月 24 日 (火) | 12:00 – 13:00
  • AWS におけるマイクロサービスアーキテクチャの設計パターン | 2020 年 3 月 25 日 (水) | 18:00 – 19:00
  • AWS Elemental MediaConvert | 2020 年 3 月 31 日 (火) | 12:00 – 13:00