諒(85)8383件のシェア(ちょっぴり話題の記事)はじめにおはようございます、加藤です。これまで、エンジニアとしてのキャリアは全てインフラエンジニアでしたが、今月からプログラマーとしてのロールを希望してゼロから再スタートしております。CDK(以降、CDK)を使って典型的なWeb3層アーキテクチャを構築してみたので、こだわったポイントや使う過程で理解した事をご紹介します。リポジトリはこちらです。kmd2kmd/aws-cdk-ec2_web3tierある程度CDKを理解されている方を前提として書いております。下記のブログを読む、Workshopを試した経験がある程度の理解が必要です。いう大きさの順での概念を取り扱います。CloudFormation(以降、CFn)の1スタックという事です。CDK上でStackを分割する事によって生成されるCFnテンプレートを分割する事が可能です。この時スタック間の値の参照はクロススタック参照(Fn::ImportValue)によって行われます。Beltなどで案内されているように役割やライフサイクルで分割を行う事が可能です。CDKに置いても分割を行うべきかについては、議論の余地があると考えていますが、今回は分割を行ってみました。Japan実際のコードがこちらです。分割単位毎にStackを継承したクラスからインスタンスを作成し、コンストラクトの中で各リソースの作成を定義しています。他のStackから値を受け取る必要があるStackはStackPropsというインターフェイスを継承したインターフェイスを作成し、必要な値を受け取れるようにしています。開発と本番でインスタンスサイズや台数を変更したいという要望がよくあります。CFnではParameter:によってデプロイ時に値を注入して設定する事が可能でした。CDKではContextという仕組みを使って外部から値を注入する事が可能です。下記の様に-cオプションを使う事で、任意のKey:Valueを与えられます。stage=devまた、cdk.jsonのcontext:に書かれた値も自動で取り込まれています。bin/web-3tier.ts"}下記のコードでは、prj,stageを変数に格納し、stageを使って更にparamsを取り出しています。}}または、より手続き的に書きたいならば、stageだけを実行時に注入して、IF文などで分岐させても良いでしょう。CDK)抽象化されたAWSリソース衝撃を受けたポイントです。constructsはECSを利用する際に、ALBを合わせて作成しコンテナのビルドまで行ってくれます。constructsは現状この、aws-ecs-patternsしか存在しません。「AWSはCDKを抽象化する」と言われても、いまいちピンと来ていませんでした。}}ハイライトの部分に注目してください。Groupの指定は行われていません。Groupが割り当てられる」でした。実際は、「ALBに設定されているリスナーおよび、ターゲットグループから判断して自動生成」でした。AWS固有値の型インスタンスタイプ・サイズ、RDS・Auroraのエンジンやバージョン名など、CFnやTerraformを使っている際に、設定したい値は決まっていても、どういう文字列を設定すれば良いか悩むことがありました。CDK(TypeScript)では、型が定義されているので、ハイライト部分の様にIDEの補完の力を借りつつ適切に設定をする事が容易です。}}まとめ「CDKでクロススタックしたいけど、サンプルが無いなー」というのが、きっかけで書いてみましたが、色々な事をチュートリアル的に理解でき、やってみて凄く良かったです。CDKはまだ、GAされたばかりで今回のコードでもRDSの部分など、モジュールレベルではまだパブリックベータの部分もあるようです。私がコードを書くことに慣れていなくて辛い...という事以外は、凄く使いやすいなという印象です。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。濱田孝治70re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹403こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介256SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。