

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 内部開発プラットフォームのゴールデンパスの例
<a name="examples"></a>

**Topics**
+ [サーバーレスワークロード](#example-serverless)
+ [Amazon Elastic Container Service (Amazon ECS)](#example-ecs)
+ [Amazon Elastic Kubernetes Service (Amazon EKS)](#example-eks)

## サーバーレスワークロード
<a name="example-serverless"></a>

*開発*
+ ローカルの開発とテストには [AWS Serverless Application Model (AWS SAM) CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-test-and-debug.html) を使用します。
+ 統合[AWS テストには、統合アプリケーションテストキット](https://github.com/awslabs/aws-iatk)を使用します。
+ 負荷テスト中は、[Amazon CodeGuru Profiler](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) を使用してアプリケーションを微調整します。

*アプリケーションの設計とデプロイ*
+ Infrastructure as Code [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) には を使用します。
+ [CDK Pipelines](https://docs.aws.amazon.com/cdk/v2/guide/cdk_pipeline.html) を使用してインフラストラクチャとアプリケーションのデプロイを自動化します。
+ リソースを足場するには、コンテナイメージを使用して[AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)関数を作成し、[Amazon Elastic Container Registry (Amazon ECR) ](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)に保存します。
+ 汎用[イメージで Lambda](https://gallery.ecr.aws/lambda) イメージを使用します。
+ ネットワークの場合、VPC [フローログ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)が有効になっている仮想プライベートクラウド (VPCs) に Lambda 関数をデプロイし、[インターフェイス VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)を使用してプライベートリソースにアクセスすることをお勧めします。
+ [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) を使用して、HTTP リクエストを Lambda 関数にルーティングします。
+ [バージョン](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)を使用して、Lambda 関数のデプロイを管理します。
+ バリデータで動的設定[AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html)に を使用します。
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) を使用してシークレットを取得します。
+ Canary テストでは、[エイリアスルーティング設定](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing)を使用してトラフィックの一部を 2 番目の Lambda 関数バージョンに送信します。
+ で[自動ロールバック](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html#deployments-rollback-and-redeploy-automatic-rollbacks)を使用し AWS CodeDeploy 、Amazon CloudWatch で[アラーム](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)を設定してロールバックを開始します。

*オペレーション*
+ [API Gateway アクセスログ](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)を有効にします。
+ API Gateway リクエスト ID、拡張リクエスト ID、および Lambda リクエスト ID を記録します。
+ Lambda 関数には、できれば JSON 形式の構造化ログを使用します。
+ CloudWatch Logs API を呼び出す代わりに、標準出力 (stdout) にログを出力します。
+ [AWS Lambda Powertools](https://github.com/aws-powertools/) を使用してサーバーレスのベストプラクティスを実装します。
+ 組織の要件に従ってログの保持期間を設定します。
+ [CloudWatch Lambda Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights.html) がコールドスタートなどの診断情報を収集、集約、要約できるようにします。これにより、Lambda 関数の問題を分離して迅速に解決できます。
+ CloudWatch で、、`Errors``Throttles`、`ProvisionedConcurrencySpilloverInvocations`、および `Duration`メトリクスを使用して Lambda 関数をモニタリングします。詳細については、[「Lambda 関数メトリクスの使用](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html#monitoring-metrics-types)」を参照してください。
+ CloudWatch では、4xx エラーコード、5xx エラーコード、レイテンシーメトリクスを使用して APIsモニタリングします。
+ を使用して[AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)、アプリケーションが処理するリクエストに関するデータを収集します。分散コンポーネントとサービスを使用するアプリケーションの場合、これにより問題と最適化の機会をすばやく特定できます。

## Amazon Elastic Container Service (Amazon ECS)
<a name="example-ecs"></a>

*開発*
+ Amazon Elastic Container Service (Amazon ECS) コンテナイメージの[ベストプラクティスに従います](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-considerations.html)。
+ [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) を使用してコンテナイメージを保存し、継続的なセキュリティスキャンを行います。

*アプリケーションの設計とデプロイ*
+ [ベストプラクティス](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html#application_architecture_fargate)に従って、Amazon ECS でアプリケーションを設計します。
+ インフラストラクチャとアプリケーションの両方のデプロイ[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)で、Infrastructure as Code と CI/CD パイプラインに を使用します。
+ [Amazon ECS Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) を使用して、サービスの検出、接続、トラフィックモニタリングのための Amazon ECS 設定を管理します。
+ 水平方向にスケールするコンテナ化されたアプリケーションには[Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) を使用します。アプリケーションでミリ秒未満のレイテンシーが必要で、共有ファイルシステムを必要としない場合は、[Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) を使用します。

*オペレーション*
+ は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのサーバーやクラスターを管理することなく、ワークロードをコンテナ化するマネージド型の方法[AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)を提供するため、 を使用します。
+ で [Blue/Green デプロイ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html)を使用します AWS CodeDeploy。
+ [Amazon CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS.html) を使用して、コンテナ化されたアプリケーションとマイクロサービスからメトリクスとログを収集、集計、要約します。
+ [FireLens for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) ログドライバーを有効にし、 [AWS for Fluent Bit](https://github.com/aws/aws-for-fluent-bit) サイドカーコンテナを使用してパフォーマンスを向上させ、Amazon Simple Storage Service (Amazon S3) や CloudWatch ロググループなどの別々の場所にログストリームをリダイレクトします。

*追加リソース*
+ [Amazon ECS ブループリント](https://github.com/aws-ia/ecs-blueprints) (GitHub)

## Amazon Elastic Kubernetes Service (Amazon EKS)
<a name="example-eks"></a>

*開発*
+ Amazon Elastic Container Service (Amazon ECS) コンテナイメージの[ベストプラクティスに従います](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-considerations.html)。
+ [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) を使用してコンテナイメージを保存し、継続的なセキュリティスキャンを行います。

*アプリケーションの設計とデプロイ*
+ [Helm](https://helm.sh/docs/) を使用してアプリケーションテンプレートをパッケージ化します。
+ [Argo CD](https://argo-cd.readthedocs.io/en/stable/) を使用してアプリケーションをデプロイし、GitOps のアプローチに従います。
+ [AWS Load Balancer Controller](https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html) を使用して、Kubernetes クラスターの Elastic Load Balancing リソースを管理します。
+ [cert-manager](https://github.com/cert-manager/cert-manager) と [AWS Private Certificate Authority Issuer](https://github.com/cert-manager/aws-privateca-issuer/) を使用して TLS 証明書を管理します。
+ ストレージオプションには、[Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) ドライバー](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html)または [Amazon Elastic File System (Amazon EFS) CSI ドライバー](https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html)を使用します。
+ [ExternalDNS](https://github.com/kubernetes-sigs/external-dns) を使用して、Kubernetes サービスを Amazon Route 53 と統合します。
+ [External Secrets Operator](https://github.com/external-secrets/external-secrets) を使用して、シークレットを AWS Secrets Manager または AWS Systems Manager Parameter Store に保存します。
+ [Crossplane](https://www.crossplane.io/) を使用して、Kubernetes クラスターからインフラストラクチャを管理します AWS 。

*オペレーション*
+ ネットワークポリシーには [Calico](https://www.tigera.io/project-calico/) を使用し、ポリシーコントローラーとして [Gatekeeper](https://github.com/open-policy-agent/gatekeeper) を使用します。
+ クラスターの自動スケーリングには [Karpenter](https://github.com/aws/karpenter-provider-aws) を使用します。
+ オブザーバビリティには[、Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) と [Amazon Managed Grafana ](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)を使用します。
+ [Kubecost](https://www.kubecost.com/) を使用して、インフラストラクチャのコストをリアルタイムで可視化します。

*追加リソース*
+ [Terraform の Amazon EKS ブループリント](https://aws-ia.github.io/terraform-aws-eks-blueprints/)