Amazon Web Services ブログ

Category: Expert (400)

AWS CDK Pipelines を利用した SaaS の並列かつ動的なデプロイ

こちらの記事は「Parallel and dynamic SaaS deployments with AWS CDK Pipelines」を翻訳したものです。 Software as a Service(SaaS)は、従量課金制の価格モデル、スケーラビリティ、可用性などのメリットをもたらすビジネスモデルで、独立系ソフトウェアベンダー(ISV)の間でますます人気を集めています。 SaaS サービスは、多数のアーキテクチャモデルを使用して構築できます。アーキテクチャを共有しないサイロモデルでは、各テナントごとに専用のリソースを提供します。サイロモデルでの展開は、テナント間のコンピューティングリソースとデータを分離し、ノイジーネイバー問題を排除するのにも役立ちます。一方、プールモデルには、コンピューティングリソースとキャパシティをより効率的に利用できるため、メンテナンスのオーバーヘッドの削減、管理と運用の簡素化、コスト削減の機会など、いくつかのメリットがあります。ブリッジモデルは、サイロモデルとプールモデルの両方が共存して使用されるハイブリッドなモデルです。システムの一部はサイロモデルとして、別の一部はプールモデルとして構築することができます。

Read More

SaaSテナント分離をAWS IAMとABACで実装する方法

この記事は、How to implement SaaS tenant isolation with ABAC and AWS IAMを訳したものです。 マルチテナントアプリケーションにおいては各テナントのリソースが他のテナントからアクセスできないように設計を行う必要があります。AWS Identity and Access Management (IAM) は多くの場合、この目的を達成するための重要な要素となりえます。一方で、IAMを用いることによる課題の一つとして、テナント分離を実現するのに必要な IAM ポリシーの数と複雑さが急速に拡大することにより分離モデルの規模と管理性に影響を与えることが挙げられます。IAM の 属性ベースのアクセスコントロール (ABAC) の仕組みはこの課題を解決するための方法を開発者に提供しています。 このブログ記事では、IAM の ABAC を用いてマルチテナント環境のテナント分離を実装する方法について解説します。

Read More

Systems Manager Automation Runbook でスクリプトを活用する

お客様は今まで、 AWS Systems Manager Automationドキュメントを使用して、AWS Lambda 関数の呼び出しや Amazon Machine Image (AMI) のコピーなど、AWS インフラストラクチャで実行する一連のアクションを定義してきました。これらのドキュメントは現在 Runbook と呼ばれており、簡単に使用でき、かつ強力です。 aws:executeScript アクションを使用すると、Python と PowerShell を Runbook に直接埋め込むことができます。

Read More

AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス

この記事では、AWS Cloud Development Kit (AWS CDK) を中心とした、大規模なチームで複雑なクラウドアプリケーションの開発を組織化するための戦略について説明します。AWS CDK では、開発者や管理者は、TypeScript、Python、Java、C#などの使い慣れたプログラミング言語を使ってクラウドアプリケーションを定義することができます。アプリケーションは、Stage、Stack、Constructに整理されており、ランタイムロジック (AWS Lambda コードやコンテナ化されたサービスなど) と、Amazon Simple Storage Service (Amazon S3) バケット、Amazon Relational Database Service (Amazon RDS) データベース、ネットワークなどのインフラストラクチャコンポーネントの両方において、モジュール化された設計手法を可能にしています。 この記事では、AWS CDKの基本的なコンセプトに関する簡単なチュートリアルではなく、より実践的な内容について説明します。ローカルでコードを書きテストする方法や、本番環境や様々なステージングアカウントにデプロイする方法、そしてチームのアプリを整理して、より大きな組織で活用する方法について説明します。 AWS CDKを初めてご利用になる方は、AWS CDK Intro Workshop から始めることを強くお勧めします。この記事では、いくつかの高度なトピックを扱っていますが、基礎を把握しておくと良いでしょう。詳細については、AWS CDKリファレンスドキュメントとGitHub リポジトリにある aws-cdk-examples  のサンプルコードを参照してください。

Read More

CloudKnox と AWS Control Tower を使用して AWS でのマルチアカウントのアクセス許可管理を自動化

この記事は、AWS の ISV ソリューションアーキテクチャリーダーであるKanishk Mahajan、CloudKnox の カスタマーサクセス責任者であるゲスト寄稿者 Maya Neelakandhan 氏によるAutomate multi account permissions management in AWS using CloudKnox and AWS Control Towerを翻訳したものです。 はじめに AWS のアクセス許可管理により、セキュリティチームとクラウドインフラストラクチャチームは、ID アクセス許可の誤用からクラウドリソースを保護できます。クラウドセキュリティでは、AWS 組織内のすべての AWS アカウントで、最小権限ポリシーを継続的に適用する必要があります。 マルチアカウント戦略を持つことは、リソースの分離を強化するためのベストプラクティスです。また、規制やコンプライアンスのニーズを満たし、オペレーションコストを追跡し、セキュリティをさらに強化するのにも役立ちます。AWS Control Tower は、AWS のベストプラクティスを使用して、Well-Architected マルチアカウントのベースラインを確立します。また、AWS アカウント全体でのガバナンスも有効にします。多くのお客様は、AWS Control Tower を使用してマルチアカウントの AWS 環境を管理および統制しています。AWS Control Tower を使用したマルチアカウント AWS 環境の管理の詳細については、「AWS Control Tower の使用開始」を参照してください。 CloudKnox は APN アドバンストパートナーです。<a

Read More

AWS CodeDeploy が Amazon ECS の線形デプロイと Canary デプロイをサポートするようになりました

 AWS CodeDeploy は、Elastic Container Service (Amazon ECS) のブルー/グリーンデプロイサポートを拡張し、AWS Fargate または Amazon Compute Cloud (Amazon EC2) でホストされるアプリケーションの Canary および線形デプロイを含めます。 ブルー/グリーンデプロイは、アプリケーションバージョンの変更による中断を最小限に抑えるために、AWS CodeDeploy が提供する安全なデプロイ戦略です。これは、グリーンと呼ばれる新しいアプリケーション環境と、ブルーと呼ばれるライブトラフィックを処理している現在のアプリケーションを作成することによって実現されます。これにより、ライブトラフィックがブルーからグリーンにルーティングされます。その後、ブルーのリソースがオフになる前に、グリーンの環境を監視およびテストするための一定期間が許可されます。 Amazon ECS のブルー/グリーンデプロイを最初に立ち上げた後、多くのお客様は、アプリケーションの更新によって一定期間にわたって変化するトラフィックの量を制御することに関心を示しました。  CodeDeploy を介した線形デプロイと Canary デプロイでは、新しいアプリケーションバージョンへのライブトラフィックの露出をトラフィック全体のパーセンテージに制限することで実現し、残りのトラフィックをルーティングする前にパフォーマンスを監視します。Amazon CloudWatch アラームを設定することもできます。問題が検出された場合、CodeDeploy は自動的にトラフィックルーティングを元のバージョンに戻します。  CodeDeploy は、ALB の加重ターゲットグループを使用してこれを実現します。 この記事では、Fargate でホストされる Amazon ECS の新しい線形デプロイと Canary デプロイを構成する方法を示します。 今日は次の内容を行います。 CodeDeploy をコントローラとして ECS サービスを作成する 新しい線形構成を使用して新しいデプロイグループを作成する 1 分ごとにトラフィックの 10% をルーティングするためのプリセット線形デプロイ構成を使用して、CodeDeploy ブルー/グリーンデプロイをトリガーします。 現在、次の事前定義された線形および Canary […]

Read More