使い慣れたプログラミング言語でクラウド環境を構築 ! AWS CDK をグラレコで解説
Author : 米倉 裕基 (監修 : 高野 賢司)
クラウドコンピューティングの急速な普及により、複雑なクラウドアーキテクチャの迅速な構築と管理がますます求められるようになりました。AWS CDK は、Infrastructure as Code (以下 IaC) の原則に基づき、開発者が自分の得意なプログラミング言語を使用してインフラを定義できるフレームワークです。AWS CDK を使うことで、YAML や JSON、ドメイン固有言語 (DSL) などを使用する IaC ツールよりもさらに効率的かつ直感的にクラウドインフラを構築・運用できるようになります。
本記事では、AWS CDK の主な機能と特徴を以下の項目に分けてご説明します。
- AWS CDK の基本概念
- IaC の原則に基づいた設計
- 宣言型と命令型のコード記述
- 主要な構成要素
- サポートされているプログラミング言語
- CDK アプリケーションの開発フロー
- IDE との統合
- コスト最適化とベストプラクティス
それでは、項目ごとに詳しく見ていきましょう。
AWS CDK の基本概念
AWS CDK は、最新のプログラミング言語を使用してクラウドインフラストラクチャをコードとして定義し、それを AWS CloudFormation (以下 CloudFormation) を通じてデプロイするためのオープンソースのソフトウェア開発フレームワークです。AWS CDK を使用すると、AWS の各種サービス (例えばEC2、S3、RDS など) のリソースをコードで定義でき、クラウドインフラを効率的に設計・プロビジョニングできます。
AWS CDK は、IaC の原則に基づき、開発者はサポートされるプログラミング言語から好きなものを選択し、クラウドリソースを定義できます。プログラムコードでリソースを定義することで、ソフトウェア開発と同様のプロセスでインフラを構築でき、変更管理やチームコラボレーションが容易になります。
AWS CDK の中心的な概念は「コンストラクト」です。コンストラクトには 1 つまたは複数の AWS リソースを含めることができます。また、コンストラクトには別のコンストラクトを自由に含めることができるため、任意の構成をパッケージングして再利用できます。コンストラクトの使用により、共通の設定やベストプラクティスを簡単に共有でき、複雑なクラウド環境であっても効率的に構築を行えます。
クリックすると拡大します
AWS CDK を利用する利点
AWS CDK を利用する主な利点は以下のとおりです。
- 開発者体験の向上
習熟しているプログラミング言語とツールを使用して、クラウドリソースを作成、更新、管理できます。また、コード補完、エラーチェック、テストなどの開発者向け機能を活用することができます。 - アプリ全体をコードで定義
アプリケーションの全てのリソースを一つのコードベースで定義できます。これにより、アプリケーションのインフラストラクチャが明確に文書化され、バージョン管理とコードレビューが容易になります。 - 高レベルの抽象化
複雑なクラウドリソースとパターンを簡単に作成できる高レベルの抽象化を提供します。これにより、開発者はベストプラクティスに基づいたリソースの設定を簡単に適用したり、複雑なリソース設定を簡潔に記述することが可能になります。
その他 AWS CDK の特徴について詳しくは、「AWS クラウド開発キットの特徴」をご覧ください。
IaC の原則に基づいた設計
IaC は、コードによってインフラの管理やプロビジョニングを行うアプローチです。コードは、IaC ツールによって一般的なプログラムコードや設定ファイル、専用の宣言的言語などさまざまなスタイルがあります。
手動で行うインフラ構築と比べて、状態把握のしやすさや操作ミスの回避が期待できます。AWS CDK は、この IaC の原則に基づいて設計されており、開発者が自分の好きなプログラミング言語でインフラを定義・管理するためのパワフルなツールです。
IaC の利点
IaC をリソース管理に適用する利点は以下のとおりです。
- 一貫性
コードによるインフラの管理は、設定ミスやヒューマンエラーのリスクを減らし、環境の一貫性を保持します。 - 再利用性
コード化されたインフラは再利用可能で、新しい環境のセットアップ時間を短縮します。 - バージョン管理
インフラの設定はコードとしてバージョン管理システムに保存され、変更履歴を追跡できます。 - 自動化
デプロイに関連する作業の自動化が容易になり、効率性と速度が向上します。
クリックすると拡大します
AWS CDK を他の IaC ツールと差別化する大きな特徴は、好みのプログラミング言語でインフラを定義できる柔軟性と、複雑なクラウドアーキテクチャを再利用可能なコンポーネントとして扱える点です。
IaC の利点について詳しくは、AWS の規範的ガイダンスの「利点」をご覧ください。
宣言型と命令型のコード記述
AWS CDK のコードは、「宣言型」でリソースの状態を定義します。「宣言型」とは、達成したい「結果 (What)」を明示的に記述するアプローチで、AWS CDK では「コンストラクト」を使って明示的にリソースの状態を定義します。
宣言型と命令型のコード記述の組み合わせ
AWS CDK では「宣言的」なリソース定義に加えて、ループや条件分岐 (How) など、通常のプログラミングで使われる「命令型」のコード記述を組み合わせることができます。これにより、特定の条件下でリソースの状態を動的に調整できます。
例えば、開発環境と本番環境で異なる設定のリソースを定義したり、アクションの異なる Lambda 関数を複数作成するなど、さまざまなシナリオに適したインフラ設計が可能になります。
なお、プログラミング構文による「命令型」のコード記述は、リソース定義を直接指示するものではなく、既存の「コンストラクト」に条件を加えたり複数のバリエーションを作成するために使用されます。
クリックすると拡大します
コード記述の例
以下は、環境に応じて異なるメモリサイズを持つ Lambda 関数を作成するコード例の一部です。ユーザーは環境を AWS CDK の Context という機能で指定しています。
// Contextから環境を取得
const env = app.node.tryGetContext('env');
// 環境に応じてLambda関数のメモリサイズを設定
if (env == 'production') {
new SampleLambdaStack(app, 'ProductionLambda', {
memorySize: 256, // 本番環境ではメモリサイズを大きく設定
});
} else {
new SampleLambdaStack(app, 'DevelopmentLambda', {
memorySize: 128 // 開発環境ではメモリサイズを小さく設定
});
}
このように、AWS CDK を使用すると、達成したいリソースの「結果」をコンストラクトで宣言し、プログラミング構文で動的に調整することが可能です。Lambda 関数の作成と同じように、Amazon DynamoDB テーブルの構築、S3 バケットの作成など、多岐にわたるリソースの管理が、簡潔なコードで動的に行えます。
AWS CDK を使ったプログラミング言語ごとのサンプルコードについて詳しくは、GitHub の「AWS CDK Examples」をご覧ください。
主要な構成要素
コンストラクトは、AWS CDK における構成の基本単位であり、個々の AWS リソースやそれらの組み合わせを表します。スタックは複数のコンストラクトを集約したもので、デプロイ可能な単位になります。アプリケーションは最上位の構成要素で、複数のスタックを含み、スタック間の依存関係を管理し、適切な順序でデプロイやアップデートを行います。これら 3 つの構成要素により、AWS CDK はさまざまな抽象化のレベルでリソース管理と再利用を効率的に行うことが可能です。
コンストラクト
AWS CDK のコンストラクトは、AWS の各種サービスや機能をコード上で定義し、CloudFormation テンプレートを生成するための再利用可能なブロックです。
「Amazon S3 バケット」や「AWS Lambda 関数」などの個々のリソースをコンストラクトとして定義すると、CloudFormation テンプレートに変換されます。複数のコンストラクトを組み合わせることで、より複雑な機能やサービスのパターンを構築することも可能です。
クリックすると拡大します
Construct Hub
利用可能なコンストラクトを検索するリソースとして、「Construct Hub」が CDK コミュニティによって提供されています。このプラットフォームでは、特定のニーズに対応する豊富なコンストラクトが提供されており、開発者はプロジェクトに最適なコンストラクトを素早く見つけることができます。
コンストラクトの抽象化レベル
「コンストラクト」は、抽象度や再利用性に応じて、L1、L2、L3 という 3 つのレベルに分類されます。L1 コンストラクトは CloudFormation リソースそのものを表し、L2 コンストラクトは通常 AWS のリソースと 1:1 で対応します。L3 のような高レベルのコンストラクトは、複数のリソースを統合し、ベストプラクティスに基づいた設定を提供します。
コンストラクトレイヤー | 特徴 |
L1 コンストラクト | 特定の CloudFormation リソース (例えば、S3 バケットや EC2 インスタンスなど) に 1 対 1 で対応するコンストラクトです。 |
L2 コンストラクト | L1 コンストラクトより高度な抽象化を提供し、一般的な AWS リソース設定やベストプラクティスを組み込むことができます。複雑なリソース設定をより簡単に記述したり、既知のベストプラクティスを容易に適用したりすることが可能になります。 |
L3 コンストラクト | 複数の L2 コンストラクトを組み合わせて、特定のアプリケーションやタスクのパターンを実現する高レベルな抽象化を提供します。複雑なセットアップを簡潔なコードで記述することが可能になり、よくある AWS のアーキテクチャパターンを効率的に実装することができます。 |
スタック
AWS CDK におけるスタックは、一つまたは複数のコンストラクトを組み合わせたもので、アプリケーションの一部を表すリソースの集合体です。これにより、関連する AWS リソースを一括して作成、更新、削除することができるデプロイ単位となります。
アプリケーション
AWS CDK のアプリケーションは、複数のスタックを統合するコンテナで、最上位の階層に位置します。アプリケーション内で複数のスタックを作成・管理することが可能で、それぞれのスタックを異なる AWS 環境 (例えば、別のリージョンやアカウント) にデプロイすることもできます。また、アプリケーションはスタック間の依存関係を明示的に設定し、それらが正しい順序でデプロイされるようにサポートします。明示的にデプロイ順序を指定しない場合、CDK が自動的に計算して適切な順序でデプロイします。
上記以外にも、AWS アカウント ID とリージョンをペアにした情報を持つ「環境」や、CDK アプリケーションの階層構造を指定する「スコープ」といった AWS CDK 固有の概念があります。AWS CDK の概念について詳しくは、デベロッパーガイドの「概念」をご覧ください。
サポートされているプログラミング言語
2023 年 9 月現在、AWS CDK は 6 種類の主要なプログラミング言語をサポートしています。開発者は、その中から好きなプログラミング言語を選んで、インフラ定義用のコードを書くことができます。
AWS CDK のサポートするプログラミング言語とバージョン
2023 年 9 月現在、AWS CDK がサポートするプログラミング言語は以下のとおりです。サポートされているプログラミング言語やバージョンは今後も変更される可能性があるため、AWS CDK の公式ドキュメンテーションや GitHub のリリースノートで最新の情報を確認してください。
プログラミング言語 | サポートバージョン | 特徴 |
JavaScript TypeScript |
Node.js 14.15.0 以上 (推奨は Active LTS バージョン) |
JavaScript と TypeScript は Web 開発に広く使われ、特に TypeScript では静的型付けをサポートしており、コードの保守性を高めます。 |
Python | Python 3.6 以上 | Python はデータサイエンス分野で非常に人気があり、シンプルで読みやすい文法を持っています。 |
Java | Java 8 以上、および Maven 3.5.4 以上 |
Java はエンタープライズ環境での開発に広く使用され、オブジェクト指向プログラミングが可能で、大規模なシステム開発に適しています。 |
C# | .NET 6.0 以上 | C# は Microsoft の開発環境で広く利用され、特に Windows アプリケーションの開発に有用です。 |
Go | Go 1.16.4 以上 | Go はシンプルな文法と高いパフォーマンスを持ち、並行処理に強い特性を持つため、クラウドアプリケーションのスケーラビリティを考慮する際には特に役立ちます。 |
これらのプログラミング言語の中から自身のスキルセットに合ったものを選択し、AWS CDK を使ってクラウドリソースをより効率的に設計・管理することができます。
AWS CDK 自体が TypeScript で開発されているため、AWS CDK Toolkit (CLI) は Node.js のランタイムで動作します。そのため、どのプログラミング言語を使って AWS CDK を利用する場合であっても、Node.js のランタイムが必要になります。一方で、AWS CDK の新機能や更新は、最初にネイティブの TypeScript に実装された後、jsii というプログラムコード変換ツールを通じて他のプログラミング言語に展開され、同時にリリースされます。
クリックすると拡大します
サポートされている各プログラミング言語は基本的に同じ動作をするように設計されていますが、言語の仕様によってはコードの記述方法が異なることがあります。プログラミング言語ごとの AWS CDK の操作について詳しくは、「AWS CDK の操作」をご覧ください。
CDK アプリケーションの開発フロー
AWS CDK の利用を開始する際は、AWS CDK Toolkit (CLI) から操作します。AWS CDK Toolkit (CLI) は、AWS CDK の機能をコマンドラインから操作するためのツールです。例えば、cdk init コマンドでプロジェクトを初期化し、cdk synth コマンドで CloudFormation テンプレートを生成し、cdk deploy コマンドでテンプレートから AWS リソースをデプロイできます。cdk コマンドを駆使することで、AWS CDK によるプロジェクトの開発からデプロイに至るまでのプロセスを効率的に進めることができます。
AWS CDK の環境準備
- AWS アカウントと IAM ユーザー
AWS リソースを管理するためには、AWS アカウントと、そのアカウントに対する適切なアクセス権限を持つ IAM ユーザーが必要です。なお、セキュリティのベストプラクティスとして、AWS IAM Identity Center を使用して一時的な認証情報を利用することが推奨されます。
- Node.js と npm
AWS CDK Toolkit (CLI) は、Node.js のパッケージマネージャである npm を利用してインストールします。詳しくは、Node.js の公式サイトをご覧ください。 - AWS CLI
AWS CDK Toolkit (CLI) と連携して、AWS のリソースやサービスとの対話を可能にします。AWS CLI のインストールと設定については、「AWS コマンドラインインターフェイス」をご覧ください。 - AWS CDK Toolkit (CLI)
以下の開発フローのように npx コマンドを利用して CDK プロジェクトを初期化する場合は、事前に AWS CDK Toolkit (CLI) をインストールする必要はありません。
開発フロー
- CDK プロジェクトの初期化
任意のフォルダで、npx aws-cdk init app --language [language] コマンドを実行します。[language] の部分は、 利用するプログラミング言語 (例:typescript や python) を指定します。
対象アカウント、リージョンにつき、一回限り cdk bootstrap コマンドを実行して CDK 環境を初期化します。 - CDK アプリケーションの作成
初期化したプロジェクトでアプリケーションをコーディングします。例えば、TypeScript で初期化した場合は、lib/ ディレクトリ内の .ts ファイルで AWS リソースを定義します。 - CloudFormation テンプレートの生成
npx aws-cdk synth コマンドを実行して、CDK アプリケーションから CloudFormation テンプレートを生成します。 - AWS へのデプロイ
npx aws-cdk deploy --all コマンドを実行して CloudFormation テンプレートから AWS リソースをデプロイします。
上記の開発フローにより、AWS CDK を利用したプログラムコードによるインフラ定義が可能です。実際の開発プロセスでは、テストやデプロイ後のクリーンアップなどのステップも含みます。AWS CDK プロジェクトの初期化からデプロイまでの開発フローについては、「AWS CDK Intro Workshop」をご覧ください。
IDE との統合
AWS CDK は、開発者が利用している統合開発環境 (IDE) と緊密に連携することができます。AWS が提供する各種 IDE 用のプラグイン「AWS Toolkit」を介して、IDE と AWS CDK を統合し、CDK アプリケーションの初期化からデプロイまでを一貫した環境で行うことが可能です。
AWS Toolkit
AWS CDK は、AWS Toolkit というプラグインを介して、開発者が日常的に利用している多くの IDE と緊密に連携できます。AWS Toolkit は、Visual Studio Code、JetBrains の各種 IDE、Eclipse や Visual Studio など、多くの IDE と互換性があります。なお、AWS Cloud9 をお使いの場合は、プラグインをインストールしなくても AWS Toolkit の機能が利用できます。
AWS Toolkit を使用すると、各種 IDE から直接 AWS リソースにアクセスしたり、AWS CDK で作成したアプリケーションのデバッグやデプロイを視覚的に行うことができます。また、シンタックスハイライトやコード補完、リントなどの IDE ならではの機能を活用しながら、CDK アプリケーションを迅速に開発できます。
クリックすると拡大します
加えて、AWS Toolkit を導入することで、AI コーディング支援サービス Amazon CodeWhisperer や、統合ソフトウェア開発サービス Amazon CodeCatalyst などの最新サービスも IDE から直接利用できます。これらのデベロッパーツールと併用することで、CDK アプリケーション開発をさらに効率化できます。
AWS CDK Explorer
AWS Toolkit for Visual Studio Code では、「CDK Explorer」というナビゲーションを利用できます。CDK Explorer は、CDK アプリケーションにおけるコンストラクトのツリー構造を視覚化するためのナビゲーションペインです。AWS CDK アプリケーションを構成する AWS リソースを直感的に確認しやすくなります。
AWS Toolkit for Visual Studio Code について詳しくは、「AWS Toolkit for Visual Studio Code のユーザーガイド」をご覧ください。
コスト最適化とベストプラクティス
AWS CDK は、OSSとして Apache ライセンスバージョン 2.0 下で利用でき、利用料金は発生しません。ただし、AWS CDK を通してデプロイされる AWS リソースには利用料金が発生するため、AWS CDK を利用する場合もコストの最適化は 重要な課題です。また、AWS CDK のコードの書き方に関するベストプラクティスを理解しておくことで、メンテナンスを容易にすることができます。
コスト最適化
これまで見てきたように、AWS CDK を使用すると、インフラの構築や変更が簡単に行えます。また、同じ構成を何度でも再現することができるため、「一時的な検証環境を作成し、不要になったら削除する」といった操作が容易に行えます。一度プロビジョニングしたリソースが大きすぎたり小さすぎたりして効率が悪い場合にも、設定の変更と最適化が容易にできます。
さらに、リソースの最適化の容易さに加えて、AWS CDK では、リソースの使用状況を監視するための Amazon CloudWatch の設定や AWS Budgets でのコスト通知を簡単に設定することも可能です。
クリックすると拡大します
AWS CDK アプリの開発におけるベストプラクティス
AWS CDK アプリのコードを書く際には、ベストプラクティスを理解することでメンテナンスコストを削減することができます。たとえば、「アプリのモデル化にはスタックではなくコンストラクトを使用する」「必要最小限のスタックを使用する」「抽象化された権限設定やネットワーク接続設定を活用する」などが、AWS CDK アプリ開発のベストプラクティスとして挙げられます。
これまで、AWS CloudFormation を利用していた方にとっては、少し違和感があるかもしれませんが、AWS CDK での考え方に親しんでおくことをおすすめします。
AWS CDK を使ったアプリケーション開発のベストプラクティスについて詳しくは、「AWS CDK によるクラウドインフラストラクチャの開発と導入のベストプラクティス」をご覧ください。
まとめ
最後に、本記事で紹介した機能の全体図を見てみましょう。
本記事では、AWS CDK の概念や機能について紹介しました。AWS CDK を他の AWS サービスと連携させることで活用範囲はさらに広がります。例えば、AWS Amplify CLI だけでは対応できないカスタムリソースを、AWS CDK を使用して定義・管理することが可能ですし、AWS SAM CLI との連携により AWS CDK で作成したサーバーレスアプリケーションをローカル環境でデバッグすることも可能です。
本記事を読んで AWS CDK に興味を持たれた方、実際に使ってみたいと思われた方は、ぜひ製品ページの「AWS CDK」や、AWS CDK の開発入門および Immersion Day Workshop など入門者向けのワークショップも合わせてご覧ください。
AWS グラレコ解説のその他の記事はこちら
- 選択
- 今話題のブロックチェーンをAWSで実現する仕組みをグラレコで解説 »
- サーバーレスって何が便利なの ? AWS でサーバーレスを構築するためのサービスをグラレコで解説 »
- 機械学習のワークフローってどうなっているの ? AWS の機械学習サービスをグラレコで解説 »
- 外部から AWS のバックエンドサービス利用を実現する仕組みをグラレコで解説 »
- AWS でデプロイの自動化を実現するベストプラクティスをグラレコで解説 »
- コンテナを使ってモノリスを分割する方法をグラレコで解説 »
- クラウドへ移行する理由とそのステップをグラレコで解説 »
- Windows ワークロードをクラウドへ移行するためのベストプラクティスをグラレコで解説 »
- サーバーレスのイベントバスって何 ? Amazon EventBridge をグラレコで解説 »
- サーバーレスで SaaS を構築する方法をグラレコで解説 »
- 「あなたへのおすすめ」はどう生成するの ? Amazon Personalize で簡単に実現する方法をグラレコで解説 »
- クラウド設計・運用のベストプラクティス集「AWS Well-Architectedフレームワーク」をグラレコで解説 »
- 特定の顧客セグメントにメッセージ送信。「Amazon Pinpoint」の仕組みをグラレコで解説 »
- アプリにユーザー認証機能を簡単に追加できる「Amazon Cognito」をグラレコで解説 »
- わずか数分で WordPress サイトを構築できる「Amazon Lightsail」をグラレコで解説 »
- 異なるアプリケーション同士の疎結合を実現。「Amazon SQS」をグラレコで解説 »
- Web アプリを高速に開発できる「AWS Amplify」をグラレコで解説 »
- 機械学習の知識ゼロでもテキストデータを分析。Amazon Comprehend をグラレコで解説 »
- ビジネスデータをまとめて可視化 & 分析。Amazon QuickSight をグラレコで解説
- 人工衛星の地上局を 1 分単位で利用。AWS Ground Station をグラレコで解説
- カオスエンジニアリングで本当にカオスにならないための進め方をグラレコで解説
- GraphQL API を簡単に作成 & 運用。AWS AppSync をグラレコで解説
- IoT 環境を必要な機能を選択するだけで構築。AWS IoT をグラレコで解説
- 高い可用性と耐久性のオブジェクトストレージ。Amazon S3 をグラレコで解説
- サーバーレスでイベント駆動型アプリケーションを実現。AWS Lambda をグラレコで解説
- データサイエンス教育の強い味方。Amazon SageMaker Studio Lab をグラレコで解説
- 高速で柔軟な NoSQL データベースサービス。Amazon DynamoDB をグラレコで解説
- リレーショナルデータベースを簡単・迅速に実現。Amazon RDS をグラレコで解説
- アプリのワークフローを視覚的に構成。 AWS Step Functions をグラレコで解説
- データ保護に使う暗号化キーを一元管理。AWS KMS をグラレコで解説
- アプリケーションへのトラフィックを効率的に負荷分散。Application Load Balancer をグラレコで解説
- AWS で簡単にコンテナアプリケーションを構築 ! Amazon ECS をグラレコで解説
- 大規模データセットも簡単クエリ! Amazon Athena をグラレコで解説
- キャッシュ機能でアプリの高速化を実現 ! Amazon ElastiCache をグラレコで解説
- 使い慣れたプログラミング言語でクラウド環境を構築 ! AWS CDK をグラレコで解説
- ストリーミングデータを簡単にキャプチャ、処理、保存 ! Amazon Kinesis Data Streams をグラレコで解説
- AWS で始める機械学習はじめの一歩 ! AWS の主要な AI/ML サービスをグラレコで解説
- リレーショナルデータベースをサーバーレス化 ! Amazon Aurora Serverless をグラレコで解説
- ML 駆動の検索エンジンで企業の情報管理を革新! Amazon Kendra をグラレコで解説
- オンプレミス、エッジ、どこでも楽々コンテナ管理 ! Amazon EKS Anywhere をグラレコで解説
- 生成 AI アプリケーション開発をもっと身近に、簡単に ! Amazon Bedrock をグラレコで解説
- わずか数クリックで多様な脅威を監視しクラウドを保護 ! 脅威検出サービス Amazon GuardDuty をグラレコで解説
- データの改ざん耐性と変更履歴の検証可能性を実現 ! 台帳データベース Amazon QLDB をグラレコで解説
- 生成 AI x クラウドがもたらす次世代のイノベーション ! AWS Summit Japan Day 1 基調講演をグラレコで解説
- ビジネス向け生成 AI アシスタント Amazon Q Business をグラレコで解説
- 生成 AI コーディングアシスタント Amazon Q Developer をグラレコで解説
- フロントエンドとバックエンドを統合開発 ! フルスタック TypeScript 開発環境 AWS Amplify Gen 2 をグラレコで解説
筆者プロフィール
米倉 裕基
アマゾン ウェブ サービス ジャパン合同会社
テクニカルライター・イラストレーター
日英テクニカルライター・イラストレーター・ドキュメントエンジニアとして、各種エンジニア向け技術文書の制作を行ってきました。
趣味は娘に隠れてホラーゲームをプレイすることと、暗号通貨自動取引ボットの開発です。
現在、AWS や機械学習、ブロックチェーン関連の資格取得に向け勉強中です。
監修者プロフィール
高野 賢司
アマゾン ウェブ サービス ジャパン合同会社
技術統括本部 ソリューションアーキテクト
名古屋在住のソリューションアーキテクトとして、東海地方のこれから AWS を使い始めるお客様を技術面でサポートしています。Infrastructure as Code (IaC) のスペシャリストとして、イベント登壇や Baseline Environment on AWS (BLEA) の開発も行っています。
AWS を無料でお試しいただけます