クラウドでどのように構成管理すべきか?
Alibaba Cloud、AWS、Azure、Google Cloud

2022年8月24日掲載

キービジュアル

大手クラウドベンダ(Alibaba Cloud(以降Alibabaと表記)、 Amazon Web Services(以降AWSと表記)、 Azure、Google Cloud(以降Googleと表記))で利用する構成アイテム(Configuration Item)を、クラウド上でどのように構成管理(Configuration Management)するかについて迫っていきます。

※クラウドサービスの並びはアルファベット順となります。

目次

  • クラウド上の構成管理サービスの概要について説明しています
  • そもそも構成管理とは何か、から理解したい方への入門記事です

構成管理とは?

構成管理とは、ITサービスを提供するために必要となる構成アイテムを特定し、最新の状態で記録、管理するプロセスです。

構成アイテムとは、サービスの提供のために管理する必要のある要素であり、例えば、ハードウェアやソフトウェア、およびそれらに含まれる各種コンポーネントです。リソース、アセットとも表現されますが、正確には構成アイテムのサブセットです。すべての構成アイテムはリソースであり、アセットですが、逆は必ずしも成り立ちません。構成アイテムにはライセンス情報、バージョンなども含むためです。

構成管理の簡易的な説明は以上ですが、このプロセスだけを眺めていても役割がとらえにくいかと思います。少し遠回りですが、ITサービスのライフサイクルの中で、構成管理がどのように位置づけられ、何を意図としているのかを見ていきましょう。

構成管理の位置付け

  • ITサービスマネージメント(ITSM:IT Service Management)

現在のビジネスはITと切り離すことは難しいでしょう。ビジネスモデルを下支えするためのITもあれば、新しいビジネスモデルそのものがITサービスとなっていることもあります。

ITサービスを、コストも意識しながら品質を維持、向上させ、また提供スピードを上げるための継続的な仕組みがITサービスマネージメントです。QCD、Quality(品質)、Cost(コスト)、Delivery(納期)観点でのマネージメントとも言い換えられます。

 

  • ITIL(IT Infrastructure Library)

ITサービスマネジメントを実現するために、実際の運営方式やノウハウを収集し、ベストプラクティスとしてまとめた事例集がITILです。

ITIL Version 2では構成管理はConfiguration Managementと表現されていますが、Version 3ではService Asset and Configuration Managementと呼び名が変わっています。本記事では共通して構成管理と表現します。

ITILをベースとして、国際標準化機構(ISO:International Organization for Standardization)が策定した国際規格がISO/IEC 20000です。

 

ITIL Version3には、ITサービスのライフサイクルを4つのカテゴリに分類しています。

  • サービスストラテジ(Service Strategy)
  • サービスデザイン(Service Design)
  • サービストランジション(Service Transition)
  • サービスオペレーション(Service Operation)                    
configuration-management 出典:https://www.processexam.com/itil-service-strategy

 

構成管理は、組織やサービスに含まれるIT資産を明確にし、記録することで、ITサービスマネージメントを支援することが目的となります。変更管理とともに、上記の4つのカテゴリを横断的にまたがった活動となります。戦略を立て、設計、移行し、運用する、どの段階でも変更の要素が入ってくるためです。

サービスオペレーション内のプロセスである、インシデント管理、問題管理などでも利用されます。参照されるためのインターフェースも備えていなければなりません。

configuration-management

目的に照らせば、サービストランジションが伝統的なウォーターフォールであろうと、DevOps(CI/CDを用いたアジャイル開発)でも必要性と役割は変わらないことはご理解いただけると思います。よりDevOpsのような考え方を取り入れて改訂されたバージョンは、ITIL Version 4からです。

クラウドの構成管理サービス

構成管理の外観が分かったところで、クラウドでの話題へ戻りましょう。ITサービスのライフサイクルがますます迅速になる中、変更をどう取得し、どうやって記録すればよいでしょうか。

クラウドがネイティブな機能として提供してくれているでしょうか。

 

Alibaba

AWS

Azure

Google

サービス名

Cloud Config

AWS Config

-

Cloud Asset Inventory

構成アイテム(CI)の
自動記録

-

過去の履歴の参照

-

クエリ言語
SQLライクなツール

-

データの保持期限

10年

30日〜7年

-

5週

※BigQuery等へexport可能

サポートされるリソースタイプ

リンク

リンク

-

リンク

ルールの設定

-

×

Alibaba、AWS、Googleのクラウドには構成管理サービスが存在します。構成アイテムは手動の介入なく自動で記録されます。

 

AWSでEC2を停止した際に記録される構成アイテム例(一部抜粋)


{
  "version": "1.3",
  "accountId": "*****",
  "configurationItemCaptureTime": "2022-08-01T06:20:54.559Z",
  -snip-
  "arn": "arn:aws:ec2:ap-northeast-1:*****:instance/i-0abc",
  "resourceType": "AWS::EC2::Instance",
  "awsRegion": "ap-northeast-1",
  "availabilityZone": "ap-northeast-1a",
  -snip-
  "relationships": [
    {
      "resourceType": "AWS::EC2::NetworkInterface",
      "resourceId": "eni-0ed303201f0adf9bc",
      "relationshipName": "Contains NetworkInterface"
    },
    {
      "resourceType": "AWS::EC2::Subnet",
      "resourceId": "subnet-0bd853a3c2994db4f",
      "relationshipName": "Is contained in Subnet"
    },
  -snip-
    {
      "resourceType": "AWS::EC2::VPC",
      "resourceId": "vpc-0ae46f55c215b109f",
      "relationshipName": "Is contained in Vpc"
    }
  ],
  -snip-
  "configuration": {
    "amiLaunchIndex": 0,
    "imageId": "ami-09e761407663e50ec",
    "instanceId": "i-02b6878b70c2fefad",
    "instanceType": "t3.small",
  -snip-
    "state": {
      "name": "stopped"
  -snip-
  }
}

マネージメントのコンソール画面からクリック操作でJSON形式の詳細を抽出してみました。VM単独の情報だけではなく、VPCなどのリソースも関連情報として得られます。

 

専用のクエリ言語も提供されているため、履歴の参照も容易です。先ほどと同じように結果をJSONで得られますが、WHEREでリソースを、SELECTでフィールドを絞った抽出をすることもできます。

クエリ言語による構成情報の抽出例

SELECT
    resourceId,
    resourceType,
    configuration.instanceType,
    configuration.imageId,
    availabilityZone
WHERE
    resourceType = 'AWS::EC2::Instance'

 

ルールの設定という点は説明が必要でしょう。期待する構成をルールとして事前に適用することで、意図しない設定が構成されればサービスが教えてくれます(メール等で通知も可能です)。

AWS ConfigでEBSの暗号設定ルール違反の変更を検知した場合

Name

Compliance

ec2-ebs-encryption-by-default

1 Noncompliant resource(s)

 

 

変更があるたびに、手作業でドキュメント等に記録を残していくことは非常に大変な作業です。クラウドのサービスを使うことで、関係性まで含めた記録を自動で残してくれます。構成管理の煩わしさを感じられている組織はぜひ利用を検討してみてもよいでしょう。

 

Azureには現時点では他社クラウドと同等のサービスはないようです。単独のリソースはもちろん、リソース間の依存関係も含めて漏れなく記録したいとなると、難しさがもたげてきます。どうすればよいでしょうか。

Azureのドキュメントには、VMの管理にAnsible、Chef、Puppetといったオートメーションツールの紹介がされています。Azureの純正サービスとしては、Azure Resource Manager templateの説明があります。
インフラの管理には、terraformについて言及しています。
これらツールでオーケストレーション管理し、Gitと組み合わせて変更の履歴を残すことができそうです。IaC(Infrastructure as Code)で構成管理を行うという思想のようです。
上記のようなツールが手に馴染んでいる、また、ユーザ共存のエコシステムを好むエンジニアには悪くない選択肢になり得るでしょう。

費用は?

どの程度の費用がかかるのでしょうか。 AWSを例に見積もってみましょう。

(AWS Config)※米国東部

  • 0.003USD / 記録された設定項目
  • 0.001USD / 評価されたルール

(1ヵ月の利用例)

  • リソースに記録された設定項目 10,000 件
  • ルール評価 10,000 件

(見積もり)

  • 10,000 * $0.003 = $30
  • 10,000 * $0.001 = $50

合計 30 + 50 = $80

使い方によって変わってきますが、弊社の場合は、概算として全インフラコストの数10分の1という割合です。

何かしらの変更を伴う処理を、バッチ等で大量に定期的に繰り返すような場合は注意が必要です。記録対象を除外することもできますので、検討するのもありでしょう。

まとめ

構成管理がどういった位置付けで、何を目的としているかを確認しながら、クラウドの構成管理サービスについて調べてみました。

クラウド上には類似しているように思えるサービスもたくさん存在しており、迷うこともあるかと思います。ドキュメントを読んで機能は理解できても、必要性の実感が湧かないこともあります。クラウドのログを取得をしておけば、構成管理サービスは不要では、といった誤解を抱いたりすることもあるかもしれません。
その場合は、ITサービスマネージメント活動の中で、どのような役割を担い、どのように他の管理活動と連携しているかまで視点を広げると理解しやすくなると思います。

構成管理は組み込むべき重要なプロセスの一つです。便利なサービスやツールを利用し、積極的に使っていきましょう。

関連サービス

Amazon Web Services (AWS)

ソフトバンクはAWS アドバンストティアサービスパートナーです。「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。

Microsoft Azure

Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。

Google Cloud

Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

おすすめの記事

条件に該当するページがございません