Amazon Web Services ブログ

Category: AWS Cloud Development Kit

サーバーレス LAMP スタック – Part 5: CDK コンストラクトライブラリ

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレス LAMP スタック用の新しい CDK コンストラクトライブラリが、開発者によるサーバーレス PHP アプリケーションの構築にどのように役立つかを学びます。 AWSクラウド開発キット(AWS CDK)は、クラウドアプリケーションリソースをコードで定義するためのオープンソースソフトウェア開発フレームワークです。開発者は、TypeScript、Python、C#、Javaなどの使い慣れたプログラミング言語でインフラストラクチャを定義できます。開発者は、インターフェイス、ジェネリクス、継承、メソッドアクセス修飾子など、言語が提供する機能を利用できます。AWS Construct ライブラリは、CDK アプリケーションで AWS リソースを定義するための API を公開するモジュールの広範なセットを提供します。 「サーバーレス LAMP スタック」ブログシリーズでは、ベストプラクティス、コード例、多くのサーバーレスコンセプトの詳細を紹介し、これらが PHP アプリケーションにどのように適用されるかを示しています。また、PHP 開発者のインスピレーションを刺激するのに役立つ、コミュニティからの貴重な貢献に焦点を当てています。 このサーバーレス LAMP スタックの各コンポーネントについては、一連のブログ記事で詳しく説明しています。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 サーバーレス LAMP […]

Read More
CDK

CloudFormation テンプレートから AWS Cloud Development Kit への移行

AWS CloudFormation を使用すると、開発者やシステム管理者は、関連する AWS リソースのコレクションを簡単に作成および管理し、それらを整然かつ予測可能な方法でプロビジョニングおよび更新できます。AWS CloudFormation のサンプルテンプレートの使用、または独自のテンプレートの作成によって、アプリケーションの実行に必要な AWS リソース、相互の依存関係、および実行時パラメーターを定義できます。AWS サービスのプロビジョニングの順序や、それらの依存関係を解決するための詳細を把握する必要はありません。CloudFormation はあなたに代わってこれを処理します。AWS リソースをデプロイしたら、制御され予測可能な方法で変更し更新できます。これにより、ソフトウェアと同じ方法で AWS インフラストラクチャにバージョン管理を適用できます。 2019 年 7 月、AWS Cloud Development Kit(CDK)がリリースされました。開発者が AWS インフラストラクチャを TypeScript、JavaScript、Python、C#、Java などの使い慣れたプログラミング言語のコードで定義できるようになったことで、お客様の選択肢が増えました。CDK では、より高いレベルの抽象化を使用してインフラストラクチャを定義できますが、その背後では CloudFormation が使われています。つまり、自動ロールバックやドリフト検出など、CloudFormation のすべてのメリットを享受できます。 多くの開発者は、アプリケーションコードに使用するのと同じ使い慣れたプログラミング言語でインフラストラクチャを定義することを好むため、CDKを使用したいと考えています。しかし一方で、実証済みのインフラストラクチャパターンと重要な構成設定をエンコードした CloudFormation テンプレートの広範なライブラリをすでにお持ちです。これらのテンプレートは、構築と維持に時間と労力を要します。一方で既存のスタックを再現する CDK コードを手動で記述することは、面倒でエラーが発生しやすくなります。 今日まで、既存のテンプレートで定義されたインフラストラクチャを活用する唯一の方法は、コアモジュールの CFnInclude クラスでした。これにより、CDK アプリケーションに CloudFormation テンプレートを組み込み、変更せずに出力することができました。ただし、このソリューションにはいくつかの制限があります。 テンプレートに含まれるリソースは、インクルードした後で変更することはできません。 テンプレートから取り込んだリソースは、その論理 ID を使用して手動で参照します。これはエラーが発生しやすく、この方法で作成された参照は、CDKが提供する強力な機能である CDK の自動クロススタックリファレンス生成機能を利用できません。 CloudFormation-Include CDK モジュールの発表 既存の CloudFormation スタックを CDK コードに移行するために特別に開発された CloudFormation-include […]

Read More

[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 の一部についても共有しております。 20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK) from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. CircleCI などの他社製品との親和性はいかがなものでしょうか? A. 特に外部サービスで使うことの制限はなく、実際に使っていらっしゃるお客様もいらっしゃいます。各種デプロイツールのビルドフェーズで cdk synth までを実施し、デプロイフェーズで cdk deploy を実施することで、AWS上に環境をデプロイするといったことが行われています。 Q. ライフサイクルが異なる複数の Stack を連携する場合は、どのようにするのが良いでしょうか? A. Appの中で異なる Stack として定義していただき、参照が必要なオブジェクトをそれぞれの Stack 間で渡すことで、クロススタックリファレンスによるスタック管理が可能です。デプロイする場合は 「cdk deploy […]

Read More

モダンアプリケーション開発ホワイトペーパー(日本語改定版)が公開されました

皆さん、こんにちは! モダンアプリケーション開発スペシャリスト ソリューションアーキテクトの福井です。 私が執筆したモダンアプリケーション開発のホワイトペーパー(日本語版)がAWSホワイトペーパーサイトで公開されましたので、その内容を紹介させて頂きます。このホワイトペーパーは、以前こちらのブログで紹介させて頂いたModern Application Development on AWS(英語版)の日本語版になります。   ホワイトペーパーの内容 公開されたホワイトペーパードキュメントは、「AWS モダンアプリケーション開発 – AWS におけるクラウドネイティブ モダンアプリケーション開発と設計パターン」(日本語版)というタイトルの51ページのドキュメントで、 はじめに モダンアプリケーション開発 モダンアプリケーションの設計パターン AWSでのCI/CD まとめ の各章から構成されています。各章の簡単なご紹介は下記の通りです。

Read More