OPCEL認定試験<ver.2.0> 対策&受験記

# OPCEL認定試験 2.0 受けました

今更ですが、、受験しました。

OpenStack自体は、パブリッククラウドの人気により若干下火？感もありますが、
まだまだプライベートクラウド構築や運用の基盤としてはOSSで有力候補かなと思いますね。(プロプラだとVMwareの方が人気か？)

一応認定試験がありますが、、、Web上ではちょっと情報が少なく・・・
大抵資格試験ではお世話になっている~~クラムメ、、~~問題集がないので、自力で。
私自身が受験しましたので、どのような対策を行ったかを含め記録を残しておきます。
(OpenStackのコミュニティ運営等には関わっていない素人の記事ですので、誤った記載があればご指摘いただければと思います。）

試験の形式は85分60問、合格ライン60%です。
問題は選択式/記述式(単語回答)となります。

# 私が行った試験対策方法

私は会社で資格の研修を受けられたので、その知識をベースに試験対策として書籍を読んだり、Webサイトを参考にしました。
よく言われますが、基本は[公式サイトの例題](https://opcel.org/example)のようなレベルの問題が出ます。
私が受験した時は全く同じ問題は出ませんでした。残念。

読了書籍
・[OpenStack実践ガイド impress top gearシリーズ](https://www.amazon.co.jp/OpenStack%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-impress-top-gear%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%8F%A4%E8%B3%80%E6%94%BF%E7%B4%94-ebook/dp/B01K9EZCOK/ref=pd_sbs_351_2/357-9865585-8329801?_encoding=UTF8&pd_rd_i=B01K9EZCOK&pd_rd_r=9683cf89-60c8-4c2f-b866-82a3c70d9c72&pd_rd_w=GxpEC&pd_rd_wg=cSrEx&pf_rd_p=7642417c-6494-4d06-a2b0-fcb0e0b3c563&pf_rd_r=YZAS9GBR6BGEMXVB9N3Z&psc=1&refRID=YZAS9GBR6BGEMXVB9N3Z)
　→Mitaka版ですが、基本的なお勉強としては利用可能かと。
　　Packstack等のツールを使わずにインストールするには？やMySQL・RabbitMQがどこで必要とされる
　　のかと言ったことも総合的に理解ができます。

参考サイト
・[Qiitaの記事](https://qiita.com/gold-kou/items/74d6d2a4dc3eee236ebd)
・[OpenStack Installation Guide for Red Hat Enterprise Linux and CentOS(RDOのドキュメント)](https://docs.openstack.org/mitaka/ja/install-guide-rdo/)
・[server worldさん](https://www.server-world.info/query?os=CentOS_8&p=openstack_ussuri&f=1)
　→ 最新のUssuri&CentOS8での構築方法などがあります。スゴイ。
　　試験対策としては、過去分(～Queens)一通り読了をお勧め。
　　「他のOSの設定：CentOS7」→「クラウド基盤」と遷移するといろいろ見れます。

# OpenStackについて
　基本はAWSをOSSで実装することを目指していた（と聞いています）。
　当然、AWSと違いOSSコミュニティにて各コンポーネントを開発しているという点で、
　AWSのような豊富なサービス群とはなっていません。
　OpenStackの2020/7月現在のバージョンはUssuriとなりますが、各コンポーネントで今も利用が多いものは
　IaaS系のものがメインと思われます。
　とはいえ、IaaSの機能としては十分だと思いますし、現在様々なプライベートクラウドで使われていると思われます。

　2020年現在も、[Cloud Operator Days Tokyo](https://cloud.watch.impress.co.jp/docs/news/1263506.html)というイベントがあり
　(昨年まではOpenStack Days Tokyoだった)、OpenStackの運用に関するセッションが
　たくさん公開されました。
　

# OPCEL認定試験に向け覚えておいた方がいいこと

[公式サイト](https://opcel.org/examarea)に出題範囲があるので、そのまま参考にしましょう。
重要度って書いてあるのが**そのまま出題率の比率**です。
問題の傾向や私が重点的に理解を進めた点を記載します。

###250:OpenStack のアーキテクチャとデプロイメント
　ここで問われるのは、クラウドコンピューティングの概念とOpenStackの各コンポーネントの概要レベルの理解です。
  Packstackなどの構築ツールに対する理解も問われます。

####250.1 クラウドコンピューティングの概念【重要度：３】
　この表覚えましょう。

| 対象 | 説明 | 補足 |
|:--|:--|:--|
|クラウドコンピューティングの提供サービス分類|**IaaS(Infrastructure as a Service)**:従来のHWレベルでのクラウド提供(SV,NW,ST)
||**PaaS(Platform as a Service)**:OS+MWやランタイムも含めた提供方式|コンテナは大体PaaSと表現される
||**SaaS(Software as a Service)**:環境は完全に隠蔽され、ソフトウェア機能のみを提供する形式|gmailやdropboxなどが有名。
|クラウド環境の分類|**パブリッククラウド**：クラウドベンダ(Amazon,Google,Microsoftなど)によってWeb上で公開されているクラウド環境
||**プライベートクラウド**：自社内にOpenStackなどの仕組みを構築し、リソースを自社活用するクラウド環境。
||**ハイブリッドクラウド**：上記パブリッククラウドとプライベートクラウドを組み合わせたシステム構成のこと。
|クラウドとオンプレの利用シーン・使い分け|**クラウド**：リードタイムなしで環境を払い出しが可能であり、費用も使っただけの請求となるため、コストメリット及びリードタイムの短縮が図れる。
||**オンプレ**：シビアな性能要件が要求される際などは、オンプレに軍配が上がるケースがある。また、NW的に外部と接続ができないようなセキュリティ要件があるケースではオンプレの環境が要求されるケースがある。
|クラウドコンピューティングのSLA(サービス品質保証)|①障害件数の上限、②データ転送速度の下限、③システム監視間隔の上限値、④停止時間の上限値が一般的に定義されることがある|④でAWS EC2では月間稼動率が 99.99%となる。その他の指標は・・・ 


####250.2 OpenStack のアーキテクチャと設計【重要度：７】
　この表覚えましょう。

| 対象 | 説明 | 補足 |
|:--|:----|:--|
|OpenStackクラウドのコアコンポーネントについて|**Keystone**：アイデンティティサービス。|別途詳細あり。
||**Nova**：コンピュートサービス。|別途詳細あり。
||**Glance**：イメージサービス。|別途詳細あり。
||**Neutron**：ネットワークサービス。|別途詳細あり。
||**Horizon**：ダッシュボードサービス。|別途詳細あり。
||**Cinder**：ブロックストレージサービス。|別途詳細あり。
|OpenStackクラウドの各コンポーネントについて|**Heat**：オーケストレーションサービス
||**Ceilometer**：テレメトリー（収集）サービス
||**Swift**：オブジェクトストレージサービス|別途詳細あり。
||**Ironic**：ベアメタルプロビジョニングサービス
||**Designate**：DNSサービス。
||**Manila**：共有ファイルサービス。NASサービスを提供するコンポーネント。
||**Barbican**：キーマネージサービス。パスワード、暗号鍵、証明書といったセキュリティ情報を安全に発行・管理する機能を提供するコンポーネント。
||**Magnum**：コンテナ管理サービス。Kubernetes, Docker Swarmなどのコンテナ管理基盤を OpenStackのリソースとして提供するサービス。コンテナそのものをデプロイするわけではない。
||**aodh**：テレメトリーアラーミングサービス|ceilometerと連携する。


####250.3 OpenStack のインストレーションとデプロイメント【重要度：５】
　この表覚えましょう。

| 対象 | 説明 | 補足 |
|:--|:----|:--|
|OpenStackの手動デプロイ
||cinder-manage
||glance-manage
||keystone-manage
||neutron-db-manage
||nova-manage
|OpenStackのツールでのデプロイ|**packstack**:コンポーネントごとに導入・設定用のマニフェストを用意しておき、別途用意した「Answerファイル」に基づいて、指定のサーバに指定のマニフェストを適用するOpenStackの構築ツール。|実行オプションはこちら。「--gen-answer-file:アンサーファイル作成」「--answer-file:アンサーファイルに基づきデプロイ」「--allinone:オールインワン構成でデプロイ」
||**Ansible**：OpenStackモジュールあり。基盤（OpenStack自体）のデプロイよりは、OpenStackの自動操作用か？
||**MAAS＋Juju**：OpenStackのプロビジョニングが可能。Ubuntuディストリビューションが対象。jujuはansibleと同じく構成管理ツール。
||**Conjure-up**:jujuの自動構成ツールらしい？
||**pip**：pip パッケージ。Pythonパッケージなどをインストールする際に利用。
|OpenStackの商用ディストリビューション|**Red Hat OpenStack Platform**：Red Hat社による商用ディストリビューション。
||**Ubuntu OpenStack**：Cacnonical社による商用ディストリビューション。
||**SUSE OpenStack Cloud**：Susu社による商用ディストリビューション。
||**Rackspace Private Cloud**：Rackspace社によるクラウドサービス（プライベートクラウド）。
||**Mirantis Cloud Platform**:ミランティス社による商用ディストリビューション。


###251:管理・共有サービス
ココは完全に各コンポーネントの理解を問う所ですね。

####251.1 アイデンティティサービス、認証と認可(Keystone)【重要度：６】
　この表覚えましょう。

★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------:|
|-|keystone.conf|Keystoneの設定ファイル。
|httpd|-|apacheなどのwebサーバが利用されるので、一応書いておく。
|-| logging.conf|ログレベル変更用ファイル（他のサービスは基本的に<サービス名>.confでの変更。keystoneとhorizonのみ例外）


★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
|openstack project create/delete/show/set \<name>|プロジェクトの作成削除参照更新。|≒keystone **tenant**-create/delete/**get**/**update** \<tenant_name>
|openstack project list|プロジェクトの一覧表示。|≒keystone **tenant**-list
|openstack user create/delete/show/set \<name>|ユーザの作成参照更新削除。|≒keystone user-create/**get**/**update**/delete \<user_name>
|openstack user set --password \<password> \<user_name>|ユーザのPW変更。|≒keystone user-**password**-update --pass \<password> \<user_name>
|openstack user list|ユーザの一覧表示。|≒keystone user-list
|openstack role create/show/set/delete \<name>|ロールの作成参照更新削除。|≒keystone role-create/**get**/**update**/delete \<role_name>
|openstack role list|ロールの一覧表示。
| **openstack role add --user \<user_name> \<role_name>**| **権限紐付けはこのコマンドで実施する。** |≒keystone user-role-add --user \<user_name> \<role_name>
| **openstack role assignment list** | **権限紐付けの参照。**
|openstack domain create/show/set/delete \<name> |ドメインの作成etc..|
|openstack catalog list/show | 利用可能なOpenStackコンポーネントの表示・詳細表示。
|openstack endpoint 色々|OpenStackのエンドポイントの作成・表示などが可能。
|openstack service create/delete/show \<name>| OpenStackのコンポーネントの作成が可能。
|openstack quota list/set/show | 各テナント毎のクオータの設定・表示が可能(コンピュート/ネットワーク／ストレージ)。
|openstack limits|リミット値を表示可能。
|openstack usage list/show| 簡単なテナントの統計を表示。

★その他覚えておくことリスト

| 対象 | 説明 | 補足 |
|:--|:--|:-:|
|マルチリージョン化|AZを分けるためには、keystoneだけは複数のDCを跨ってクラスタ化（DB上）しておく必要あり。|[参考](https://www.school.ctc-g.co.jp/columns/nakai/nakai52.html)
|curlによるサービスカタログ確認|keystoneでの認証後、OpenStack環境で利用可能なエンドポイントの一覧を参照できる。|どちらかというと、251.2の内容か。


####251.2 ダッシュボード(Horizon)とRESTful API【重要度：３】
  Dashboard (horizon) は、クラウド管理者やユーザーがさまざまな OpenStack のリソースとサービスを管理できるようになるウェブインターフェースです。
　また、RESTful APIについてはHorizon限定というわけではないですが、Curlにて各種CLI操作と同等のコマンドが発行できるよ！と覚えておきましょう。（初回リクエストに必要なToken取得は特に高頻度で質問が出ます）

　この表覚えましょう。

★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------:|
|-|local_settings.py|Dashboardをカスタマイズ（見た目の変更やhttps化など。）可能なファイル。変更後、webサーバの再起動が必要。**ログレベルの変更も可能**。

★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
|curl|ご存知CLIでのhttpリクエスト確認コマンド。トークンの取得及び各種操作に利用可能。
|openstack token issue| tokenを取得するコマンド。|≒curlコマンドによるリクエスト。



★その他覚えておくことリスト

| 対象 | 説明 | 補足 |
|:--|:--|:-:|
|ダッシュボードでの VNC クライアント操作について|ブラウザーが HTML5 Canvas と HTML5 WebSockets をサポートしている必要があり。|novncにて接続する。
|HTTPでのヘッダー|①リクエスト時にTokenが返却されるヘッダーは、**"X-Subject-Token"**。②取得したTokenを利用してAPI発行する際に、Tokenを埋め込むヘッダーは、**"X-Auth-Token"**。




####251.3 モニタリング(Ceilometer)【重要度：２】
　この表覚えましょう。

★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------|
|ceilometer-agent-compute| ceilometer.conf |各コンピュートノードで実行され、リソース使用統計をポーリングします。将来的には他の種類のエージェントも作成されるかもしれませんが、現時点ではコンピュートエージェントに注力しています。
|ceilometer-agent-central||インスタンスやコンピュートノードに関連付いていないリソースの使用統計をポーリングします。
|ceilometer-agent-notification||メッセージキューからメッセージを読みだして、イベントや計測データを作成します。
|ceilometer-polling||ポーリングプラグイン(pollsters)により計測されたデータを統合的に取得。

★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
| openstack metric resource list| ceilometerで確認可能なリソースを一覧表示する。|≒ceilometer meter-list
| openstack metric resource show \<id>|リソース詳細を確認する。|旧コマンドは不明。statisticsかsample-listか。
| openstack metric measure show \<id>|データを表示する。|旧コマンドは不明。statisticsかsample-listか。



####251.4 オーケストレーション (Heat)【重要度：３】
　この表覚えましょう。

★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:-----------------|
|heat-api|heat.conf|OpenStack 独自の REST API を提供します。 受け取った API リクエストを、 リモートプロシージャコール (RPC) 経由で heat-engine に送信します。
|heat-api-cfn||AWS CloudFormation 互換の AWS Query API を提供します。受け取った API リスクエストを RPC 経由で heat-engine に送信します。
|heat-engine||テンプレートの起動全体を指揮し、API 利用者に返すイベントを生成します。

★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
| openstack stack create -t \<template> \<name>| スタック（テンプレートで作成された環境）を作成する。|≒heat stack-create **-f** \<template> \<name>
|openstack stack list|スタックを一覧表示する。|≒heat stack-list
| openstack stack delete \<name>| スタック（テンプレートで作成された環境）を削除する。|≒heat stack-delete \<name>

★その他覚えておくことリスト

| 対象 | 説明 | 補足 |
|:--|:--|:--|
|heat-manage|コマンド。DB操作の支援ツール的な位置づけ。|
|heat-keystone-setup|Heat 設定スクリプト。現在は利用非推奨の様子。|
|heat-keystone-setup-domain|Heatドメイン作成スクリプト？|
|HOT(HOT：Heat Orchestration Template)|仮想サーバーや仮想ネットワークなど構築したいリソースを定義するYAMLファイル。パラメータは以下。**heat_template_version(バージョン)、description(説明)、parameter_groups(オプション)、parameters(インプットパラメータ)、resources(デプロイリソース)、outputs(アウトプットパラメータ)、conditions(条件・状態を定義？)**

####251.5 イメージサービス (Glance)【重要度：９】
　この表覚えましょう。

★重要プロセス／設定ファイルについて　

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------|
|glance-api|glance-api.conf|Glanceのメインプロセス。イメージの保存先は設定変更が可能(CephやSwift、S3など)。filesystem_store_datadirで格納先を設定。
|glance-registry|glance-registry.conf|メタデータの読み書きを担うプロセス。
|glance storage adapter||
|-|glance-cache.conf|起動に使用したイメージのキャッシュ化に関する設定ファイル。filesystem_store_datadirでキャッシュの格納先を設定。
|-|policy.json|各コンポーネント毎に存在し、ユーザからの操作に必要な権限を設定するファイル。

★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
| openstack image list|イメージの一覧表示|≒glance image-list|
| openstack image show \<image>|イメージの詳細表示|≒glance image-show \<id>|
| openstack image set/delete/save \<image>|イメージの操作コマンド
| openstack server image create \<server> | スナップショット取得コマンド |
| glance-cache-cleaner|キャッシュクリーナー|[参照](https://docs.openstack.org/glance/latest/cli/glancecachecleaner.html)
| glance-cache-manage|キャッシュの参照・削除用コマンド|[参照](https://docs.openstack.org/glance/latest/cli/glancecachemanage.html)
| glance-cache-prefetcher|CLIでキャッシュ乗せるためのコマンド？|[参照](https://docs.openstack.org/glance/latest/cli/glancecacheprefetcher.html)
| glance-cache-pruner|image_cache_max_sizeを超えた場合にキャッシュの一部をクリアする|[参照](https://docs.openstack.org/glance/latest/cli/glancecachepruner.html)
| glance-scrubber|削除済みのイメージをクリアする|[参照](https://docs.openstack.org/glance/latest/cli/glancescrubber.html)


★その他覚えておくことリスト


| 対象 | 説明 | 補足 |
|:--|:--|:--|
| /etc/glance/schema-image.json|   |   |
| guestfish    | guestfish プログラムは、仮想マシンイメージ内のファイルを編集できる、 libguestfs プロジェクトのツールです。 |[参照](https://docs.openstack.org/ja/image-guide/modify-images.html)
|guestmount, guestumount|イメージのファイルシステムを直接マウントするコマンド。libguestfs プロジェクトのツール。|[参照](https://docs.openstack.org/ja/image-guide/modify-images.html#guestmount)
|libguestfs tools (virt-*)|イメージを操作するコマンド。(例：edit/df/resize/sysprepなど)|[参照](https://docs.openstack.org/ja/image-guide/modify-images.html#virt-tools)
|cloud-init|インスタンスの初期設定を行うためのデファクトパッケージ|[参照](https://docs.openstack.org/ja/image-guide/openstack-images.html)
|disk-image-create|Diskimage-builder は、さまざまなディストリビューションとアーキテクチャをサポートする自動ディスクイメージ作成ツールです。|[参照](https://docs.openstack.org/ja/image-guide/create-images-automatically.html)


###254:インフラサービス
ココも完全に各コンポーネントの理解を問う所ですね。

####254.1 ネットワーキングサービス (Neutron)【重要度：７】
　この表覚えましょう。



★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------|
|neutron-server|neutron.conf|neutron-server は、OpenStack Networking API からのユーザー・リクエストを構成済みのプラグインに中継する Python デーモンです。**コントローラノードに配置される。**（他のコンポーネントは基本的にネットワークノード。**l2系はコンピュートノードにも。**）|
|neutron-dhcp-agent|dhcp_agent.ini|すべてのテナント・ネットワークに DHCP (Dynamic Host Configuration Protocol) サービスを提供します。|
|neutron-l3-agent|l3_agent.ini| L3 でのフォワーディングや NAT (ネットワーク・アドレス変換) によるフォワーディングを行うことで、テナント・ネットワーク上の VM が外部ネットワークへアクセスできるようにします。|
|neutron-metadata-agent|metadata_agent.ini| インスタンスにメタデータサービスを提供する OpenStack Networking エージェント。
|neutron-linuxbridge-agent/neutron-openvswitch-agent| ml2_conf.ini/linuxbridge_agent.ini |いわゆるl2エージェントだが、OpenStackでは複数のバリエーションから選択して構築できる。
|-|policy.json|各コンポーネント毎に存在し、ユーザからの操作に必要な権限を設定するファイル。


★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
| openstack network agent list|サービスの一覧表示|≒neutron agent-list
| openstack network create/delete|仮想ネットワーク作成・削除|≒ neutron **net**-create/net-delete
| openstack network list|ネットワークの一覧表示|≒neutron **net**-list
| openstack subnet list|サブネットの一覧表示|≒neutron subnet-list
|openstack subnet create/show/set/delete　\<name> |サブネットの作成・参照・更新・削除| ≒neutron submnet-create/show/**update**/delete
|openstack router create/show/set/delete　\<name> |仮想ルータの作成・参照・更新・削除| ≒neutron router-create/show/**update**/delete
|openstack router add subnet \<router_name> \<subnet_name>|仮想ルータをサブネットへ接続|≒neutron **router-interface-add** \<router_name> \<subnet_name>
|openstack router remove subnet \<router_name> \<subnet_name>|仮想ルータをサブネットへから切断|≒neutron **router-interface-delete** \<router_name> \<subnet_name>
|openstack ip
|openstack security group
|neutron-openvswitch-agent
|neutron-ovs-cleanup

★その他覚えておくことリスト
NWの基礎的な知識を学習しておくと良いと思います。
L2エージェント（linuxbridge/openvswich)やL3エージェントなど。



####254.2 コンピュートサービス (Nova)【重要度：７】
　この表覚えましょう。


★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------|
|nova-api|nova.conf|APIリクエストを受け付けるためのコンポーネント。
|nova-cert|-|
|nova-compute|nova-compute.conf| **コンピュートノードへ配置される**。ノード上のインスタンスの管理を担う。
|nova-conductor|-|novaに関する連係動作やデータベースクエリを提供する
|nova-scheduler|-|インスタンスを起動するコンピュートノードを決定する。
|nova-api-metadata|-|
|nova-cells|-|
|nova-consoleauth|-|novaコンソールに関する認証機能の提供。
|nova-novncproxy|-|Websocketを使用してブラウザでのVNC機能を提供する
|nova-spicehtml5proxy|-|
|nova-xvpnvncproxy|-|
|-|policy.json|各コンポーネント毎に存在し、ユーザからの操作に必要な権限を設定するファイル。


★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
| openstack compute service list|サービスの一覧表示||
|openstack flavor
| openstack security group create \<name> |
|openstack security group rule create \<name>
|openstack security group rule list |
|openstack keypair create \<name> |
|openstack server list|インスタンスの一覧表示||
| openstack server show \<name>|インスタンスの詳細表示||
| openstack server create|インスタンス作成
| openstack server start/stop | インスタンス起動/停止 |
| openstack server start/stop | インスタンス起動/停止 |
|openstack server add floating ip \<instance_name> \<ip>| フローティングIPを**インスタンスに**付与する。|≒nova **floating-ip-associate** \<instance_name> \<ip>
|openstack server remove floating ip \<instance_name> \<ip>| フローティングIPを**インスタンスから**解除する。|≒nova **floating-ip-disassociate** \<instance_name> \<ip>
|openstack floating ip set --port \<port> \<floating-ip>| フローティングIPを**ポートに**付与する。|≒nova **floating-ip-associate** --port \<port> \<floating_ip>
|openstack floating ip unset \<floating_ip>| フローティングIPを**ポートから**解除する。|≒nova **floating-ip-disassociate** \<floating_ip>
| openstack server add security group \<instance_name> \<security_group>|セキュリティグループをインスタンスに付与する。|≒nova **add-secgroup** \<instance_name> \<security_group> 
|openstack console url show \<name>|VNC コンソールを取得して Web ブラウザでのアクセスを可能とする(タイプも表示される)
|openstack compute service list| Novaのサービス一覧を表示させる。
|openstack aggregate |ホストのグループ化コマンド？
|openstack availability zone list|AZの確認が可能なコマンド。
|openstack host list/set/show| novaの各サービスがどのノードで動作しているか、リソース状況はどれくらいか、などを確認可能。また、メンテナンス変更等も可能。
|openstack hypervisor list/show/stats show|コンピュートノードのハイパーバイザの情報、統計等を確認できる。



★その他覚えておくことリスト

| 対象 | 説明 | 補足 |
|:--|:--|:--|
| 利用可能なHV| KVM,Xen,ESXi,Hyper-Vなど | [参照](https://docs.openstack.org/ja/security-guide/compute/hypervisor-selection.html)  |
| スケジューリングドライバの種類  | MultiScheduer,SimpleScheduler,ChanceScheduler,FilterScheduler|[参照](https://openstack.jp/wp-content/archives/assets/files/20120804/OSC2012-Kyoto-saito.pdf)|

####254.3 ブロックストレージ (Cinder)【重要度：６】
　この表覚えましょう。

★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------|
|cinder-api|cinder.conf|Cinderのコアコンポーネント|
|cinder-scheduler||ボリュームを作成するのに適切なストレージノードを選択します。 nova-scheduler と同様のコンポーネントです。
|cinder-volume||cinder-scheduler などの サービスやプロセスと直接やり取りを行います。また、メッセージキュー経由でもこれらのプロセスと連携します。 Block Storage サービスへ送られた読み出し、書き込みリクエストに応答し、状態を管理します。利用可能なストレージはLVM、ＮＦＳ、GlusterFS、Ceph、Object Storage (Swift) など。
|cinder-backup||あらゆる種類のボリュームのバックアップをバックアップストレージプロバイダーに提供します。 利用可能なストレージはLVM、ＮＦＳなど。



★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
|openstack backup create/show/delete \<name>|バックアップを作成・参照・削除する。|≒cinder backup-create/show/delete
|openstack backup restore \<backup_id> \<volume_name>| バックアップからリストアする|≒cinder backup-restore \<backup_id>
|openstack snapshot
|openstack volume type create \<name> | volume typeを作成する 
|openstack volume create \<name> | volumeを作成する
|openstack volume list | volumeを一覧表示する
|openstack volume backup create \<バックアップ対象volume_name>|ボリュームのバックアップを作成する
|openstack volume backup list |作成したバックアップのリストを確認する
| openstack server add volume \<instance_name>  \<name>|インスタンスへブロックストレージを接続する
|openstack server remove volume \<instance_name>  \<name>|インスタンスからブロックストレージを接続解除する
|nova (storage固有の側面)


★その他覚えておくことリスト

| 対象 | 説明 | 補足 |
|:--|:--|:--|
|バックエンドをNFSにした場合のマウントポイント|/var/lib/nova/mnt|コンピュートノード側。例題より。


####254.4 オブジェクトストレージ (Swift)【重要度：２】
　オブジェクトストレージは冗長化された分散ストレージです。
　APIでのみ操作可能で、リアルタイムなデータ操作処理には向きませんが、
　動的にノード追加が可能だったり、大規模な非構造データを低コストで管理できると言われています。

　この表覚えましょう。

★重要プロセス／設定ファイルについて

|  プロセス名   |   設定ファイル  |   説明    |
|:-----------------|------------------|:------------------|
|swift-proxy-server|proxy-server.conf|HTTP リクエストを受け付け、ファイルのアップロード、メタデータの変更、コンテナーの作成などを行います。ウェブブラウザーに対するファイルやコンテナーの一覧表示も行えます。性能を向上させるために、プロキシーサーバーがキャッシュを使うこともできます。
|swift-account-server|account-server.conf|Object Storage で定義されるアカウントを管理します。
|swift-container-server| container-server.conf|Object Storage 内でコンテナーやフォルダーの対応付けを管理します。
|swift-object-servers|object-server.conf|ストレージノードにおいて、ファイルなどの実際のオブジェクトを管理します。
|housekeeping processes|



★重要コマンドについて

| コマンド | 説明 | 補足 |
|:--|:--|:--|
| swift stat|ステータスの確認
|openstack container create/delete \<container_name>|コンテナを作成/削除する
| openstack container list|
| openstack object create \<container_name> \<file>|fileのアップロードを実施する
| openstack object list  \<container_name> |Swift上のファイルの一覧表示
| openstack object save \<container_name> \<file>| fileのダウンロードを実施する
| openstack object delete \<container_name> \<file> |fileを削除する（swift上で）

★その他覚えておくことリスト

| 対象 | 説明 | 補足 |
|:--|:--|:--|
|リングについて|データとそのデータを格納する物理的な位置を対応づけるテーブル。ツール(swift-ring-builder)で構成する。


# 受験結果
無事、合格しました。
正解率は63%。。ギリギリでしたw

後で知りましたが、[こちらのテキスト](https://www.amazon.co.jp/OpenStack%E6%A7%8B%E7%AF%89%E9%81%8B%E7%94%A8%E3%83%88%E3%83%AC%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-OPCEL%E8%AA%8D%E5%AE%9A%E8%A9%A6%E9%A8%93-Ver-2-0%E5%AF%BE%E5%BF%9C-%E6%9C%89%E9%99%90%E4%BC%9A%E7%A4%BE-%E3%83%8A%E3%83%AC%E3%83%83%E3%82%B8%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-ebook/dp/B07WWFJ6PW/ref=pd_vtp_351_1/357-9865585-8329801?_encoding=UTF8&pd_rd_i=B07WWFJ6PW&pd_rd_r=0be3c0cf-1c52-4892-b9fd-9a439301c65a&pd_rd_w=DMLPh&pd_rd_wg=5zKem&pf_rd_p=05f59e30-4603-4ebd-85b3-79cae2c9661a&pf_rd_r=BVC1W8HHPFTJBRDD2FAA&psc=1&refRID=BVC1W8HHPFTJBRDD2FAA)は割と有効なようです。
私は使用していませんが、合格を狙っている人は検討しても良いかと思います。
ちょっと高いですが・・・

OpenStack Masakari と言うのが出題され、焦りましたw
個人的にはCinderまわりとNeutronまわりが危うかったので、もし更新の時受験する場合はもう少し深い知識が必要かなと思いました。

本エントリは本当最低限の知識と思われます。