

# AWS Well-Architected の設計に関する考慮事項
<a name="aws-well-architected-design-considerations"></a>

このソリューションは、[AWS Well-Architected フレームワーク](https://aws.amazon.com/architecture/well-architected/)のベストプラクティスに基づいて設計されました。これにより、ユーザーは信頼性が高く、安全で、効率的で、費用対効果の高いワークロードをクラウド上で設計し運用することができます。

このセクションでは、Well-Architected Framework の設計原則とベストプラクティスがこのソリューションにどのように役立つかについて説明します。

## オペレーショナルエクセレンス
<a name="operational-excellence"></a>

このソリューションの利点となるように、[オペレーショナルエクセレンスの柱](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/welcome.html)の設計原則とベストプラクティスを使用してこのソリューションを設計しています。
+ リソースは、CloudFormation を使用して、Infrastructure as Code として定義しました。
+ このソリューションはメトリクスを Amazon CloudWatch にプッシュして、インフラストラクチャ、Lambda 関数、Amazon ECS のタスク、Amazon S3 バケット、その他のソリューションコンポーネントにオブザーバビリティを提供します。

## セキュリティ
<a name="security"></a>

このソリューションの利点となるように、[セキュリティの柱](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html)の設計原則とベストプラクティスを使用してこのソリューションを設計しています。
+ Amazon Cognito がウェブ UI アプリのユーザーを認証および認可します。
+ このソリューションで使用されるすべてのロールは、最小権限の原則に従います。つまり、サービスが正しく機能するために必要な最小限のアクセス許可のみが含まれます。
+ 保管中および転送中のデータは、専用のキー管理ストアである [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS KMS) に保存されているキーを使用して暗号化されます。
+ 認証情報は有効期限が短く、強力なパスワードポリシーに従っています。
+ AWS AppSync のセキュリティ GraphQL ディレクティブを使用して、フロントエンドとバックエンドを呼び出すことができる操作をきめ細かく制御しています。
+ 必要に応じて、ロギング、トレース、およびバージョニングをオンにします。
+ 適用可能な場合は、自動パッチ適用 ([マイナーバージョン](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html)) とスナップショット作成を有効にします。
+ ネットワークアクセスはデフォルトでプライベートになっており、[Amazon Virtual Private Cloud](https://aws.amazon.com/vpc/) (Amazon VPC) エンドポイントが使用可能な場合は有効になります。

## 信頼性
<a name="reliability"></a>

このソリューションの利点となるように、[信頼性の柱](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html)の設計原則とベストプラクティスを使用してこのソリューションを設計しています。
+ このソリューションでは、高可用性とサービス障害からの回復を確保するために、可能な限り AWS のサーバーレスサービスを使用しています。
+ すべてのコンピューティング処理には、Lambda 関数または AWS Fargate 上の Amazon ECS を使用します。
+ すべてのカスタムコードは AWS SDK を使用しており、API レートクォータに達しないように、リクエストはクライアント側でスロットリングされます。

## パフォーマンス効率
<a name="performance-efficiency"></a>

このソリューションの利点となるように、[パフォーマンス効率の柱](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html)の設計原則とベストプラクティスを使用してこのソリューションを設計しています。
+ このソリューションでは、可能な限り AWS のサーバーレスアーキテクチャを使用しています。これにより、物理サーバーを管理する運用上の負担がなくなります。
+ このソリューションは、AWS Lambda、Amazon Neptune、AWS AppSync、Amazon S3、Amazon Cognito など、このソリューションで使用されている [AWS サービスをサポートするすべてのリージョン](plan-your-deployment.md#supported-aws-regions)起動できます。
+ サポートされているリージョンで [Amazon Neptune サーバーレス](https://aws.amazon.com/neptune/serverless/)を使用すると、データベースのキャパシティを管理および最適化しなくても、グラフワークロードを実行して即座にスケーリングできます。
+ ソリューションでは、全体を通してマネージドサービスを使用しており、リソースのプロビジョニングと管理の運用上の負担を軽減しています。

## コスト最適化
<a name="cost-optimization"></a>

このソリューションの利点となるように、[コスト最適化の柱](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html)の設計原則とベストプラクティスを使用してこのソリューションを設計しています。
+ AWS Fargate 上の AWS ECS ではコンピューティング専用に Lambda 関数を使用しており、使用量に応じた課金のみを行っています。
+ Amazon DynamoDB は必要に応じてキャパシティをスケールするため、お支払いいただくのは使用したキャパシティに対してのみになります。

## 持続可能性
<a name="sustainability"></a>

このソリューションの利点となるように、[持続可能性の柱](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html)の設計原則とベストプラクティスを使用してこのソリューションを設計しています。
+ このソリューションでは、バックエンドサービスの環境への影響を最小限に抑えるために、可能な限りマネージドサービスとサーバーレスサービスを使用しています。