出題範囲

Detailed Objectives in English

MQC(Minimally Qualified Candidate)

本試験に合格するために最低限保有すべきスキルレベルを持つ想定受験者のことをMQC(Minimally Qualified Candidate)と呼びます。本試験は、以下のOpenStackを使用するオペレータの業務とアドミニストレータの業務の両方を網羅する出題範囲となっており、本試験に合格するためには、最低限下記のスキルレベルを保有していることが必要です。

OpenStack オペレータ

本資格に認定されるオペレータレベルのエンジニアは、構築済のOpenStack環境において、インスタンス、アプリケーションおよびサービスの各種設定をすることができる技術力を有します。
また、OpenStackのエンドユーザ側の全てのOpenStackのサービスと一般的なOpenStackのツールの使用についての知識を有します。
更に、本資格の認定エンジニアは以下のことを実行できます。

  • 新規イメージの登録とカスタマイズ
  • 追加のブロックおよびオブジェクトストレージの事前準備
  • レポート用のテレメトリ情報の収集

OpenStack
アドミニストレータ

本資格に認定されるアドミニストレータレベルのエンジニアは、OpenStack環境の運用管理を行う能力、およびOpenStackのコアサービスを構築する技術力を有します。
また、本資格の認定エンジニアは以下のことを実行できます。

  • ユーザ、テナント、その他のシステムリソースの管理
  • 新規VMイメージの作成および使用
  • オブジェクトストレージ、ブロックストレージのオプション管理
  • ダッシュボードのカスタマイズ

250:OpenStack のアーキテクチャとデプロイメント

250.1 クラウドコンピューティングの概念【重要度:★★★ 3】

受験者はクラウドコンピューティングの共通のパターンやアーキテクチャ、それらの機能および影響を含む、クラウドコンピューティングの概念を理解していること。

主要な知識範囲
オペレータの側面
  • クラウドコンピューティング(IaaS, PaaS, SaaS)の概念、および、パブリック、プライベート、ハイブリッドクラウドの概念、そしてIaaSの特性について理解している。
  • 特定のタスクでクラウドコンピューティングが適切かつ有利であると判断できる。
  • IaaSのサービスおよびIaaSとアプリケーションの組合せ方について理解している。
  • スケーラビリティと高可用性の面を含む、IaaSとアプリケーションの関係を理解している。
  • IaaS クラウドの非機能要件およびクラウドコンピューティングのSLA(サービス品質保証)を理解している。

250.2 OpenStack のアーキテクチャと設計【重要度:★★★★★ 5】

受験者は、OpenStackのすべてのコアコンポーネントの機能とロールについて詳細に理解していること。さらに、受験者はOpenStackのコンポーネントとサポートしているサービスの統合について理解していること。また、受験者はOpenStackの追加サービスの機能とOpenStackが既存のアプリケーションをどのようにサポートできるかについて知っていること。

主要な知識範囲
オペレータの側面
  • ユーザ固有のタスクやアプリケーションにおける OpenStack の機能や使い方など、顧客が利用できる OpenStack のサービスを理解している。
アドミニストレータの側面
  • OpenStack クラウドのコアコンポーネント (Keystone, Horizon, Glance, Cinder, Swift, Neutron, Nova, Ironic, Ceilometer および Heat) のアーキテクチャはもとより機能や統合についても理解している。
  • OpenStackのIaaSの追加サービス (Barbican, Designate, Magnum および Manila)の機能について知っている。
  • OpenStackのSaaSの追加サービス (Trove, Sahara, Murano, Zaqar)の機能について知っている。
  • OpenStackクラウドがサポートするサービス(データベース、メッセージキューはもとより共有ストレージ、ネットワークファイルシステム、および仮想化も)の役割を理解している。

250.3 OpenStack のインストレーションとデプロイメント【重要度:★★★★★ 5】

受験者はOpenStackの構築に必要な手順およびツールを理解していること。OpenStackの主要なディストリビューションの使用、OpenStackのコンポーネントの手動インストレーションおよび、テスト環境で使用するインストレーションツールも含む。

主要な知識範囲
オペレータの側面
  • OpenStack のクライアントアプリケーションをインストールする。
アドミニストレータの側面
  • OpenStackを手動でインストールすることの利点と欠点を理解している。
  • OpenStackの手動デプロイの一般的な手順を知っている。
  • 開発用およびテスト用OpenStackクラウドのデプロイにRDO または DevStack を使用する。
  • OpenStackのメジャーなディストリビューションの主要機能とデプロイメント方法を理解している。
  • Red Hat Enterprise Linux OpenStack Platform 6 (Foreman, Puppet)
  • Ubuntu OpenStack (Landscape, MAAS, JuJu)
  • SUSE OpenStack Cloud 5 (Crowbar, Chef)
  • Rackspace Private Cloud (Ansible)
重要なファイル、用語、ユーティリティ
  • packstack
  • stack.sh
  • localrc
  • local.conf
  • pip
  • cinder-manage
  • glance-manage
  • keystone-manage
  • neutron-db-manage
  • nova-manage

251:管理サービス

251.1 アイデンティティサービス、認証と認可(Keystone)【重要度:★★★★★★ 6】

受験者はOpenStack のアイデンティティ、認証およびシステム権限について熟知していること。OpenStack の他のサービスに関連するOpenStack のアイデンティティ使用方法、Keystoneの管理と維持および権限、証明書、ポリシーおよびサービスカタログを含む。

主要な知識範囲
オペレータの側面
  • ドメインの概念、テナント/プロジェクト、ユーザ、ロール、トークン、パーミッション、証明書および認証を理解している。
  • 既存のドメイン内でテナント/プロジェクトおよびユーザを作成、管理する。
  • コマンドラインのツールおよびHorizonを使用してOpenStackに認証する。
  • サービスカタログを問い合わせる。
アドミニストレータの側面
  • keystone (keystone, keystone-pki)のアーキテクチャとコンポーネントを理解している。
  • ドメイン、テナント/プロジェクト、ユーザ、ロール、トークン、パーミッション、証明書および認証を管理する。
  • サービスやエンドポイントなど、サービスカタログを管理する。
  • Regionsについて理解している。
  • テナントのクオータを管理する。
  • セキュリティロールを管理し、OpenStackのすべてのコンポーネントとサービスのポリシーファイルを作成し、維持する。
重要なファイル、用語、ユーティリティ
  • openstack user
  • openstack project
  • openstack domain
  • openstack catalog
  • openstack endpoint
  • openstack service
  • openstack quota
  • openstack limits
  • openstack usage
  • openstack role
  • /etc/keystone/keystone.conf
  • /etc/keystone/logging.conf
  • /etc/*/policy.json

251.2 ダッシュボード(Horizon)とRESTful API【重要度:★★ 2】

受験者はHorizonダッシュボードやRESTful API を通してOpenStackを管理できること。一般的なツールの使用、コマンドラインツール、特にOpenStackの認証の初期手順のものを含む。さらに、Horizonの基本的なブランド設定とカスタマイズができること。

主要な知識範囲
オペレータの側面
  • HorizonとOpenStack RESTful APIの能力を理解している。
  • HorizonにログインしOpenStackのリソースとインスタンスを管理する。
  • OpenStack RESTful APIsでコマンドラインツールを使用する。
アドミニストレータの側面
  • Horizonのアーキテクチャとコンポーネント、およびOpenStackのRESTful API を理解している。
  • Horizonのカスタマイズとブランドを設定する。
  • データベースキャッシュを設定する。
  • パスワードを変更する。
重要なファイル、用語、ユーティリティ
  • curl
  • local_settings.py
  • openstack token
  • openstack, keystone, nova

251.3 テレメトリ(Ceilometer)【重要度:★★★ 3】

受験者はCeilometerの基本的なテレメトリ機能を設定して使用できること。レポートおよびオーケストレーション用のリソースの使用統計データを収集や、監視用のアラームの設定を含む。

主要な知識範囲
オペレータの側面
  • データ収集 (notifications, polling および sample gathering)を理解している。
  • タイプ、数量、情報源、収集データの解釈など、測定可能なプロパティを理解している。
  • テレメトリデータをceilometer に問い合わせる。
  • アラームを設定する。
アドミニストレータの側面
  • ceilometer (ceilometer-agent-compute, ceilometer-agent-central, ceilometer-agent-ipmi, ceilometer-agent-notification, ceilometer-collector, ceilometer-alarm-evaluator, ceilometer-alarm-notifier, ceilometer-api, ceilometer-polling)のアーキテクチャとコンポーネントを理解している。
重要なファイル、用語、ユーティリティ
  • ceilometer
  • ceilometer-dbsync
  • /etc/ceilometer/ceilometer.conf

251.4 オーケストレーション (Heat)【重要度:★★★ 3】

受験者は、HeatやHOTテンプレートを使用して基本的なOpenStackのアプリケーションを作成できること。HOTテンプレートの作成、AWS CloudFormation テンプレートの知識も含む。

主要な知識範囲
オペレータの側面
  • ネットワークの設定を含む、オートスケールの実装のための単純な Heat Orchestration Templates (HOT) を作成する。
  • AWS CloudFormation (CFN) テンプレートを知っている。
  • オーケストレーションユーザの認証にtrustを使用する。
アドミニストレータの側面
  • heat (heat-api, heat-api-cfn, heat-engine)のアーキテクチャとコンポーネントを理解している。
重要なファイル、用語、ユーティリティ
  • heat
  • heat-manage
  • heat-keystone-setup
  • heat-keystone-setup-domain
  • /etc/heat/heat.conf

252:イメージとデータストレージ

252.1 イメージサービス (Glance)【重要度:★★★★★ 5】

受験者は利用可能なイメージをGlanceに問い合わせ、そのイメージを使用してコンピュートインスタンスを起動することができること。さらに、Glanceの基本的な運用管理を遂行できること。

主要な知識範囲
オペレータの側面
  • コンピュートインスタンスのデプロイメントのためのマシンイメージの役割を理解している。
  • 新規イメージのアップロードと登録およびイメージメタデータを管理する。
  • 新規コンピュートインスタンスの作成と起動のためにマシンイメージを使用する。
アドミニストレータの側面
  • glance (glance-api, glance-registry, glance storage adapter)のアーキテクチャとコンポーネントを理解している。
  • glance 用のローカルストレージを設定し、使用する。また、ローカルファイルシステム以外のストレージバックエンドを知っている。
  • マシンイメージキャッシュを管理する。
重要なファイル、用語、ユーティリティ
  • openstack image
  • glance
  • openstack server (イメージ固有の側面)
  • nova (イメージ固有の側面)
  • glance-cache-cleaner
  • glance-cache-manage
  • glance-cache-prefetcher
  • glance-cache-pruner
  • glance-scrubber
  • /etc/glance/glance-api.conf
  • /etc/glance/glance-cache.conf
  • /etc/glance/glance-registry.conf
  • /etc/glance/glance-scrubber.conf
  • /etc/glance/schema-image.json
  • /var/lib/glance/

252.2 イメージの作成【重要度:★★★★ 4】

受験者は既存の仮想マシンイメージを操作できること。新規イメージの作成、イメージのカスタマイズ、OpenStack のコンピュートインスタンスで使用するイメージの準備を含む。

主要な知識範囲
オペレータの側面
  • 既存のマシンイメージに追加のソフトウェアや設定変更を取り込む。
  • ディスクイメージとコンテナフォーマットを理解し、一方から他方にフォーマットを変換する。
アドミニストレータの側面
  • スクラッチから、および実行中のインスタンスのスナップショットから新規イメージを作成する。
  • 既存のイメージのすべての要素を修正する。
  • ファイル注入を実行する。
  • 自動設定と追加のエフェメラルストレージのフォーマッティングの準備をする。
  • イメージをシールする(イメージから不要情報を削除する)。
重要なファイル、用語、ユーティリティ
  • guestfish
  • guestmount, guestumount
  • libguestfs tools (virt-*)
  • cloud-init
  • cloudbase-init
  • qemu-img
  • losetup
  • kpartx
  • disk-image-create
  • LVM ユーティリティ
  • qemu-nbd
  • loopback-mount
  • /etc/cloud/cloud.cfg
  • /etc/udev/

252.3 ブロックストレージ (Cinder)【重要度:★★★★★ 5】

受験者はコンピュートインスタンスに永続ストレージを提供でき、コンピュートインスタンス内で使用することができること。さらに、Cinderの基本的な運用管理を遂行できること。

主要な知識範囲
オペレータの側面
  • エフェメラルストレージと永続ストレージを含む、OpenStackのストレージを理解している。
  • ブロックストレージのボリュームの新規作成と管理をし、それらをコンピュートインスタンスに取り付ける。
  • コンピューティングインスタンス内のブロックストレージを使用するためのパーティション、LVMおよびファイルシステムを管理する。
  • コンピューティングインスタンスのrootファイルシステムに永続ストレージを使用する。
  • ブロックデバイスのスナップショットを作成し、管理する。
  • ボリュームとメタデータをバックアップし、リストアする。メタデータをバックアップする。
  • 一貫性グループ(consistency group)を使用する。
アドミニストレータの側面
  • cinder (cinder-api, cinder-scheduler, cinder-volume, cinder-backup)のアーキテクチャとコンポーネントを理解している。
  • ストレージのバックエンドとしてLVMを使用する。LVM以外のストレージバックエンド(NFS, iSCSI, Cephなど)を知っている。
  • ストレージノード間でストレージボリュームを移行する。
  • 一貫性グループ(consistency group)機能を設定する。
  • 利用可能なブロックストレージのAPIサービス数を調整する。
重要なファイル、用語、ユーティリティ
  • openstack backup
  • openstack snapshot
  • openstack volume
  • cinder
  • openstack server (storage固有の側面)
  • nova (storage固有の側面)
  • /etc/cinder/cinder.conf

252.4 オブジェクトストレージ (Swift)【重要度:★★★★★ 5】

受験者はオブジェクトの保存と管理のためにSwiftを使用できること。さらに、Swiftの基本的な運用管理を遂行できること。

主要な知識範囲
オペレータの側面
  • swiftのオブジェクトストレージ、オブジェクトネーミング、オブジェクトオペレーション、オブジェクトアクセスを理解している。
  • アップロードとダウンロード、および swift でのオブジェクトの管理。
アドミニストレータの側面
  • swift (swift-proxy-server, swift-account-server, swift-container-server, swift-object-servers, housekeeping processes)のコンポーネントを理解している。
  • リング、マッピング、ゾーン、パーティションを理解している。
  • アカウントとコンテナを理解している。
  • リングビルダーファイル作成し、管理する。
  • ストレージサーバーの追加と削除、リングの再バランスをする。
重要なファイル、用語、ユーティリティ
  • openstack container
  • openstack object
  • swift
  • swift-account-reaper
  • swift-ring-builder
  • /etc/swift/account-server.conf
  • /etc/swift/container-server.conf
  • /etc/swift/object-server.conf
  • /etc/swift/proxy-server.conf
  • /etc/swift/swift.conf

253:ネットワーキングとコンピューティング

253.1 ネットワーキングサービス (Neutron)【重要度:★★★★★★ 6】

受験者はOpenStackのネットワーキングアーキテクチャとNeutronを熟知していること。インスタンスと外部ネットワークが相互通信するようにネットワークの作成や管理ができること。Fixed IP とFloating IPのアドレスの割り当てやDHCP、メータリング、セキュリティ、ロードバランスの設定を含む。さらに、Neutronの基本的な運用管理ができること

主要な知識範囲
オペレータの側面
  • 一般的なOpenStackのネットワークアーキテクチャを理解し、またコンピュートインスタンスの接続について理解している。
  • ユーザネットワーク、サブネット、ルーター、ポートを作成し、管理する。
  • Floating IPアドレスおよびFixed IPアドレスを理解しており、コンピュートインスタンスにIPアドレスを割り当てる。
  • ネットワーク設定をコンピュートインスタンスに渡すためにDHCPを使用する。
  • セキュリティグループを設定し、管理する。
  • Firewall-as-a-Service(FWaaS)およびLoad-Balancing-as-a-Service(LBaaS)を設定し、管理する。
アドミニストレータの側面
  • neutron (neutron-server)のアーキテクチャとコンポーネントおよびneutronの重要なプラグインとエージェント(neutron-dhcp-agent, neutron-l3-agent, neutron-metering-agent)を理解している。
  • プロバイダネットワークを作成し、管理する。
  • Floating IPアドレスを管理する。
  • テナントとIPアドレス固有のポート情報を問い合わせる。
  • L3メータリングを設定する。
  • FWaaS と LBaaS を有効にする。
  • Open vSwitch 主機能および Open vSwitch とNeutronの統合を理解している。
  • OpenDaylightを知っている。
重要なファイル、用語、ユーティリティ
  • openstack network
  • openstack ip
  • openstack security group
  • neutron
  • neutron-openvswitch-agent
  • neutron-ovs-cleanup
  • /etc/neutron/neutron.conf
  • /etc/neutron/dhcp_agent.ini
  • /etc/neutron/metering_agent.ini
  • /etc/neutron/l3_agent.ini

253.2 コンピュートサービス (Nova)【重要度:★★★★★★ 6】

受験者はNovaコンピュートインスタンスのライフサイクルを完全に管理できること。実行中のコンピュートインスタンスのフレーバー、分割、アクセスを含む。さらに、コンピュートの修復や移行、Novaの基本的な運用管理ができること。

主要な知識範囲
オペレータの側面
  • コンピュートインスタンス、セル、アベイラビリティゾーン、セキュリティゾーンおよびエフェメラルストレージと永続ストレージの概念を理解している。
  • インスタンスのフレーバー、インスタンスのイメージおよびアベイラビリティゾーンのためnovaに問い合わせる。
  • セキュリティグループを設定し、管理する。
  • SSH鍵を作成し、novaに追加する。
  • 新規コンピュートインスタンスを作成し、起動する。また、実行中のインスタンスの情報を収集する。
  • SSH、VNC、SPICEを使用して実行中のインスタンスにアクセスする。
  • 破損したインスタンスを修理したり、再構築する。
アドミニストレータの側面
  • nova (nova-api, nova-cert, nova-compute, nova-conductor, nova-scheduler, nova-api-metadata, nova-cells, nova-consoleauth, nova-novncproxy, nova-spicehtml5proxy, nova-xvpnvncproxy)のアーキテクチャと概念を理解している。
  • インスタンスのフレーバーを設定する。
  • ハイパーバイザーにKVMを使用し、KVM以外のハイパーバイザーを知っている。
  • コンピュートインスタンスのレスキューイメージを設定する。
  • エフェメラルストレージと永続ストレージおよびローカルストレージと共有ストレージの関係を理解している。
  • 共有ストレージの使用の有無にかかわらず、ライブマイグレーションを設定し、使用する。
  • コンピュートノードを退避し、故障したコンピュートノードからインスタンスを修復する。
重要なファイル、用語、ユーティリティ
  • openstack server
  • openstack flavor
  • openstack keypair
  • openstack compute
  • openstack console
  • openstack aggregate
  • openstack availability zone
  • openstack host
  • openstack security group
  • openstack hypervisor
  • nova-console
  • nova
  • /etc/nova/nova.conf

253.3 ベアメタルプロビジョニング (Ironic)【重要度:★★ 2】

受験者はIronicを利用してベアメタルノードの準備ができること。Ironicの構築を円滑にするNovaやNeutronの設定知識を含む。さらに、Ironicに必要なサポートしているネットワークサービスを理解していること。

主要な知識範囲
オペレータの側面
  • ベアメタルプロビジョニングの概念を理解している。
  • ベアメタルデプロイメント用のマシンイメージを準備し、そのイメージをGlanceへ追加する。
  • Flavorを選択し、ベアメタルノードのハードウェアを検査する。
  • ディスクを設定し、ベアメタルノードをブートする。
アドミニストレータの側面
  • Ironic (ironic-api, ironic-conductor, ironic-python-agent, ドライバー)のアーキテクチャと概念、およびその他のOpenStackのコンポーネント(Neutron、Nova、およびGlance)との連携について理解している。
  • Ironic (PXE, DHCP, NBP, TFTP および IPMI)をサポートするネットワークサービスを理解している。
  • Ironicドライバーの概念と一般的な設定を理解している。
  • PXEブートとIPMIをサポートするためのベアメタルノードを理解し、デプロイメントするベアメタルノードを準備する。
  • ベアメタルデプロイメントをサポートするためのNovaとNeutronを設定する。
  • UEFIおよびローカルブートプロパティを含む、ハードウェアノード用のFlavorを作成する。
重要なファイル、用語、ユーティリティ
  • ironic
  • ironic-python-agent
  • /etc/ironic/ironic.conf