View a markdown version of this page

追加のデプロイサービス - AWS でのデプロイオプションの概要

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

追加のデプロイサービス

Amazon Simple Storage Service (Amazon S3) は、静的コンテンツおよびシングルページアプリケーション (SPA) のウェブサーバーとして使用できます。Amazon CloudFront と組み合わせて静的コンテンツ配信のパフォーマンスを向上させると、Amazon S3 を使用して静的コンテンツを簡単かつ強力にデプロイおよび更新できます。このアプローチの詳細については、ホワイトペーパーの「静的ウェブサイトのホスティング AWS」を参照してください。

AWS Proton

AWS Proton は、マイクロサービスとコンテナベースのアプリケーションのデプロイと管理のプロセスを簡素化および自動化するフルマネージドサービスです。一般的な DevOps ツールやサービスと統合する統一された一貫性のあるデプロイエクスペリエンスを提供するため、アプリケーション開発の管理と合理化が容易になります。Proton を使用すると、デベロッパーはインフラストラクチャ、コード、パイプラインなどのアプリケーションコンポーネントを再利用可能なテンプレートとして定義して作成できます。これらのテンプレートを使用して、開発、テスト、本番環境などの複数の環境を作成し、チームや組織間で共有できます。このアプローチにより、マイクロサービスとコンテナベースのアプリケーションのデプロイと管理の複雑さが軽減され、時間がかかり、エラーが発生しやすくなります。

AWS Proton には、ウェブアプリケーション、APIs、データベースなどの一般的なタイプのマイクロサービス用の構築済みテンプレートが用意されており、特定のニーズに合わせてカスタマイズできます。また、AWS CodePipeline、AWS CodeCommit、AWS CodeBuild などの一般的な DevOps ツールと統合して、継続的な統合とデプロイ (CI/CD) ワークフローを可能にします。

AWS Proton を使用することで、開発者はマイクロサービスとコンテナベースのアプリケーションのデプロイと管理に必要な時間と労力を削減できます。このアプローチにより、チームはデプロイおよび管理プロセスに時間を費やすのではなく、アプリケーションの開発と改善に集中できます。

AWS App2Container

AWS App2Container は、Java および .NET ウェブアプリケーションをコンテナ形式に移行およびモダナイズするためのコマンドラインツールです。App2Container は、ベアメタル、仮想マシン、Amazon EC2 インスタンス、またはクラウドで実行されているアプリケーションのインベントリを分析して構築します。コンテナ化するアプリケーションを選択するだけで、App2Container はアプリケーションアーティファクトと識別された依存関係をコンテナイメージにパッケージ化し、ネットワークポートを設定し、ECS タスクと Kubernetes ポッド定義を生成します。App2Container は、仮想マシンで実行されているサポートされている ASP.NET および Java アプリケーションを識別して、環境内のすべてのアプリケーションを包括的にインベントリします。App2Container は、Linux、スタンドアロン、または JBoss、Apache Tomcat、Springboot、IBM Websphere、Oracle Weblogic などのアプリケーションサーバーで実行されている Windows または Java アプリケーションの IIS で実行されている ASP.NET ウェブアプリケーションをコンテナ化できます。

AWS Copilot

AWS Copilot は、AWS でコンテナ化されたアプリケーションをすばやく起動および管理するために使用できるコマンドラインインターフェイス (CLI) です。Amazon ECS、Fargate、および App Runner でのアプリケーションの実行を簡素化します。AWS Copilot は現在、Linux、macOS、および Windows システムをサポートしています。Copilot を使用すると、負荷分散されたウェブサービスなどのサービスパターンを使用してインフラストラクチャをプロビジョニングしたり、テストや本番稼働などの複数の環境にデプロイしたり、自動デプロイに AWS CodePipeline リリースパイプラインを使用したりできます。

AWS Serverless Application Model

AWS Serverless Application Model (AWS SAM) は、サーバーレスアプリケーションを構築するためのオープンソースフレームワークです。関数、API、データベース、イベントソースマッピングを表現するための省略構文を提供します。リソースごとに数行で、必要なアプリケーションを定義し、YAML を使用してモデル化できます。デプロイ中、SAM は SAM 構文を AWS CloudFormation 構文に変換して拡張するため、サーバーレスアプリケーションを迅速に構築できます。

CLI は、AWS AWS SAM でサーバーレスアプリケーションを簡単に開発、テスト、デプロイできるオープンソースのコマンドラインツールです。これは、AWS CloudFormation の拡張機能である AWS SAM 仕様を使用してサーバーレスアプリケーションを構築するためのコマンドラインインターフェイスです。

CLI AWS SAM を使用すると、開発者はサーバーレスアプリケーションを AWS にデプロイする前にローカルで定義してテストできます。AWS Lambda と API Gateway をシミュレートするローカルテスト環境を提供し、開発者がクラウドにデプロイする前にコードと設定をテストできるようにします。

AWS SAM CLI には、自動コードデプロイ、ログ記録、デバッグ機能など、さまざまな便利な機能も含まれています。これにより、開発者は 1 つのコマンドでアプリケーションを構築、パッケージ化、デプロイできるため、サーバーレスアプリケーションのデプロイと管理に必要な時間と労力が削減されます。

さらに、AWS SAM CLI では、Node.js、Python、Java、.NET Core など、さまざまなプログラミング言語がサポートされています。これにより、開発者は好みのプログラミング言語とツールを使用してサーバーレスアプリケーションを構築およびデプロイできます。

AWS SAM CLI は、AWS CodePipeline や AWS CodeBuild などの他の AWS サービスと統合され、サーバーレスアプリケーションに完全に自動化された統合された CI/CD パイプラインを提供します。また、開発者は Amazon S3、Amazon DynamoDB、Amazon SNS などの他の AWS サービスをサーバーレスアプリケーションの一部として使用できます。

AWS Cloud Development Kit (AWS CDK)

AWS Cloud Development Kit (AWS CDK) (AWS CDK) は、最新のプログラミング言語でクラウドインフラストラクチャをコードとして定義し、AWS CloudFormation を通じてデプロイするためのオープンソースのソフトウェア開発フレームワークです。AWS Cloud Development Kit (AWS CDK) は、一般的なプログラミング言語を使用してアプリケーションをモデル化するクラウド開発を加速します。AWS CDK を使用すると、プログラミング言語のかなりの表現力で、信頼性が高く、スケーラブルで、費用対効果の高いアプリケーションをクラウドで構築できます。

AWS CDK は、最新のプログラミング言語のフルパワーを活用して AWS インフラストラクチャをコードとして定義する開発者中心のツールキットであると考えてください。AWS CDK アプリケーションが実行されると、完全に形成された CloudFormation JSON/YAML テンプレートにコンパイルされ、プロビジョニングのために CloudFormation サービスに送信されます。AWS CDK は CloudFormation を利用するため、安全なデプロイ、自動ロールバック、ドリフト検出など、CloudFormation が提供するすべての利点を引き続き享受できます。

このアプローチには、次の内容を含む多くの利点があります。

  • AWS リソースに賢明で安全なデフォルトを自動的に提供する高レベルのコンストラクトを使用して構築し、より少ないコードでより多くのインフラストラクチャを定義します。

  • パラメータ、条件、ループ、構成、継承などのプログラミングイディオムを使用して、AWS などが提供する構成要素からシステム設計をモデル化します。

  • インフラストラクチャ、アプリケーションコード、設定をすべて 1 か所に配置し、マイルストーンごとに完全なクラウドデプロイ可能なシステムを確保します。

  • コードレビュー、ユニットテスト、ソース管理などのソフトウェアエンジニアリングプラクティスを採用して、インフラストラクチャをより堅牢にします。

  • AWS Solutions Constructs は、AWS CDK のオープンソースライブラリ拡張機能です。AWS Solutions Constructs は、AWS Well-Architected Framework によって確立されたベストプラクティスを使用して構築された、厳選されたマルチサービスアーキテクチャパターンのコレクションを提供します。

AWS Serverless Application Model と AWS CDK はどちらも AWS インフラストラクチャをコードとして抽象化するため、クラウドインフラストラクチャを簡単に定義できます。AWS SAM はサーバーレスのユースケースとアーキテクチャに特に焦点を当てており、コンパクトで宣言的な JSON/YAML テンプレートでインフラストラクチャを定義できます。AWS CDK は、すべての AWS サービスに幅広く対応しており、最新のプログラミング言語でクラウドインフラストラクチャを定義できます。

Amazon EC2 Image Builder

EC2 Image Builder は、AWS またはオンプレミスで使用する VM およびコンテナイメージの構築、テスト、デプロイを簡素化します。VM とコンテナイメージup-to-dateに保つと、時間がかかり、リソースを大量に消費し、エラーが発生しやすくなります。現在、お客様は VM を手動で更新してスナップショットを作成するか、イメージを維持するために自動化スクリプトを構築するチームを持っています。Image Builder は、シンプルなグラフィカルインターフェイス、組み込みのオートメーション、AWS が提供するセキュリティ設定を提供することで、イメージup-to-date状態に保ち、安全に保つ労力を大幅に削減します。Image Builder では、イメージを更新するための手動ステップはなく、独自のオートメーションパイプラインを構築する必要もありません。Image Builder は、イメージの作成、保存、共有に使用される基盤となる AWS リソースのコストを除き、無料で提供されます。

EC2 Image Builder は、Amazon EC2、コンテナ、オンプレミスサーバーで使用するカスタムイメージの作成と管理のプロセスを簡素化することで、AWS でのデプロイを容易にします。このサービスは、イメージの作成と管理プロセスを合理化する自動ビルドパイプラインを使用して、カスタムイメージを作成および管理するためのシンプルで柔軟な方法を提供します。

EC2 Image Builder は、基盤となるインフラストラクチャ管理の多くを抽象化する使いやすいインターフェイスを提供するため、開発者はカスタムイメージを簡単に作成および管理できます。EC2 Image Builder を使用すると、デベロッパーはイメージに含めるオペレーティングシステム、アプリケーション、パッケージを指定でき、更新、パッチ、セキュリティ修正など、イメージの構築とテストのプロセスを自動化します。自動ビルドパイプラインにより、デベロッパーはイメージの作成と管理プロセスを合理化し、手動イメージの作成とテストに必要な時間と労力を削減できます。これにより、一貫性を向上させ、エラーを減らし、イメージがup-to-date、安全、準拠していることを確認できます。

EC2 Image Builder の利点を以下に示します。

  • イメージ作成の簡素化: EC2 Image Builder は、Amazon EC2、コンテナ、オンプレミスサーバーで使用するカスタムイメージを作成するシンプルで柔軟な方法を提供します。これにより、カスタムイメージの作成と保守に必要な時間と労力を削減し、アプリケーションの開発やテストなど、デプロイの他の側面に集中できます。

  • 自動イメージビルドパイプライン: EC2 Image Builder は、カスタムイメージを構築、テスト、デプロイするための自動パイプラインを提供し、イメージの作成と管理プロセスを合理化するのに役立ちます。これにより、イメージがup-to-dateで安全で準拠していることが保証され、手動イメージの作成とテストに必要な時間と労力が削減されます。

  • AWS サービスとの統合: EC2 Image Builder は、Amazon Elastic Container Registry (ECR) や Amazon Elastic Kubernetes Service (EKS) などの他の AWS サービスと統合され、コンテナで使用するカスタムイメージを構築できます。これにより、コンテナの構築とデプロイのプロセスを合理化し、アプリケーション、ライブラリ、設定を含むカスタムイメージを構築できます。

  • 柔軟なイメージ作成: EC2 Image Builder では、カスタムイメージを柔軟に作成できるため、イメージに含めるオペレーティングシステム、アプリケーション、パッケージを指定できます。これにより、イメージが特定のユースケースと要件に合わせて調整され、デプロイ中のエラーや非互換性のリスクが軽減されます。

  • イメージのセキュリティとコンプライアンスの向上: EC2 Image Builder を使用すると、脆弱性スキャンやコンプライアンススキャンなどのイメージテストを自動化して、イメージの安全性とコンプライアンスを確保できます。これにより、セキュリティ侵害のリスクを軽減し、コンプライアンスを向上させ、自信を持ってアプリケーションをデプロイできます。