「Docker」と「AWS」は“継続的デリバリー”のゴールデンコンビか継続的デリバリー効率化のヒント

昨今のソフトウェアのリリース頻度の高さは著しい。リリース効率を上げて企業の対応力を高める鍵が継続的デリバリーの手法だ。このパイプラインを構築するのに役立つノウハウを紹介する。

2016年09月26日 12時00分 公開
[Mike PfeifferTechTarget]
Docker Dockerの公式Webサイト《クリックして拡大》

 昨今、ITチームがソフトウェアの更新をリリースする頻度は異常なほど高まっている。効率良くリリースするために、ITチームはアジャイルソフトウェア開発プラクティスに従い、DevOpsの考え方を採用している。ここまで効率を高める主な目的の1つは、新しい変更がアプリケーションに組み込まれたときに素早くフィードバックを入手することだ。このプロセスを加速するために、多くの組織がコンテナとクラウドプラットフォームを組み合わせて使用し、毎日のように複数のアプリケーションの更新を素早くリリースしている。このような組み合わせの1つが、「Docker」と「Amazon Web Services」(AWS)だ。

 「Amazon Elastic Compute Cloud(Amazon EC2)」インスタンスはカスタムのアプリケーションコードを実行するのに適しているが、起動に時間がかかるため、開発者はOSが起動するのを待たなくてはならない。その一方コンテナは、移植可能かつ軽量で、典型的な仮想マシン(VM)につきものの障害が全くない。 CPU、メモリ、ストレージリソースの一部を取得するために既存のホストでプロセスの分離を使用するが、既存のクラスタ化されたホストをAmazon EC2で実行すれば、ITチームはコンテナを素早く稼働させることができる。

 Dockerは事実上のコンテナ向けのオープンソーステクノロジーである。継続的デリバリーを構築するのに強力なタッグとなるのがDockerとAWSだ。「Amazon EC2 Container Service(ECS)」を使えば、EC2インスタンスのマネージドクラスタでDockerコンテナを実行可能になる。また、必要に応じて、単一のEC2インスタンスでDockerを実行することもできる。

DockerとAWSによる継続的デリバリー

 AWSは、ITチームが継続的デリバリーのパイプラインをコンテナベースで構築できるようにする機能を、Amazon ECS以外にも幾つか提供している。そのようなパイプラインをAWSでセットアップする方法を以下で簡単に説明する。

ローカルでの開発

 ローカルで作業する際、開発者はOS XまたはWindowsで「Docker Toolbox」を使用できる。このツールを使用すると、運用環境で実行するのと同じコンテナ環境でアプリケーションを素早くテストできる。まず、使用する基本イメージやインストールするソフトウェアパッケージなど、コンテナの設定を定義するDockerfileを作成する。docker runコマンドを使用して開発用コンピュータのローカルでコンテナを実行すれば、アプリケーションが期待通りに動作することを確認できる。複数のコンテナが必要なマルチティアアプリケーションの場合は、docker-composeコマンドを使用すれば、docker-compose.yml構成ファイルで定義されている複数のコンテナを稼働させることが可能だ。

ソース管理

 アプリケーションに問題がないことを確認したら、コードをバージョン管理リポジトリにコミットできる。ここで、変更点についてソース管理リポジトリにクエリして残りのパイプラインを開始するために、オーケストレーションツールが必要になる。これは「AWS CodePipeline」を使えば簡単で、CodePipelineは「AWS CodeCommit」に変更をクエリするように構成することができる。また、GitHubでホストされているリポジトリも使用可能だ。このリポジトリには、アプリケーションコードに加え、Dockerfileとdocker-compose.ymlファイルを保存する。

ビルド

 開発者がバージョン管理リポジトリにコードをコミットしたら、CodePipelineがビルド段階をトリガーする。 CodePipelineと互換性のあるビルドサーバは多数存在する。「Jenkins」が一般的だが、他にもサードパーティー製のツールを使える。 ビルド段階では、アプリケーションのソースコードをコンパイルできる。また、コンテナのイメージを作成するためにDockerビルドを実行することが可能だ。 コンテナのイメージは、パブリックまたはプライベートのコンテナレジストリからアクセスできなければならない。 なお、ビルド段階では、これらのDockerイメージを「Docker Hub」か「Amazon EC2 Container Registry」にプッシュできる。

テスト

 AWSでコンテナを使用する一般的な方法として、CodePipelineで1つ以上のテスト段階を作成するというものもある。例えば、テスト段階ではコンテナを実行する前にアプリケーションコードに対して単体テストを実行できる。全てが稼働した後、もう1つの段階が必要になる。この段階では、アプリケーションが機能してアクセス可能で適切なコンテンツを提供していることを確認するための統合テストを実行する。

展開

 コンテナのセットアップが全ての段階を通過したら、変更を運用環境にプッシュできる。変更をプッシュするとコンテナは、ビルド段階でコンテナレジストリにプッシュされたイメージから実行する。運用環境への展開は2通りある。自動的に行われる場合は継続的展開と見なされる。また、チームの準備ができたら最新バージョンのアプリケーションが運用環境に展開可能と見なされる方法もある。DockerとAWSがあればITチームは、継続的デリバリーのパイプラインを構築するための展開段階をさまざまな方法でセットアップできる。例えばECSと直接連係させることも、「AWS Elastic Beanstalk」を使用することも可能だ。AWS Elastic Beanstalkは、1つ以上のコンテナのDocker環境もサポートしている。

Copyright © ITmedia, Inc. All Rights Reserved.

隴�スー騾ケツ€郢晏ク厥。郢ァ�、郢晏現�ス郢晢スシ郢昜サ」�ス

製品資料 SB C&S株式会社

仮想化環境のモダナイゼーションを加速させる、新しい運用管理方法とは?

さまざまなメリットをもたらす仮想化環境だが、2023年にVMwareが買収されたことで、ユーザー企業は難しい判断を強いられている。そこで、コストメリットも大きい、仮想化環境のモダナイゼーションの方法について解説する。

事例 INFINIDAT JAPAN合同会社

データ利活用基盤を強化:NTTコミュニケーションズのストレージ導入事例

データ分析・利活用のニーズが高まる中、アクションのベースとなるデータも膨大な容量となり、今後も増え続けていく見通しだ。そうなると、各企業はデータ利活用基盤として、信頼性や拡張性の高いストレージを求めるようになるだろう。

製品資料 横河レンタ・リース株式会社

Windows 11への刷新はデータ移行が重荷、作業負荷を大幅に軽減する方法とは?

OSの移行には「データ移行」が付き物だが、その業務負荷の高さに悩まされているIT管理者は多いだろう。Windows 11への移行を進める前に知っておきたい、「データレスPC」の有効性や、導入で得られる“プラスα”のメリットを解説する。

事例 ニュータニックス・ジャパン合同会社

サーバ250台の移行事例、東海理化が仮想環境を刷新した理由とその効果とは?

技術や市場の変化が激しい自動車業界にあって、長年、数多くの自動車メーカーに部品を供給してきた東海理化。同社は変化に柔軟に対応するためのDX推進に当たって、これまで運用してきたレガシー仮想環境からの移行を断行する。

製品レビュー ニュータニックス・ジャパン合同会社

クラウド同士の連携と運用の課題解消、WebスケールITの基準を採用した基盤とは

ハイブリッド/マルチクラウドへ移行する企業のIT環境だが、クラウド同士の連携は複雑な上に、運用も非効率になりがちだ。そこで、この問題を解消するためのハイブリッド/マルチクラウドプラットフォームを紹介する。

郢晏生ホヲ郢敖€郢晢スシ郢ァ�ウ郢晢スウ郢晢ソスホヲ郢晢ソスPR

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

郢ァ�「郢ァ�ッ郢ァ�サ郢ァ�ケ郢晢スゥ郢晢スウ郢ァ�ュ郢晢スウ郢ァ�ー

2025/05/04 UPDATE

  1. ESXi邵イ蠕後@郢晄亢�ス郢昜コ・�ス郢ァ蠕個€讎奇スセ蠕鯉ソス闔会ス」隴厄スソ陋溷揃�」諛岩�邵コ�ェ郢ァ遞€yper-V邵イ繧弖M邵イ縲?V邵コ�ョ鬩戊シ費シ樒クコ�ッ邵コ阮呻ス檎クコ�ス
  2. VirtualBox郢ァ譌ヲSB郢晢ソス繝ー郢ァ�、郢ァ�ケ邵コ�ァ陞ウ貅ッ�。蠕後€堤クコ髦ェ�狗クイ險登rtable-VirtualBox邵イ髦ェ�ス闖エ�ソ邵コ�ス��
  3. 陞ウ蟲ィ�・邵コ�ヲ郢ァ�キ郢晢スウ郢晏干ホ晉クイ竏堋€髱エhromebook邵イ髦ェ縺咏ケ晢スウ郢ァ�ッ郢晢スゥ郢ァ�、郢ァ�「郢晢スウ郢晏現窶イ隲「荳橸ス、謔カ竊楢抄�ソ邵コ蛹サ��
  4. 邵イ蠕湖懃ケ晢ス「郢晢スシ郢晏現繝ァ郢ァ�ケ郢ァ�ッ郢晏現繝」郢晉軸逎�け螢ケツ€髦ェ縲堤ケ晄ァュ縺育ケァ�ケ邵コ蠕。�ス�ソ邵コ蛹サ竊醍クコ�ス竊堤クコ髦ェ�ス遯カ諛奇シ�クコ�ョ髫ェ�ュ陞ウ螢コツ€譏エ�帝€堺サ」竕ァ邵コ�ケ邵コ�ス
  5. Raspberry Pi邵コ�ァ郢ァ繧�懸騾包スィ陷ソ�ッ髢ュ�ス邵イツ€闔会スョ隲��ウ郢ァ�「郢晏干ホ懃クコ�ョ隰ォ蝣コ�ス諛遺楳邵コ�ォ邵コ阮吮味郢ァ荳岩夢邵コ貅伉€險殿rallels RAS邵イ�ス
  6. VDI�ス莠包スサ�ョ隲��ウ郢晢ソス縺帷ケァ�ッ郢晏現繝」郢晏干縺�ケ晢スウ郢晁シ釆幢ソス蟲ィ窶イ陷ソ�、邵コ�ス讖ソ髯ヲ阮吮�邵コ�ョ邵コ�ォ闔臥ソォ縲堤ケァ繧茨スア繧�ス∫ケァ蟲ィ�檎ケァ荵晢ソス邵コ�ッ邵コ�ェ邵コ諛カ�シ�ス
  7. 霎滂ス。隴∝生�ス闔会スョ隲��ウ陋ケ謔カ縺溽ケ晁シ斐Κ邵イ邊Zper-V Server邵イ髦ェ�ス鬯イ�ス魘ィ邵コ�ィ邵イ竏晢ス、�ァ邵コ蝓シ邃�クコ蠑ア�矩梨�ス邵コ�ィ邵コ遉シ�ゥ�エ
  8. Broadcom邵コ蠕個€逾`ware髮具スキ陷ソ蠑アツ€髦ェ�堤クコ蜉ア笳�€オ貅假ソス驍ィ蜈亥ソー邵コ�ィ邵コ�ッ�ス貅伉€ツ€騾墓コ倪€ウ隹ソ荵晢ス矩勳�ス陷ゥ竏堋€竏オ鄒��荵昶命髯ャ�ス陷ゥ�ス
  9. 邵イ莉呻スセ�ケ陟主「難スッ遒托スシ�スツ€莉」縺礼ケ晢スシ郢晁揄�サ�ョ隲��ウ陋ケ謔カ縺溽ケ晁シ斐Κ郢ァ�ヲ郢ァ�ァ郢ァ�「闕ウ�サ髫包ソス4髯ャ�ス陷ゥ�ス 陝�クサ�ス郢ァ�ウ郢ァ�ケ郢晏沺�ッ遒托スシ�ス�シ竏堋€ツ€�ス讓頑ゥソ髯ヲ謐コ�、諛�スィ�シ騾包スィ鬨セ譁絶�邵コ鄙ォ��郢ァ邇厄スゥ�ヲ驍ゑソス
  10. 闔会スョ隲��ウ郢晄ァュ縺咏ケ晢スウ�ス�スVM�ス蟲ィ竊堤ケ晏生縺�ケ晢ス。郢ァ�ソ郢晢スォ郢ァ�オ郢晢スシ郢晁��ス陜難スコ隴幢スャ騾ァ�ス竊鷹ゥ戊シ費シ樒クコ�ッ�ス貅伉€ツ€Kubernetes髫穂ケ溘○邵コ�ァ雎育「托スシ�ス

「Docker」と「AWS」は“継続的デリバリー”のゴールデンコンビか:継続的デリバリー効率化のヒント - TechTargetジャパン 仮想化 隴�スー騾ケツ€髫ェ蛟�スコ�ス

TechTarget郢ァ�ク郢晢ス」郢昜サ」ホヲ 隴�スー騾ケツ€髫ェ蛟�スコ�ス

ITmedia マーケティング新着記事

news014.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news046.png

「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news026.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年4月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...