出題範囲
想定受験者(MQC(Minimally Qualified Candidate)
本試験に合格するために最低限保有すべきスキルレベルを持つ想定受験者のことを MQC (Minimally Qualified Candidate) と呼びます。
本試験は、以下の OpenStack を使用するオペレータの業務とアドミニストレータの業務の両方を網羅する出題範囲となっており、本試験に合格するためには、最低限下記のスキルレベルを保有していることが必要です。
OpenStack オペレータ
本資格に認定されるオペレータレベルのエンジニアは、構築済の OpenStack 環境において、インスタンス、アプリケーションおよびサービスの各種設定をすることができる技術力を有します。また、エンドユーザが使用する全てのOpenStack のサービスと一般的な OpenStack のツールについての知識を有します。更に、本資格の認定エンジニアは以下のことを実行できます。
- 新規イメージの登録とカスタマイズ
- 追加のブロックおよびオブジェクトストレージの事前準備
OpenStack アドミニストレータ
本資格に認定されるアドミニストレータレベルのエンジニアは、OpenStack 環境の運用管理を行う能力、およびOpenStack のコアサービスを構築する技術力を有します。また、本資格の認定エンジニアは以下のことを実行できます。
- 認証管理
- ユーザ、プロジェクト(テナント)、その他のシステムリソースの管理
- ネットワークの構築
- 新規VMイメージの作成および使用
- 各種ストレージの設定
- ダッシュボードのカスタマイズ
試験開発協力者
OPCEL認定試験 Ver.3.0は、こちらの方々の協力により作成されました。
250:OpenStack のアーキテクチャとデプロイメント
250.1 クラウドコンピューティングの概念【重要度:3】
受験者はクラウドコンピューティングの仕組みや提供サービスの分類、環境による分類、それらの機能を含む、クラウドコンピューティングの概念を理解していること。
主要な知識範囲
オペレータとアドミニストレータの側面
- クラウドコンピューティングの提供サービスの各分類(IaaS, PaaS, SaaS)とその特性を理解している。
- 環境による分類(パブリック、プライベート、ハイブリッドクラウド)を理解している。
- クラウドコンピューティングの利用が適切かつ有利となるケースを判断できる。
- IaaSのサービスおよびIaaSとアプリケーションの組合せ方について理解している。
- スケーラビリティと高可用性の面を含む、IaaSとアプリケーションの関係を理解している。
- IaaS クラウドの非機能要件およびクラウドコンピューティングのSLA(サービス品質保証)締結の意義を理解している。
250.2 OpenStack のアーキテクチャと設計【重要度:7】
受験者はOpenStackのすべてのコアコンポーネントの機能と役割について詳細に理解していること。さらに、受験者はOpenStackのコンポーネントとサポートしているサービスの統合について理解していること。また、受験者はOpenStackの追加サービスの機能とOpenStackが既存のアプリケーションをどのようにサポートできるかについて理解していること。
主要な知識範囲
オペレータの側面
- ユーザ固有のタスクやアプリケーションにおけるOpenStackの機能や使い方など、エンドユーザーが利用できるOpenStackのサービスを理解している。
アドミニストレータの側面
- OpenStackクラウドのコアコンポーネント(Keystone, Nova, Glance, Neutron, Horizon, Cinder)のアーキテクチャはもとより機能や統合についても理解している。
- OpenStackクラウドの各コンポーネント(Heat, Ceilometer, Swift, Ironic, Designate, Manila, Barbican, Magnum, aodh, Cyborg, Kolla)の機能について知っている。
- OpenStackクラウドがサポートするサービス(データベース、メッセージキューはもとより共有ストレージ、ネットワークファイルシステム、および仮想化)の役割を理解している。
250.3 OpenStack のインストレーションとデプロイメント【重要度:4】
受験者はOpenStackの構築に必要な手順およびツールを理解していること。OpenStackのコンポーネントの手動インストレーションおよび、テスト環境で使用するインストレーションツールも含む。
主要な知識範囲
オペレータの側面
- OpenStackのクライアントアプリケーションをインストールする。
アドミニストレータの側面
- OpenStackを手動でインストールすることの利点と欠点を理解している。
- OpenStackの手動デプロイの一般的な手順を知っている。
- 開発用およびテスト用のOpenStackクラウドをデプロイする。
重要なファイル、用語、ユーティリティ
- pip コマンド
- pip3 コマンド
- cinder-manage コマンド
- glance-manage コマンド
- keystone-manage コマンド
- neutron-db-manage コマンド
- nova-manage コマンド
251:管理・共有サービス
251.1 アイデンティティサービス、認証と認可(Keystone)【重要度:6】
受験者はOpenStackのアイデンティティ、認証およびシステム権限について熟知していること。OpenStackの他のサービスに関連するOpenStackのアイデンティティ使用方法、Keystoneの管理と維持および権限、証明書、ポリシーおよびサービスカタログを含む。
主要な知識範囲
オペレータの側面
- ドメイン、プロジェクト(テナント)、ユーザ、ロール、トークン、パーミッション、証明書および認証を理解している。
- 既存のドメイン内でプロジェクト(テナント)およびユーザを作成、管理する。
- コマンドラインのツールおよびHorizonを使用してOpenStackに認証する。
- サービスカタログを問い合わせる。
アドミニストレータの側面
- keystoneのアーキテクチャとコンポーネントを理解している。
- ドメイン、プロジェクト(テナント)、ユーザ、ロール、トークン、パーミッション、証明書および認証を管理する。
- サービスやエンドポイントなど、サービスカタログを管理する。
- リージョンについて理解している。
- プロジェクト(テナント)のクオータを管理する。
- ロールを管理し、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, policy.yaml ファイル (Wallaby から yaml が default になります。)
251.2 ダッシュボード(Horizon)とRESTful API【重要度:3】
受験者は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 コマンド
- openstack token コマンド
251.3 オーケストレーション (Heat)【重要度:3】
受験者はHeatやHOTテンプレートを使用して基本的なOpenStackのアプリケーションを作成できること。HOTテンプレートの作成、AWS CloudFormationテンプレートの知識も含む。
主要な知識範囲
オペレータの側面
- クラウド間の移行や構築・管理といった一連の操作が実現できることを理解している。
- ネットワークの設定を含む、オートスケールの実装のための単純な Heat Orchestration Templates (HOT) を作成する。
- AWS CloudFormation (CFN) テンプレートを知っている。
- オーケストレーションユーザの認証にtrustを使用する
アドミニストレータの側面
- heat (heat-api, heat-api-cfn, heat-engine)のアーキテクチャとコンポーネントを理解している。
重要なファイル、用語、ユーティリティ
- openstack stack コマンド
- heat-manage コマンド
- heat-keystone-setup コマンド
- heat-keystone-setup-domain コマンド
- /etc/heat/heat.conf ファイル
251.4 イメージサービス (Glance)【重要度:8】
受験者は利用可能なイメージをGlanceに問い合わせ、そのイメージを使用してコンピュートインスタンスを起動することができること。さらに、Glanceの基本的な運用管理を遂行できること。既存の仮想マシンイメージを操作できること。
新規イメージの作成、イメージのカスタマイズ、OpenStack のコンピュートインスタンスで使用するイメージの準備を含む。
主要な知識範囲
オペレータの側面
- コンピュートインスタンスのデプロイメントのためのマシンイメージの役割を理解している。
- 新規イメージのアップロードと登録およびイメージメタデータを管理する。
- 新規コンピュートインスタンスの作成と起動のためにマシンイメージを使用する。
- 既存のマシンイメージに追加のソフトウェアや設定変更を取り込む。
- ディスクイメージと格納形式を理解し、一方から他方にフォーマットを変換する。
アドミニストレータの側面
- glance (glance-api, glance-registry, glance storage adapter)のアーキテクチャとコンポーネントを理解している。
- glance用のローカルストレージを設定し、使用する。また、ローカルファイルシステム以外のストレージバックエンドを知っている。
- マシンイメージキャッシュを管理する。
- スクラッチから、および実行中のインスタンスのスナップショットから新規イメージを作成する。
- 既存のイメージのすべての要素を修正する。
- ファイル注入を実行する。
- イメージをシールする(イメージでの利用に適さない情報を除去する)。
重要なファイル、用語、ユーティリティ
- openstack image コマンド
- openstack server コマンド(イメージ固有の側面)
- glance-cache-* コマンド
- glance-scrubber ユーティリティ
- /etc/glance/*.conf ファイル
- /etc/glance/schema-image.json ファイル
- /var/lib/glance/ ディレクトリ
- /etc/cloud/cloud.cfg ファイル
- cloud-init コマンド
- qemu-img コマンド
- virt-sysprep コマンド
254:インフラサービス
254.1 ネットワーキングサービス (Neutron)【重要度:9】
受験者はOpenStackのネットワーキングアーキテクチャとNeutronを熟知していること。インスタンスと外部ネットワークが相互通信するようにネットワークの作成や管理ができること。Fixed IPとFloating IPのアドレスの割り当てやDHCP、メータリング、セキュリティ、ロードバランスの設定を含む。さらに、Neutronの基本的な運用管理ができること。
主要な知識範囲
オペレータの側面
- 一般的なOpenStackのネットワークアーキテクチャを理解し、またコンピュートインスタンスの接続について理解している。
- ユーザネットワーク、サブネット、ルーター、ポートを作成し、管理する。
- Floating IPアドレスおよびFixed IPアドレスを理解しており、コンピュートインスタンスにIPアドレスを割り当てる。
- ネットワーク設定をコンピュートインスタンスに渡すためにDHCPを使用する。
- セキュリティグループを設定し、管理する。
- Firewall-as-a-Service(FWaaS)およびOctavia (LBaaS)を設定し、管理する。
アドミニストレータの側面
- Neutron (neutron-server)のアーキテクチャとコンポーネントおよびneutronの重要なプラグインとエー
ジェント(neutron-dhcp-agent, neutron-l3-agent, neutron-metering-agent, neutron-metadata-agent)
を理解している。
- プロバイダネットワークを作成し、管理する。
- Floating IPアドレスを管理する。
- プロジェクト(テナント)とIPアドレス固有のポート情報を問い合わせる。
- L3メータリングを設定する。
- FWaaS と Octavia (LBaaS) を有効にする。
- Open vSwitch 主機能および Open vSwitch を使った高可用構成を理解している。
- OVN主機能および、Open vSwitchとの違いを理解している。
重要なファイル、用語、ユーティリティ
- openstack network コマンド
- openstack security group コマンド
- openstack floating ip コマンド
- openstack port コマンド
- openstack router コマンド
- openstack subnet コマンド
- neutron-openvswitch-agent サービス
- neutron-ovs-cleanup サービス
- /etc/neutron/neutron.conf ファイル
- /etc/neutron/dhcp_agent.ini ファイル
- /etc/neutron/metering_agent.ini ファイル
- /etc/neutron/metadata_agent.ini ファイル
- /etc/neutron/l3_agent.ini ファイル
- br-int, br-tun, br-* ブリッジ
254.2 コンピュートサービス (Nova)【重要度:9】
受験者は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) および Placement のアーキテクチャと概念を理解している。
- インスタンスのフレーバーを設定する。
- 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 デーモン
- /etc/nova/nova.conf ファイル
254.3 ブロックストレージ (Cinder)【重要度:6】
受験者はコンピュートインスタンスに永続ストレージを提供でき、コンピュートインスタンス内で使用することができること。さらに、Cinderの基本的な運用管理を遂行できること。
主要な知識範囲
オペレータの側面
- エフェメラルストレージと永続ストレージを含む、OpenStackのストレージを理解している。
- ブロックストレージのボリュームの新規作成と管理をし、それらをコンピュートインスタンスに取り付ける。
- コンピューティングインスタンス内のブロックストレージを使用するためのパーティション、LVMおよびファイルシステムを管理する。
- コンピューティングインスタンスのrootファイルシステムに永続ストレージを使用する。
- ブロックデバイスのスナップショットを作成し、管理する。
- ボリュームとメタデータをバックアップし、リストアする。メタデータをバックアップする。
- Generic Volume Groupを使用する。
アドミニストレータの側面
- Cinder (cinder-api, cinder-scheduler, cinder-volume, cinder-backup)のアーキテクチャとコンポーネントを理解している。
- ストレージのバックエンドとしてLVMを使用する。LVM以外のストレージバックエンド(NFS, iSCSI, Cephなど)を知っている。
- ストレージノード間でストレージボリュームを移行する。
- Generic Volume Group機能を設定する。
- 利用可能なブロックストレージのAPIサービス数を調整する。
重要なファイル、用語、ユーティリティ
- openstack backup コマンド
- openstack snapshot コマンド
- openstack volume コマンド
- openstack server コマンド(storage固有の側面)
- /etc/cinder/cinder.conf ファイル
254.4 オブジェクトストレージ (Swift)【重要度:2】
受験者はオブジェクトの保存と管理のためにSwiftを使用できること。
主要な知識範囲
オペレータの側面
- swiftのオブジェクトストレージ、オブジェクトネーミング、オブジェクトオペレーション、オブジェクトアクセスを理解している。
- アップロードとダウンロード、および swift でのオブジェクトの管理。
アドミニストレータの側面
- Swift (swift-proxy-server, swift-account-server, swift-container-server, swift-object-servers, housekeeping processes)のコンポーネントを理解している。
重要なファイル、用語、ユーティリティ
- openstack container コマンド
- openstack object コマンド
- /etc/swift/account-server.conf ファイル
- /etc/swift/container-server.conf ファイル
- /etc/swift/object-server.conf ファイル
- /etc/swift/proxy-server.conf ファイル
- /etc/swift/swift.conf ファイル