メインコンテンツに移動

DevOps と AWS

DevOps を採用する方のためのツールとインフラストラクチャリソース

概要

DevOps と AWS

AWS では、企業が AWS と DevOps のプラクティスを使用して、製品をより迅速に、より信頼性の高い方法で構築および提供できるように、一連の柔軟なサービスを提供しています。これらのサービスを使用することにより、インフラストラクチャのプロビジョニングと管理、アプリケーションコードのデプロイ、ソフトウェアリリースプロセスの自動化、アプリケーションとインフラストラクチャのパフォーマンスのモニタリングを簡略化できます。

DevOps では、従来型のソフトウェア開発と、インフラストラクチャ管理プロセスを使用するよりも速いペースで製品の進歩と向上を達成し、企業がアプリケーションやサービスを高速で配信できるように、文化的な基本方針、プラクティス、ツールが組み合わされています。この高速化により、企業は顧客により良いサービスを提供し、市場競争力を高めることができます。

その他のリソース

DevOps とは

DevOps ブログ

パートナーソリューション

リソース

The Amazon Builders' Library

DevOps の詳細

DevOps に AWS を使用する利点

すぐに使用できる

AWS アカウントをお持ちのお客様は、すべての AWS のサービスをすぐに使用できます。事前のセットアップや、ソフトウェアのインストールは必要ありません。

フルマネージドサービス

完全マネージド型サービスを使用して、AWS リソースをより素早く活用できます。インフラストラクチャのセットアップ、インストール、運用について心配する必要はありません。これによって主要な製品の開発に集中することが可能です。  

スケールを考慮した構築

AWS のサービスを使用して、単一のインスタンスを管理したり、数千単位までスケールしたりできます。これによって、プロビジョニング、設定、スケーリングを単純化し、ほとんどの柔軟なコンピューティングリソースの作成をサポートします。

プログラム可能

AWS コマンドラインインターフェイス、または API や SDK 経由でそれぞれのサービスを使用できます。宣言型の AWS CloudFormation テンプレートを使用して、AWS リソースと、すべての AWS インフラストラクチャをモデリングしたり、プロビジョニングしたりすることも可能です。

DevOps に AWS を使用する利点

オートメーション

AWS では、オートメーションを使用して構築の高速化と効率化を達成できます。AWS のサービスを使用して、デプロイ、開発とテストのワークフロー、コンテナ管理、設定管理などの、手動で実行するタスクやプロセスを自動化できます。

セキュア

AWS Identity and Access Management (IAM) を使用して、ユーザーのアクセス許可とポリシーを設定できます。これにより、リソースにアクセスできるユーザーや、リソースへのアクセス方法をきめ細やかにコントロールできます。

大規模なパートナーエコシステム

AWS では、AWS のサービスに統合され、拡大する幅広いパートナーエコシステムをサポートしています。お好みのオープンソースのサードパーティツールを AWS と組み合わせて使用し、エンドツーエンドのソリューションを構築できます。DevOps パートナーソリューションの詳細については、こちらを参照してください。

使用した分だけお支払い

AWS では、使用を予定している期間のみ、必要とするサービスを購入します。AWS の料金には、初期費用、解約違約金はありません。AWS 無料利用枠を利用して AWS の使用を開始できます。詳細は各サービスの料金表ページを参照してください。

AWS による DevOps ツール

AWS では、企業で DevOps を実践し、AWS の使用を開始するためのサービスを提供しています。これらのツールを使用して、手動タスクの自動化、規模に応じた複雑な環境を管理するチームのサポート、エンジニアによる DevOps で達成可能な高速性の制御を可能にします。 

継続的インテグレーションと継続的デリバリー

AWS デベロッパーツールを使用すると、アプリケーションのソースコードを安全に保存してバージョン管理し、アプリケーションを自動的にビルド、テスト、AWS またはオンプレミス環境にデプロイできます。AWS CodePipeline から始めて、AWS CodeBuild、AWS CodeDeploy、その他のツールを使用する継続的インテグレーションまたは継続的デリバリーのワークフローを構築するか、各サービスを個別に使用してください。

AWS デベロッパー用ツール

ソフトウェアリリースのワークフロー

AWS CodePipeline

AWS CodePipeline は継続的統合と継続的デリバリーのためのサービスで、アプリケーションとインフラストラクチャを短時間かつ信頼性の高い方法でアップデートできます。CodePipeline は、お客様の定義するリリースプロセスモデルに基づいて、コードの変更があるたびに、コードのビルド、テスト、デプロイを実施します。これにより、機能とアップデートを素早く、信頼性の高い方法で配信できます。

詳細

コードのビルドとテスト

AWS CodeBuild

AWS CodeBuild は、完全マネージド型のビルドサービスです。ソースコードをコンパイルし、テストを実行し、デプロイできるようにソフトウェアパッケージを作成できます。CodeBuild により、ビルドサーバーのプロビジョニング、管理、スケーリングが不要になります。CodeBuild は連続的にスケールされ、複数のビルドが同時に処理されるので、ビルドが待機状態でキュー内に残されることがありません。

詳細

デプロイのオートメーション

AWS CodeDeploy

AWS CodeDeploy では、Amazon EC2 インスタンスやオンプレミスサーバーを含む、さまざまなインスタンスへのコードのデプロイが自動化されます。AWS CodeDeploy を使用すると、新しい機能をすばやく簡単にリリースできます。また、アプリケーションのデプロイ時のダウンタイムを回避し、アプリケーションの複雑な更新を処理できます。  

詳細

Instacart

Instacart は AWS CodeDeploy を使用して、フロントエンドとバックエンドサービスのすべてのデプロイを自動化しました。AWS CodeDeploy の使用により、Instacart の開発者は製品に集中でき、デプロイオペレーションについて心配する必要が軽減されました。

Missing alt text value

lululemon athletica

lululemon athletica は、さまざまな AWS のサービスを利用して、完全に自動化された継続的インテグレーションおよびデリバリーシステムを構築しています。また、Amazon S3 から AWS CodePipeline を使用して配信されるアーティファクトをデプロイしています。この段階で、アーティファクトは AWS Elastic Beanstalk にデプロイされます。

Missing alt text value

マイクロサービス

コンテナまたはサーバーレスコンピューティングを使用して、マイクロサービスアーキテクチャを構築およびデプロイします。

Docker プラットフォームの運用

Amazon Elastic Container Service

Amazon Elastic Container Service (ECS) は、非常にスケーラブルで高性能なコンテナ管理サービスで、Docker コンテナに対応しており、Amazon EC2 インスタンスのマネージドクラスターでアプリケーションを簡単に実行することができます。

詳細

サーバーレスコンピューティング

AWS Lambda

AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コードさえアップロードすれば、高可用性を実現しながらコードを実行およびスケールするために必要なことは、すべて Lambda により行われます。

詳細

Coursera

Coursera では、Amazon Elastic Container Service を使用して、アプリケーションのためのマイクロサービスベースのアーキテクチャを管理しています。これによって、ソフトウェアへの変更のデプロイを数分以内に完了できるようになり、数時間かけてリソースが隔離された環境でデプロイを行うことはありません。

Missing alt text value

Localytics

Localytics では AWS Lambda を使用して、毎月約 1,000 億のデータポイントから構成される Amazon Simple Storage Service のファイルや Kinesis のデータストリームを取り込む、マイクロサービスを作成します

Missing alt text value

Infrastructure as Code

コードとテンプレートを使用して、AWS インフラストラクチャリソースをプロビジョニング、設定、管理し、インフラストラクチャコンプライアンスのモニタリングと適用を行います。

テンプレート化されたインフラストラクチャプロビジョニング

AWS CloudFormation

AWS CloudFormation は、関連する AWS リソースの集約を整った予測可能な方法でプロビジョニングおよび更新し、開発者やシステム管理者が容易にそれらを作成、管理できるようにします。 AWS CloudFormation のサンプルテンプレートを使用したり、自分のテンプレートを作成したりできます。

詳細

Chef による設定管理

AWS OpsWorks

AWS OpsWorks は設定管理サービスであり、Chef (サーバー設定をコードとして 処理するオートメーションプラットフォーム) を使用します。OpsWorks は、Chef を使用することで、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス間またはオンプレミスのコンピューティング環境でのサーバーの設定、デプロイ、および管理を自動化します。OpsWorks には、AWS OpsWorks for Chef Automate と AWS Opsworks スタックという 2 つのサービスがあります。

詳細

シンプル

Simple では、AWS でオンライン銀行業務プラットフォームを構築しました。AWS CloudFormation を使用することで、以前は数か月かかっていた処理の自動化に成功し、IT インフラストラクチャの管理ではなく、カスタマーサービスに集中できています。

動画を見る

Toronto Star

Toronto Star は、カナダ最大のオンラインニュースサイトです。AWS OpsWorks を使用することで、コンテンツ管理アプリケーションのデプロイに必要な時間を 3 時間から 20 分にまで短縮しました。これにより、コストが削減され、生産性が向上しました。

導入事例を読む

設定管理

AWS Systems Manager

AWS Systems Manager は、ソフトウェアインベントリの収集や OS パッチの適用、システムイメージの作成そして Windows や Linux のオペレーティングシステム設定などのプロセスを自動化する管理サービスです。これらの機能は、システム構成を定義および追跡し、変動を防ぎ、EC2 およびオンプレミスの構成のソフトウェアコンプライアンスを維持する上で役立ちます。

詳細

コードとしてのポリシー

AWS Config

AWS Config は、セキュリティとガバナンスのためのフルマネージド型のサービスであり、ご利用の AWS リソースのインベントリ、構成履歴、構成変更通知の機能を備えています。Config Rules を使用して、AWS Config によって記録された AWS リソース設定を自動的にチェックするルールを作成できます。

詳細

Prezi

Prezi では AWS Config を使用して、AWS リソースへの設定の変更を追跡しています。AWS Config は、リソースが作成、変更、削除された場合に通知を送信します。また、AWS Config ルールを使用して、AWS 内のリソースのプロビジョニングと設定を管理しています。

導入事例を読む

詳細

AWS CloudFormation テンプレートを使用したインフラストラクチャのプロビジョニングでは、AWS Systems Manager を呼び出してソフトウェアインベントリの追跡やインスタンスの設定を行い、AWS Config を使用して設定のドリフトの自動修正を実行します。

モニタリングとログ記録

ログを記録し、アプリケーションとインフラストラクチャパフォーマンスをほぼリアルタイムでモニタリングします。 

クラウドとネットワークのモニタリング

Amazon CloudWatch

Amazon CloudWatch は、AWS クラウドリソースと AWS で実行されるアプリケーションのモニタリングサービスです。Amazon CloudWatch を使用して、メトリクスの収集と追跡、ログファイルの収集とモニタリング、アラームの設定、および AWS リソースへの変更に対する自動的な対応が可能です。

詳細

分散トレース

AWS X-Ray

開発者は、AWS X-Ray を使用して、本番環境や分散アプリケーション (マイクロサービスアーキテクチャを使用して構築されたアプリケーションなど) を分析およびデバッグできます。X-Ray を使用すると、アプリケーションやその基盤となるサービスの実行状況を把握し、パフォーマンスの問題やエラーの根本原因を特定して、トラブルシューティングを行えます。

詳細

The Globe and Mail

Globe and Mail はカナダで最も読まれている新聞で、毎週カナダ中の 470万人の読者がデジタル版にアクセスしています。Amazon CloudWatch を使用して、システムのパフォーマンスをモニタリングし、インフラストラクチャのオートメーションのための DevOps のアプローチを採用しました。

導入事例を読む

アクティビティと API 使用状況の追跡

AWS CloudTrail

AWS CloudTrail は、アカウントに対する AWS API 呼び出しを記録し、ログファイルを配信するウェブサービスです。記録される情報には、API 呼び出し元の ID、API コールの時刻、API 呼び出し元のソース IP アドレス、リクエストのパラメータ、および AWS サービスから返された応答の要素が含まれます。

詳細

アプリケーションの可用性

Amazon DevOps Guru

Amazon DevOps Guru は、アプリケーションの運用パフォーマンスと可用性の改善を容易にするように設計された、機械学習 (ML) を利用したサービスです。DevOps Guru はアプリケーションの異常な動作を検出するのに役立つため、運用上の問題が顧客に影響を与えるずっと前に、その問題を特定できます。

詳細

Slack

Slack は、多様なコミュニケーションサービスを一元化するためのメッセージングプラットフォームを提供しています。Slack のプラットフォームは AWS で実行されていて、幅広い種類のクラウドサービスが活用されています。Slack では AWS CloudTrail を使用して、Amazon EC2 インスタンスに関係するログをモニタリングしています。

導入事例を読む

Platform as a Service

インフラストラクチャとアプリケーションスタックのプロビジョニングと管理を必要としないウェブアプリケーションのデプロイ。

ウェブアプリの実行と管理

AWS Elastic Beanstalk

AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker で開発されたウェブアプリケーションとサービスを、Apache、Nginx、Passenger、IIS などの使い慣れたサーバーにデプロイおよびスケールできる使いやすいサービスです。コードをアップロードするだけで、容量のプロビジョニング、負荷分散、自動スケーリングからアプリケーションヘルスモニタリングまで、デプロイが Elastic Beanstalk によって自動的に処理されます。同時に、お客様のアプリケーションが稼動している AWS リソースの完全な制御を保持でき、いつでも基盤となるリソースにアクセスすることができます。

詳細

Zillow

Zillow では、パフォーマンスの問題を解決し、スケーラビリティを実現するために、画像処理と配信システムを AWS に移行しました。Elastic Beanstalk を使用して、画像処理に Python 画像処理ライブラリーとカスタムコードを実行しています。

導入事例を読む

Rachio

Rachio は、Smart Sprinkler Controller という WiFi ベースの散水栓コントローラを開発しています。Rachio は、ウェブサイト、アプリケーション、API のデプロイと管理に AWS Elastic Beanstalk を使用しています。 

Missing alt text value

バージョンコントロール

クラウドで、安全で高度にスケーラブルな Git リポジトリをホストします。 

プライベート Git ホスティング

AWS CodeCommit

AWS CodeCommit は、完全マネージド型ソースコントロールサービスで、安全で非常にスケーラブルなプライベート Git リポジトリを簡単にホスティングできます。CodeCommit を使用して、ソースコードからバイナリまですべてのものをセキュアに保存できます。CodeCommit は既存の Git ツールとシームレスに動作します。

詳細

Edmunds.com

Edmunds.com の開発者は、AWS CodeCommit を使用してスケーラブルで可用性の高いソースコントロールサービスを活用することで、コストを削減しながら、管理を簡略化させています。

Missing alt text value