「システム基盤構築のプロフェッショナル」レック・テクノロジー・コンサルティングJapanese | English

レック・テクノロジー・コンサルティング株式会社

技術ブログ

HOME > 技術ブログ > 月別アーカイブ: 2023年6月

月別アーカイブ: 2023年6月

いまさら遅い?Oracle Databaseのコンテナ技術

どうも、皆さん

コンテナ技術が話題になってから数年、仕事でも目にする機会が増えているのではないでしょうか。

・そもそもコンテナ技術をよく知らない

・コンテナ技術を使ったDBを構築しろと言われたがどこから手を付ければいいか分からない

・何となくは知っているが、コンテナ技術の良さがイマイチ分からない

そんな悩みを抱える方に向けてコンテナ技術、特にOracle Databaseのコンテナ技術について解説していきたいと思います。

目次

この記事でわかる事

コンテナ技術ってなに?

Oracle Databaseのコンテナ技術はどんなもの?

 >⼀般的なコンテナとOracle Databaseのコンテナ技術(マルチテナントアーキテクチャ)の違い

 >Oracle Databaseの今までのデータベースとマルチテナント・コンテナ・データベース

 >今までのデータベース(非CDB構成)

 >マルチテナント・コンテナ・データベース(CDB構成)

Oracle Databaseでコンテナ技術を使うメリット

 >データベースの統合が容易

 >ハードウェアリソースの節約

 >メンテナンスの簡略化が可能

Oracle Databaseでコンテナ技術を使うデメリット

 >運⽤手順の見直しが必要

 >単体のデータベースでは効果が限定的

まとめ

この記事でわかる事

本記事では以下について理解を深めることができます。

・コンテナ技術

Oracle Databaseのコンテナ技術

コンテナ技術ってなに?

皆さん、コンテナって知っていますか?

多くの⼈が「コンテナ」と聞いて、まず思い浮かぶのは貨物船に積まれているコンテナではないでしょうか。

コンテナ1.jpg

流通業では貨物コンテナという統⼀された規格の⼊れ物を使うことで⼤量の物資を効率的に安価に輸送することが可能になります。

ITのコンテナ技術も、そのコンテナに似ています。

OS上に存在しているアプリケーションやミドルウェア、プロセスなどの⼤量のリソース(貨物)を論理的な⼊れ物に格納することで効率的に管理することを可能にする。

これがコンテナ技術の概要です。


管理するだけでなく、別の保管場所(他のサーバなど)にリソースを移動(輸送)することも可能なので⽂字通り「コンテナ」というわけです。

コンテナ2.jpg

Oracle Databaseのコンテナ技術はどんなもの?

コンテナについてのイメージが何となく掴めたところでOracle Databaseのコンテナ技術について紹介していきます。

⼀般的なコンテナとOracle Databaseのコンテナ技術(マルチテナントアーキテクチャ)の違い


⼀般的なコンテナの説明ではOS上のアプリケーションやミドルウェアをコンテナ化1つのグループ―として移動、管理することについて記載されているものが多いです。

一般的なコンテナ.jpg

Oracle Databaseのコンテナ技術はデータベースそのものをコンテナ化して管理する点が違います。

この技術のことをマルチテナント・アーキテクチャと呼ぶこともあります。

Oracleのコンテナ.jpg

Oracle Databaseの今までのデータベースとマルチテナント・コンテナ・データベース

今までのデータベース(非CDB構成)

コンテナ技術は新しく出て来た技術ですので、コンテナ技術が使用されていない従来のデータベースが存在しています。

Oracle Databaseでは従来のデータベース構成のことCDB構成などと呼び、 以下の画像にあるように

①DBへのアクセスを受け取るリスナー

②SGAPGA・バックグラウンドプロセスなどから構成されるインスタンス

制御ファイル、データファイル、オンラインREDOログなどのファイル群


から構成されています。

非コンテナ.jpg

厳密には、インスタンスに含まれていないプロセスや設定ファイルなど記載されていないものもあるのですが、分かりやすくするために割愛しています。

従来のOracle Databaseのアーキテクチャについて詳しく知りたい⽅は弊社の「ながら読みで基礎力アップ!シリーズ」記事をご覧ください。

ながら読みで基礎力アップ!シリーズ

データベースとは?

Oracleのメモリ SGAPGA

Oracle MEMORY_TARGETの話

Oracleのファイルと起動

パラメータファイル(PFILESPFILE

Oracleが使用するメモリ領域(SGA

Oracleが使用するメモリ領域(PGA

Oracleのプロセスって?

マルチテナント・コンテナ・データベース(CDB構成)

次はコンテナ技術を使用したデータベースについてです。

Oracle Databaseでコンテナ技術を使用したデータベースのことをマルチテナント・コンテナ・データベースまたはCDB構成と呼びます。

マルチテナント・コンテナ・データベースは以下の要素から構成されています。

①DBへの通信を受け取るリスナー

②SGAPGA・バックグラウンドプロセスからなるインスタンス

制御ファイル・データファイル・オンラインREDOログなどのファイル群

④業務データを格納するためのPDB

PDBを管理するためのCDB

CDB.jpg

従来のデータベースと共通している部分が多いですが、データ部分にCDBPDBが登場している点が大きな違いです。

このCDBPDBはコンテナ技術を語る上で外せないワードなのでもう少し説明していきます。

CDBとは

CDBというのはコンテナ・データベースの略で、後述するPDBを管理するコンテナ内の親⽟のような存在です。

管理が主な⽬的なので実際の業務に使われる重要なデータは保持していません。

「コンテナ」とついていますが貨物コンテナのように貨物(業務データ)を入れるわけではないので

さながら、貨物コンテナの管理人と言ったところでしょうか。

PDBとは

PDBというのはプラガブル・データベースの略で、実際の業務データが格納されます。

従来のデータベースに相当する存在で、データ更新や起動停止などを各PDB毎に独立して行うことができます。

他のCDB上へ移動させることも可能で、別のサーバ上に簡単に引っ越しすることができます。

つまり「貨物コンテナ」にあたる部分です。

補足:PDBPDBシード・アプリケーションPDBについて

PDBにはPDBシードとアプリケーションPDBという兄弟的な存在がいます。

PDBシードはPDBを作成する際に元にすることが出来るテンプレート的な存在です。

アプリケーションPDBにはアプリケーションにとって便利な機能が追加されたPDBなのですが、複雑になるので説明は割愛します。

PDBと付いていますが提供する機能が異なるので混同しないように注意が必要です。

様々なPDB.jpg

引用:Oracle Database 19c Multitenant管理者ガイド 3 マルチテナント環境の構成と管理の概要

Oracle Databaseでコンテナ技術を使うメリット

マルチテナント・アーキテクチャについて紹介したところで、Oracle Databaseでコンテナ技術を使う利点に触れていきます。

データベースの統合が容易

マルチテナント・アーキテクチャは従来のOracle Databaseと互換性を持っています。

また、従来のデータベースはPDBに相当するため多くの場合、既存のデータに修正を加えることなく多数のデータベースを一つに統合することが可能です。

ハードウェアリソースの節約

従来のデータベースは原則的にインスタンスとデータベースを1:1で構成する必要があります。

そのため、今までは1つのサーバでデータベースを管理する場合、データベースの数だけOracle Databaseをインストールする必要がありました。

マルチテナント・アーキテクチャでは、その制約がなくなり多数のデータベースを1つのインスタンスで管理できるようになっています。

つまり、⾮CDB構成よりも消費するハードウェアリソース(CPUやメモリ、ディスク容量等)を抑えることが可能になっています。

メンテナンスの簡略化が可能

多数のデータベースを1つのサーバに集約することで、今までサーバ毎に行っていたパッチ適用などのメンテナンス作業が減り工数を削減することが可能になります。

加えて、PDBはそれぞれ独立したデータベースとして扱われるており他のデータベース/サービスを停止せずに特定のデータベースだけメンテナンス(追加・削除・再起動など)を行う事も可能です。

Oracle Databaseでコンテナ技術を使うデメリット

次はデメリットについて触れていきます。

運⽤手順の見直しが必要

CDB構成からCDB構成に変更する際には新しい機能が追加されているため、従来から変更されているコマンドが存在しており運用手順を見直す必要性があります。

ただし、従来と同じコマンドも多くあり手順の修正が軽微で済む場合もあるでしょう。

単体のデータベースでは効果が限定的

既存のデータベースが1つしかない場合、リソースの節約やメンテナンス・管理を簡略化する効果はあまり望めません。

まとめ

ここまでコンテナ技術について簡単に説明してきました。

コンテナ技術のポイントは以下の通りです。

コンテナ技術のポイント

・コンテナ技術とは貨物コンテナのように⼤量のリソースを効率的に管理・移動するための技術

・Oracle Databaseのコンテナはアプリケーションやミドルウェアの代わりにデータベースを効率的に管理する

・Oracle Databaseのコンテナでは貨物コンテナを集積・管理する管理人にあたるCDBと、貨物コンテナに相当するPDBがある

・コンテナ技術を活用することで複数のデータベースの管理が楽になる

運用面の見直しが必要になる



この記事でコンテナ...ひいてはOracle Databaseのコンテナ技術について少しでも理解を深めてもらえたら幸いです。

以上、Re:Q でした。

いまさら遅い?Oracle Databaseのコンテナ技術

【事例紹介】KADOKAWA Connected様_Oracle DB運用支援

サムネイル.png

KADOKAWA Connected様のOracle DBの運用支援を実施いたしました。

下記リンクより、記事をダウンロードできます。ぜひご覧ください。

記事のポイント

・複数バージョン混在のOracle DB環境を見直し

・迅速なアセスメントによる課題の洗い出しと改善提案

・最適なDB性能分析ツールの選択など、DBの可用性向上

ダウンロードはこちらをクリック

【事例紹介】KADOKAWA Connected様_Oracle DB運用支援

Oracle Audit Vault and Database Firewall のインストールについて

Oracle Audit Vault and Database Firewall ( 以下、AVDF ) のインストールについて紹介したいと思います。
AVDFはソフトウェア・アプライアンスとなるため、OSからアプリケーションまでパッケージ化されています。そのため、AVDFをisoイメージからインストールすると、OSやGI、DB、Javaコンポーネントなど、すべて自動で構成してくれます。


例として、AVDF 20.8 の Audit Vault Server をインストールして確認してみると、以下のように、Linux7.9上に、Grid Infrastructure 19.16、Database 19.16 がインストールされASMインスタンスやDBインスタンスなどが自動で構成されます。

AVDF 20.8 の Audit Server のソフトウェア構成

[root@av ~]# cat /etc/oracle-release
Oracle Linux Server release 7.9
[grid@av ~]$ $ORACLE_HOME/OPatch/opatch lspatches
34318175;TOMCAT RELEASE UPDATE 19.0.0.0.0 (34318175)
34160635;OCW RELEASE UPDATE 19.16.0.0.0 (34160635)
34139601;ACFS RELEASE UPDATE 19.16.0.0.0 (34139601)
34133642;Database Release Update : 19.16.0.0.220719 (34133642)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)

OPatch succeeded.
[oracle@av ~]$ $ORACLE_HOME/OPatch/opatch lspatches
34160635;OCW RELEASE UPDATE 19.16.0.0.0 (34160635)
34381597;EXCESSIVE REALM AUDIT RECORDS ARE GENERATED DURING AQ RULE EVALUATION
34133642;Database Release Update : 19.16.0.0.220719 (34133642)

OPatch succeeded.

AVDF 20.8 Audit Server クラスタリソース

[grid@av ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.EVENTDATA.dg
               ONLINE  ONLINE       av                       STABLE
ora.RECOVERY.dg
               ONLINE  ONLINE       av                       STABLE
ora.SYSTEMDATA.dg
               ONLINE  ONLINE       av                       STABLE
ora.asm
               ONLINE  ONLINE       av                       Started,STABLE
ora.ons
               OFFLINE OFFLINE      av                       STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       av                       STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       av                       STABLE
--------------------------------------------------------------------------------

AVDF 20.8 Audit Server ディスクリソース

[root@av ~]# df -h
Filesystem                             Size  Used Avail Use% Mounted on
devtmpfs                               7.7G     0  7.7G   0% /dev
tmpfs                                   16G     0   16G   0% /dev/shm
tmpfs                                  7.7G   73M  7.7G   1% /run
tmpfs                                  7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/mapper/vg_root-lv_ol7root         6.4G  2.9G  3.2G  48% /
/dev/mapper/vg_root-lv_var_dbfw        2.8G   36K  2.6G   1% /var/dbfw
/dev/mapper/vg_root-lv_opt_dbfw        943M  448K  878M   1% /opt/dbfw
/dev/mapper/vg_root-lv_var_log         5.5G   30M  5.1G   1% /var/log
/dev/mapper/vg_root-lv_home            943M   96K  878M   1% /home
/dev/mapper/vg_root-lv_images          463M   16K  434M   1% /images
/dev/mapper/vg_root-lv_tmp             1.9G   31M  1.8G   2% /tmp
/dev/mapper/vg_root-lv_var_tmp         5.5G   28K  5.2G   1% /var/tmp
/dev/mapper/vg_root-lv_oracle           58G   27G   28G  49% /var/lib/oracle
/dev/mapper/vg_root-lv_local_dbfw      943M  202M  677M  23% /usr/local/dbfw
/dev/mapper/vg_root-lv_local_dbfw_tmp  6.4G   28K  6.1G   1% /usr/local/dbfw/tmp
tmpfs                                  1.0G     0  1.0G   0% /usr/local/dbfw/volatile
tmpfs                                  1.6G     0  1.6G   0% /run/user/0
tmpfs                                  1.6G     0  1.6G   0% /run/user/1000

[grid@av ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  1048576     30258    28969                0           28969              0             N  EVENTDATA/
MOUNTED  EXTERN  N         512             512   4096  1048576     30258    26572                0           26572              0             N  RECOVERY/
MOUNTED  EXTERN  N         512             512   4096  1048576     30256    26808                0           26808              0             N  SYSTEMDATA/

各ソフトウェアを一つずつインストールすると大変ですが、AVDF のインストールでは、すべて自動で構成されるため、導入が簡単となります。

以上、AVDF のインストールについてでした。

Oracle Audit Vault and Database Firewall のインストールについて

認定ホワイトハッカー(CEH)の資格取得の合格体験記

はじめに

はじめまして。レックT.Jです。 今回はIT資格の中でもちょっとだけ難易度の高い認定ホワイトハッカーの資格「CEH(Certified Ethical Hacker)」を受験してきましたので、合格までの過程をブログに書いていこうと思います。

ちなみに「受験してきました」と、ついこないだ受けて来たかのように書きましたが受験したのは2019年11月なので約3年前になります。
現在は2022年9月にv12がリリースされてますが、私が受験したのはv10になります。
当時とは異なる点もあるとは思いますが大まかな勉強方法とかは変わらないと思うので受験する方は参考にして頂ければと思います。

認定ホワイトハッカーの資格、CEH(Certified Ethical Hacker)とは?

合格体験記を書く前にまずは軽くCEHがどんな資格なのかを説明しておこうと思います。
恐らく知らない方からすると「ハッカーの資格(笑)」みたいなイメージだと思うので。

CEHはEC-Council International(電子商取引コンサルタント国際評議会)という情報セキュリティやe-ビジネスの個人スキルを認定する組織/評議会が提供してる国際的なセキュリティ資格となります。
知識・スキル・攻撃手法を組み合わせたホワイトハッキングスキルの習得を目的としており、ホワイトハッカーとしての「攻撃者視点」の判断力を習得することができます。

また、この資格は受験料さえ払えば誰でも受験できるものではなく、以下2通りの方法で受験資格を得る必要があります。

1.EC-Councilのディストリビューターが提供してる5日間のトレーニング(受験バウチャー込みで約60万円程度)を受講する
2.EC-Councilがトレーニングが不要と判断されるくらいの経験がある場合(ただし、日本語受験はできない可能性あり)

ので、基本的には1.のトレーニングを受ける一択なのかなと思います。
後ほど記載しますが、私が受けたトレーニングは1.とは少し違ったものとなってます。

私の受講/受験時の前提知識編

CEHを受験しようと考えてる方で特に気になるのが、この「受験前から持っていた知識」がどんなもんなのかだと思います。
私の場合はある程度は研修などを受講する前からセキュリティに関する知識などはもっており、具体的には以下となります。

・専門学校で基礎的なセキュリティ知識(CompTIA Security+レベル)や不正アクセスに関する実技授業を受けている
・趣味でCTFをやっていた
・業務でNWエンジニアとしてL4FW(レガシーFW)やUTM/NGFWの導入経験がある
英語は全くできない

と、いったところになります。

研修編

私の場合もトレーニングを受講しましたが、厚生労働省の中小企業向けの人材開発支援助成金を利用しつつEC-Councilの公認トレーナーの方が月に1回のペースで合計6回開いてくれている研修を受講しました。

そのため、研修時は座学を多めに時間をとってもらい、次の研修までに生徒に渡される検証環境を使った実習に取り組む形をとってもらえたため、実習に好きなだけ時間を割くことができました。
また、趣味でCTFを始めとしたセキュリティ関連の自己学習もしていたので、座学も実習も比較的苦労はしませんでした。
(強いて苦労?というか新しい知見として面白く感じてたのがソーシャルエンジニアリングを利用した攻撃手法のところでした。今でもこの部分は面白かったと強く印象に残っています。)
ただし、一般的な受験ケースでは、5日間連続の研修となるうえ、CTFも未経験な方が多いと思われるため、かなりハードな内容になることが予想されます。。。Try Harderです。w

修行編(受験に向けた勉強)

CEH受験に向けた勉強はどんなことをしていたか?つまり修行編(?)ですね。

勉強方法は大きく以下2つあります。

1.問題集をひたすら(?)解くやり方
2.CEHの勉強会に参加する

問題集をひたすら(?)解くやり方

このやり方は正直嫌々やっていたので、かなりスローペースで勉強してましたw
問題集は「CEH v9: Certified Ethical Hacker Version 9 Practice Tests (English Edition)」をAmazonで購入し、1日10問ずつ解いて間違えた問題や分からないところ、答えに納得いかないところを徹底的に調べて学習を進めてました。
当時受験するのはv10でしたが、まだv10がリリースされたばかりで問題集も出ていなかったので、とりあえずv9で進めてました。
今はv11やv12なども出ているので、私が購入したのと同じシリーズの問題集のリンクを以下に貼っておきますので参考にしてもらえればと思います。
https://amzn.asia/d/bECRVf4

問題集自体は5回分(125問×5)程度あるので、私は4回分までは1日10問ずつ解いていき、残り1回分を前日に一気に解いて試験に臨みました。
勉強期間は(受験がめんどくさくて)バウチャーの利用期限ギリギリまで受験を伸ばしてたので10ヵ月ほどはかけてしまってたと思いますが、普通に勉強サボってる日の方が多いので、私の勉強方法なら「125問×4回÷10+1日」で最短51日ほどの期間で受験できたかもしれません。
また、私は 英語が全くできない ため、スマホ版のKindleで1問ずつ翻訳したい箇所を選択しながら勉強してましたので、英語が苦手な方でもやれる勉強方法(?)です!

CEHの勉強会に参加する

2つ目の勉強方法として、私は「CEHの勉強会」に参加してみました。 CEHの試験問題はかなりくせがあり、「この問の文章だと攻撃Aの可能性もあるし、攻撃Bの可能性も否定しきれない」みたいな問題が多く、なぜこの答えになってるのか自分を納得させるのに苦労した記憶があります。
この辺りを解決したく、「CEHの勉強会」に参加してみました。
IT系の勉強会に参加されたことがある方ならご存知の方も多いかもしれませんが、「connpass」で調べると定期的にCEHの勉強会を開いてくれているので、そこに参加してみるのをおススメします。
問題を解いていくうちに、各々不明点が多く出てくると思いますので、こういった勉強会に参加して思い切って勉強会で講師をしてくださる方に聞いてみるのも1つの手です。

受験編

そんなこんなで、かなり適当な勉強の仕方ですが、まぁ一応問題集を一通りやり切った状態で受験してみました。
CEHの資格試験は、
・制限時間:4時間
・問題数:125問
・問題方式:選択式
と、なっております。

私が実際に受験した際は問題数は1~3問ほど少なかったような記憶なので、人によって問題数も若干前後するのかもしれません。
また、試験時間は4時間ありますが、私は1時間半ほどで一通り解き終えたので、割と解答を見直す時間はあるように感じました。

そんな感じで受験した結果、合格ラインギリギリで合格でした!対ありです!

最後に

なんとか(?)無事にCEHの資格を取得することができましたがCEHホルダーの冒険はまだ終わりません。
CEHはセキュリティ系の活動を定期的に実施/報告し、3年間で120P稼がないと資格の更新ができないのです!
私は絶賛ポイント稼ぎで大変な状況ですが、もしこのブログをみて受験する方は、計画的なポイント獲得を本当に強くおススメします。。。

また、このブログの執筆時に知りましたが、今は「CEH Practical」という実技試験も建て付けられたようなので、機会があればそちらも受験してブログ化してみたいですが、まずは「CEHを更新する」という合格するよりもハードルが高いと思わされるような前代未聞の大きな壁がありますので、そちらの挑戦が終わり次第チャレンジし、またブログ化してみようと思います。

認定ホワイトハッカー(CEH)の資格取得の合格体験記
資料請求・お問い合わせはこちら

▲ ページトップに戻る

技術ブログ

2023年6月
« 5月   7月 »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
採用に関するお問い合わせはこちら