COLUMN
AWSにおけるクラウドネイティブ
ここ数年で「クラウドネイティブ」というキーワードをしばしば目にするようになりました。
クラウドネイティブな技術はハイペースで進歩しており、Amazon Web Services (AWS)をはじめとするクラウド事業者がクラウドネイティブなサービスを次々とリリースしています。
この記事では、クラウドネイティブの定義について述べると共にクラウドネイティブの発展を支えるCloud Native Computing Foundationやその代表的なプロジェクトについて解説し、加えてAmazon Web Services (AWS)においてクラウドネイティブを実践するために役立つサービスを紹介します。
クラウドネイティブについて
CNCFについて
Cloud Native Computing Foundation (CNCF)はコンテナをはじめとするクラウドネイティブ技術の推進を目的とする団体であり、クラウドネイティブ技術に関する様々なオープンソースプロジェクトをホストしています。
CNCFは2015年7月にLinux Foundationによってアナウンスされ、AWS、Azure、Google Cloudなどのクラウド事業者を含む多数のメンバーから構成されています。
CNCFによってホストされるプロジェクトは成熟度によって「Sandbox」「Incubating」「Graduated」の3段階に分類され、「Sandbox」から「Graduated」へ段階が上がるごとに成熟度が高くなります。
なお、CNCFはオープンソースプロジェクトのホスティングの他、ベンダー向けの認定Kubernetes適合プログラムやエンジニア向けの認定Kubernetesアドミニストレータープログラム/認定Kubernetesアプリケーションデベロッパープログラムを提供しています。
クラウドネイティブ ≒ コンテナ?
CNCFではGraduated ProjectsであるKubernetesやcontainerd(Dockerのコンテナランタイム)をはじめとしてコンテナ関連のプロジェクトを多くホストしていますが、必ずしもクラウドネイティブ=コンテナとは限りません。
CNCFによるクラウドネイティブの定義には「パブリッククラウド、プライベートクラウドまたはハイブリッドクラウドのように現代の動的な環境において、クラウドネイティブ技術はスケーラブルなアプリケーションを構築・運用するための力を組織に与える」という一文が含まれており、また、クラウドネイティブ技術として「コンテナ」「サービスメッシュ」「マイクロサービス」「イミュータブルインフラストラクチャ」「宣言的API」が例示されています。
このように、クラウドネイティブに含まれる技術はコンテナだけではありませんが、コンテナはサービスメッシュやマイクロサービスなど他の技術とも密接に関係しており、クラウドネイティブにおいて重要なポジションにあります。
DockerとKubernetesについて
Dockerとはコンテナの実行やコンテナイメージの作成・配布を行うためのプラットフォームであり、Dockerを使うことによってアプリケーションを実行環境ごとパッケージ化し、開発環境でも運用環境でも同じようにアプリケーションを動作させることができます。
なお、コンテナとは「名前空間」と呼ばれるしくみを用いて外部から隔離された特殊なプロセスであり、コンテナイメージとはコンテナを実行するためのテンプレートで大部分はコンテナの実行に必要なファイルシステムです。
一方、KubernetesはDockerなどでコンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を行う「コンテナオーケストレーション」というカテゴリに含まれるソフトウェアであり、Kubernetesを使うことによってコンテナを実行するためのマシンの集団(「クラスタ」と呼ばれます)の管理・運用を自動化することができます。
これら2つのプロジェクトはクラウドネイティブの火付け役ともいえる存在であり、クラウドネイティブ技術の中でも特に重要な役割を担っています。
AWSでクラウドネイティブを実践する
前段では、クラウドネイティブの概要について解説しました。
クラウド事業者が提供するパブリッククラウドはクラウドネイティブの想定環境の一つであり、パブリッククラウドもまたクラウドネイティブをサポートするための様々なサービスを提供しています。
以下、AWSにおいてクラウドネイティブを実践するために役立つサービスを紹介します。
Amazon ECS
Kubernetesと同様に、Amazon Elastic Container Service (ECS)はコンテナオーケストレーションサービスであり、Amazon ECSを利用することによってコンテナを実行するためのクラスタの管理・運用を自動化することができます。
Amazon ECSはマネージドサービスであるため、インフラストラクチャの管理を基本的にAWSへ任せることができますが、クラスタを構成するノード(マシン)はAmazon Elastic Compute Cloud (EC2)インスタンスであり、コンテナエージェントの更新などの一部の作業をユーザー側で行う必要があります。
コンテナオーケストレーションの領域ではKubernetesがデファクトスタンダードとなりましたが、Amazon ECSにはElastic Load BalancingやAWS Auto ScalingなどのAWSの他サービスと統合しやすい特徴があり、AWSがメインな環境ではAWSの他サービスとの連携などの点で利用しやすいというメリットがあります。
Amazon EKS
Amazon Elastic Kubernetes Service (EKS)はコンテナオーケストレーションサービスであり、KubernetesやAmazon ECSと同様、Amazon EKSを利用することによってコンテナを実行するためのKubernetesクラスタの管理・運用を自動化することができます。
Amazon EKSでは実際にコンテナを実行する「ワーカー」と呼ばれるノードはAmazon ECSと同様にAmazon EC2インスタンスであり、一部ユーザー自身で管理・運用する必要がありますが、クラスタの司令塔の役割を果たす「マスター」と呼ばれるノードはAmazon EKSコントロールプレーンとしてAWSによって管理・運用されるので、全てを自前で運用する場合と比べて負荷を軽減することができます。
AzureやGoogle Cloudもそれぞれ同様のマネージドKubernetesクラスタサービスを提供しており、Kubernetes上で構築されたアプリケーションは他のクラウドやオンプレミスへ移行しやすいメリットがあります。
Amazon ECR
Amazon Elastic Container Registry (ECR)はコンテナレジストリサービスであり、プライベートなコンテナイメージを登録することができます。
コンテナレジストリとはコンテナイメージの保管場所であり、コンテナイメージを配布する上で重要な役割を担っています。
コンテナレジストリを自前で運用することもできますが、高い可用性や耐久性を備えたコンテナレジストリシステムを自前で構築・運用するのは決して簡単なことではありません。
その点、Amazon ECRはフルマネージドなサービスであるため、インフラストラクチャの管理をAWSへ一任することができます。
コンテナレジストリサービスとしてはDockerが提供するDocker Hubがデファクトスタンダードであり、Docker Hubもプライベートレジストリサービスを提供していますが、Amazon ECRとDocker Hubとでは料金体系が異なっており、使い方によってはAmazon ECRを利用した方がコストを安く抑えることができます。
おわりに
クラウドネイティブは価値あるアプリケーションをスピーディーに提供するためのアプローチの一つとして強い関心を集めています。
CNCFがホストするプロジェクトやクラウド事業者のクラウドネイティブ関連サービスなど、今後の動向が注目されます。
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。