Amazon Web Services ブログ
Tag: AWS CDK
AWS CDK Pipelines と AWS CodeDeploy を使用したブルー/グリーンデプロイ
お客様から Amazon Elastic Container Service (Amazon ECS) に AWS CodeDeploy を使用して ブルーグリーン デプロイを実装するための支援がしばしば求められます。 お客様のユースケースは通常、複数のリージョンおよびアカウント間でのデプロイシナリオが含まれます。 これらの要件だけでも十分に難しいのですが、さらに CodeDeploy を使用する際には特定の設計上の決定が必要となります。 具体的には CodeDeploy の設定方法、CodeDeploy リソース (アプリケーションやデプロイグループなど) の作成時期と方法、アカウントとリージョンの任意の組み合わせにデプロイできるコードの書き方が含まれます。
AWS CDK による開発の前進: PGA ツアーはいかに開発を加速させたか
PGA ツアーは、ツアープロゴルファーの最高峰の会員組織で、下部ツアーやシニアツアー、国際ツアーの共同大会運営も担っています。
PGA ツアーのインフラストラクチャチームは長年にわたり、AWS CloudFormation を使用してクラウドインフラストラクチャを設計、構築、管理していました。しかし、PGA ツアー内のアプリおよびウェブ開発チームは CloudFormation で必要となる JSON と YAML のテンプレートに馴染みがなく、利用を望んでいませんでした。代わりに AWS Cloud Development Kit (CDK) がサポートするプログラミング言語を用いることを好んでいました。開発者は AWS AppSync、AWS Lambda、AWS Step Functions、AWS Batch などのサービスを使用して、新しいモバイルアプリとウェブサイトを TypeScript で開発しています。さらに PGA ツアーは、IAM で必要な権限を最小限に絞る方法を簡素化したいと考えていました。その結果、PGA ツアーの開発者は従来からのコーディング方法の延長線上にある IaC ツールとして AWS CDK の使用を開始しました。
CDK Aspectsを利用してベストプラクティスに従ったインフラストラクチャを構築する
組織は、ベストプラクティスに従ってアプリケーションを実行できるよう、クラウドインフラストラクチャに対してコンプライアンスルールを適用しています。AWS Config を活用して、内部のガイドラインに従って構成された設定に対する、全体的なコンプライアンス状況を確認します。この確認は、AWS アカウントでクラウドリソースを作成した後で行なわれます。
この記事では、AWS アカウントでクラウドリソースを作成する前に、AWS CDK Aspects を利用してベストプラクティスに従っているかどうかをチェックしたり、従うための調整を行なう方法を紹介します。
IAM アクセス許可境界によるセキュアな CDK アプリケーションのデプロイ
AWS Cloud Development Kit (CDK) はクラウドリソースの作成に一般的なプログラミング言語を使えるようにすることで、クラウド上での開発を加速します。この速度の利点を生かすためには、アクセス許可やセキュリティ制御が開発速度を低下させないような環境が必要です。しかし厳格に管理された環境では、そうしたことが必ずしも保証されているわけではありません。一方で懸念されるのは、開発者が AWS Identity and Access Management (IAM) エンティティ (ユーザーやロールなど) を作成する権限を持つ場合です。この場合、権限の昇格が可能になってしまい、IAM エンティティの作成者である開発者よりも広範なアクセス許可を持つエンティティが作成できてしまうおそれがあります。このような課題は一般的に、IAM エンティティのアクセス許可境界を使うことで管理されます。本ブログではこのアクセス許可境界を CDK アプリケーション開発に適切に適用する方法について説明し、セキュリティを確保しながらスピーディな開発を実現します。
Next.js の API Routes から Amazon Virtual Private Cloud (Amazon VPC) 内のリソースにアクセスする方法
開発者はしばしば、AWS Amplify Hosting にデプロイされた Next.js アプリケーションから、Amazon Virtual Private Cloud (Amazon VPC) 内にデプロイされたリソースにアクセスする必要があります。Amazon VPC を使用すると、お客様は隔離された仮想ネットワークでリソースを起動できます。しかし、開発者は、複雑なネットワークアクセス制御とセキュリティグループのために、Amazon VPC 内で API とデータベースを呼び出すためにフロントエンドアプリケーションを接続することが困難であると感じるかもしれません。この投稿では、AWS Amplify Hosting 上で動作する Next.js サーバーサイドレンダリング (SSR) アプリケーションから、Amazon Relational Database Service (Amazon RDS) や AWS Lambda などのリソースや VPC 内のリソースにアクセスするためのソリューションを実装します。
既存の MySQL と PostgreSQL データベース用の GraphQL API の作成
AWS Cloud Development Kit (CDK) を使って既存のリレーショナルデータベース上にスケーラブルでセキュアな GraphQL インタフェースを簡単に構築できる機能を発表しました。AWS Systems Manager Parameter Store に SecureString として安全に保存されたデータベースの認証情報と共に AWS Amplify GraphQL API CDK コンストラクトを提供し、SQL ステートメントを実行する GraphQL API の構築を開始します。この新機能は、Amazon Relational Database Service (Amazon RDS) 上の MySQL および PostgreSQL データベース、または外部でホストされている MySQL および PostgreSQL データベースで動作します。
CDK Migrate: AWS CDK への移行コマンドの発表
AWS Cloud Development Kit (CDK) の新機能である CDK Migrate についてご紹介します。この機能を使用することで、ユーザーは以前にデプロイされた AWS CloudFormation テンプレートや CloudFormation スタック、Infrastrcture as Code (IaC) の管理外で作成されたリソースを CDK アプリケーションに移行できます。この機能は、CloudFormation の管理外で作成されたリソースをテンプレートにインポートし、新しく生成された CloudFormation スタックに取り込むのに役立つ CloudFormation IaC ジェネレーター と同時に公開されています。
AWS CloudFormation にアプリケーション全体をインポート
AWS 上で Infrastructure as Code (IaC) を利用することで、インフラストラクチャがスケールするように管理、モデリング、プロビジョニングできます。先日、リソースと関連するリソースに対して IaC のテンプレートを作成し、一貫した体験を実現する IaC ジェネレーター と CDK Migrate を発表しました。 この機能は、AWS アカウントをスキャンし、CloudFormation リソースタイプスキーマを使用してリソース間の関連情報を見つけることができます。 テンプレートが作成されると、既存のスタックにそれらのリソースをインポートするか、ゼロから完全に新しいスタックを作成するかのどちらかを選択できます。 リソースを再作成する必要はなく、アプリケーション全体を CloudFormation スタックで管理できるようになりました!
組織内での AWS CDK 利用拡大のためのベストプラクティス
企業はクラウド移行の加速を常に追求しています。Infrastrcture as Code (IaC) は、クラウドリソースを効率的に自動化および管理するうえで不可欠です。AWS Cloud Development Kit(AWS CDK) を使用すると、お気に入りのプログラミング言語でクラウドインフラストラクチャをコードとして定義し、AWS CloudFormation を使用してデプロイできます。この記事では、組織内での CDK の採用を加速するための戦略とベストプラクティスについて説明します。この記事を読むことで、パイロットプロジェクトから得た教訓をプラットフォームエンジニアリングを通じて組織全体に広げる方法を学ぶことができます。再利用可能なコンポーネントの構築を通じて複雑さを軽減し、開発者ツールを介した高速かつ安全なデプロイ、内部開発者ポータル(IDP) によるプロジェクトのスタートアップの加速などの方法を学びます。CDK コミュニティへの参加とそこからのメリットについても述べます。
Projen と AWS CDK のはじめ方
Infrastrcture as Code (IaC) は、クラウドリソースのデプロイと管理に不可欠な要素となっています。AWS Cloud Development Kit (AWS CDK) は、開発者が馴染みのあるプログラミング言語を使用してクラウドリソースを定義できるようにする、人気のオープンソースフレームワークです。関連するオープンソースツールである Projen は、複雑なソフトウェア設定の管理を簡素化する強力なプロジェクト生成ツールです。この記事では、Projen と AWS CDK を使用するための基本的な使い方について学び、Projen を使用することのメリットや課題について紹介します。