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

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

技術ブログ

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

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

【新卒ブログ】文系女子、インフラエンジニアになる。9 【完】

最終回 文系女子たち、インフラエンジニアになれたのか?

こんにちは。ここに登場するのは初めてになります!
新卒ブログの企画担当で、執筆メンバーの先輩でもあるN.A(以下、先輩A)です。かつて私も"文系女子"でした。

新年度に入ってしまいましたが、1年目の締めくくりということで新卒ブログのメンバーを集めて、振り返りインタビューを開催しました。
1年間奮闘してきた彼女たちは何を感じたのか、ご覧いただければと思います。

改めて今回の参加者、新卒ブログを担当してきた執筆メンバーです(司会進行は先輩A)。

新卒ブログメンバー_20220414.png

1年目を振り返って

――新人研修から7月で配属されて3月までで1年間やってきましたが、1年振り返ってどうだったでしょうか?

N.A:新人研修中は「何を分かってないかが分からない」ことがほとんどでした。配属されてからは、クラウドに関する勉強して資格を取得したり、プロジェクトに参加したりすることで、自分が何に対して分かってないのかが分かるようになりました。
例えば資格の勉強をしていて、試験問題の解答と自分の答えが合っていない時に、質問がうまくできなかったんですけど、少なくとも今は自分の考えをまとめた上で、誰かに質問できるようになりました。

――そういう質問の仕方は、質問される方も状況を理解しやすくてとてもいいと思います。
N.Mさんは、サーバを構築しますというよりかは、ITトレンド等の調査を続けてきたんですよね。

N.M:はい、ITのいろんなトレンドや、今どのような技術が世の中に出ていて、それがどうやって扱われているのか、ということを中心にいろいろと調べてきたんですけども...。上司に説明するためにExcelPowerPointを使ってまとめたりするのが、凄く大変だったと感じています。
でもその中で、AIを使った自動化の技術やセキュリティ技術のトレンドなど、新しいことをたくさん学べることができたのが、自分の中では良かったなと思いました。

――最初から自分で調査して要約したり、メリットデメリットを上げたりして頑張ってまとめていましたよね。
次にM.Mさんどうですか?

M.M:私は、今年導入された工数管理ツールの設計、検証と運用を行っています。
いろいろ初めてのことが多くて、設定だったりとか、説明資料の作成だったりとかが難しく、思うようにいかないということもあったんですけれども...。上司と一緒にどうしたら使いやすくなるか考えながらやっていました。
業務以外でも報連相などの社会人としてのマナーを学んだ1年でした。

――今では私もそのツールにお世話になっている一人です。お疲れ様です。
では最後に、M.Cさんどうですか?

M.C:研修中に基礎の部分を学んだとはいえ、プロジェクトでは分からないことばかりで本当に先輩にお世話になった1年でした。ですが、N.Aさんと同じくクラウドに関する勉強をして資格を取得したり、実際に業務を経験したりすることでだんだん分かること、できることも増えてきたと思います。
正直今は目の前のことをこなすので精一杯ですが、ただ知識として覚えていたことを実機での作業を通して「こういうことか!」と理解できた時や、検証中にうまくいかない個所を調べて解決できた時などに少しずつITの楽しさを見出せるようにもなってきました。

次の質問:2年目以降に向けて >


■新卒ブログ「文系女子、インフラエンジニアになる。」シリーズ

第1回 文系女子、新人研修を振り返る。
第2回 文系女子たち、研修期間を振り返る。
第3回 文系女子、初めてプロジェクトに参加する。
第4回 文系女子、リモートワークに挑戦する。―コミュニケーション編―
第5回 文系女子、リモートワークに挑戦する。―メリハリ編―
第6回 文系女子、IT情報をリサーチする。
第7回 文系女子、一日を振り返る。
第8回 文系女子、初めてプロジェクトに参加する。~その後~
最終回 文系女子たち、インフラエンジニアにはなれたのか!?

【新卒ブログ】文系女子、インフラエンジニアになる。9 【完】

【新卒ブログ】文系女子、インフラエンジニアになる。9 【完】

2年目以降に向けて

――2年目以降、自分がエンジニアや社会人としてどういう風になっていたいか、または抱負をそれぞれ聞かせてください。

M.M:今後も、しっかりとやるべきことをやって評価をしてもらえるような人になりたいなと思います。
また、今担当している工数管理ツールは、導入したばかりでまだ手探り運用の状態なんです。
先ほども言いましたが、正直まだ運用面でいくつかの課題もあって、もっとうまく活用するためにはどうすればよいか、いうのを検討している状態でもあります。
今後さらに効果的に活用できるようにしていく一環として、出力結果の整形とか、処理の自動化などの対応をやっていけたらなと思います。

M.C:業務とかで人前で説明したりすることはありますが、基本的に話すのが苦手なので上手になりたいです。以前、当時3年目の先輩が全体会議で自身が参加しているプロジェクトについて発表していたのですが、とても分かりやすくまとめられていて、自分は出来るようになるのかなと不安になりました。私は経緯からダラダラと話しちゃう癖があるので、端的に結論から話せるようにしたいなと思っています。
技術面でいうと、bash(コマンド言語)を使ったスクリプトを作成できるようになりたいです。
プロジェクト先の方がいつもは画面をクリックしながらする設定を、スクリプトで自動化して頂いて...。私がしたら何時間もかかってしまうものが数秒で出来てしまうので衝撃を受けました。今後、こういうスクリプト作成スキルを持つべきなんだなと身をもって実感しました。

N.M:この1年、いろいろと大変なこととかもあったのですが、いろいろ質問して業務にも慣れてきたと思います。新卒の方もたくさん入ってきたので、もっと社会人として言葉遣いや報連相の徹底といったマナーや今よりも仕事を主体的に進めていくなどさらに気を引き締めていきたいです。また相談事とかにも乗れるような先輩になれたらなと思います。
今はAI系のツールを調べているんですけど、今後はそのツールを始めとして、社内外に様々な技術や考え方を公開していきたいなって思っています。

N.A:3年目、5年目はちょっと先過ぎて曖昧なんですけど、今は業務に対して積極的に動けているとは思いますが、どうしても目の前のことでいっぱいになってしまいがちです。なので、それだけではなくその時のプロジェクト全体を見て、何を自分でやるべきなのか考えて行動できるようになりたいと思います。
技術の方では、BIツール(Business Intelligence Tool)に関するスキル深めていきたいと思っています。
今それを扱うチームにいて、自分的にもすごく楽しいし興味を持てます。GCPBIツール「Looker Studio」を使っているんですが、他にはAWSの「Amazon QuickSight」というのもあるので、色々試してスキルを伸ばしていきたいなと思っています。

――ありがとうございました。N.Aさんも言っていたように、まだ目の前のことでいっぱいいっぱいかもしれませんが、それぞれ目標に向かって頑張ってください。私も聞いていて考えさせられました。

さいごに..."インフラエンジニア"にはなれた?

――ここまでいろいろと聞いてきましたが、皆さん"インフラエンジニア"にはなれたのでしょうか?

全員"インフラエンジニア"のスタートラインに立ちました!!

――2年目も頑張ろう!

ここまでご覧頂きまして、誠にありがとうございました!
このブログシリーズに関しても、学生さんに伝わるようにきちんと書けるだろうか、と皆不安に感じながらも、役立つ情報を届けたいという思いで、試行錯誤しながら取り組んできた1年でした。読んで頂いた皆様にとって、少しでも参考になれたらと思います。

この新卒ブログは最後となりますが、インフラエンジニアとして彼女たちの生活は続いていきますので、もしかしたら別のブログでお会いできるかもしれません。
それでは!

< 前の質問:1年目を振り返って


■新卒ブログ「文系女子、インフラエンジニアになる。」シリーズ

第1回 文系女子、新人研修を振り返る。
第2回 文系女子たち、研修期間を振り返る。
第3回 文系女子、初めてプロジェクトに参加する。
第4回 文系女子、リモートワークに挑戦する。―コミュニケーション編―
第5回 文系女子、リモートワークに挑戦する。―メリハリ編―
第6回 文系女子、IT情報をリサーチする。
第7回 文系女子、一日を振り返る。
第8回 文系女子、初めてプロジェクトに参加する。~その後~
最終回 文系女子たち、インフラエンジニアにはなれたのか!?

【新卒ブログ】文系女子、インフラエンジニアになる。9 【完】

不審なURLの確認及び調査方法

皆さまのもとに怪しいURLがSMSやSNS、メール等で送り付けられることはありませんか?
通常は接続しないほうがよいのは当たり前なのですが、どうしても確認しなければいけない状況もあるかと思います。

とはいっても、ウィルス等に感染してしまっては元も子もありません。
そこで自分のPCが感染することなく確認する方法をお知らせしたいと思います。

まず1つ目はaguse(https://www.aguse.jp/)を使って代理アクセスで調査する方法です。

01-01.PNG
「調べたいサイトのURLを入力してください。」の枠の中に確認したいURLを入力し、「調べる」をクリックします。

★★!注意!★★
以下のような記載がある場合はホスト名まで記入して「test.php~」以降の記述は削除してください。

https://www.reqtc.com/test.php?mail=<メールアドレス>

上記は非常にわかりやすい記述ですが、「test.php?mail=<メールアドレス>」とメールアドレスが記述されており、攻撃者へメールアドレスが生きていることを知らせる結果になる可能性があるためです。
「mail」の部分は意味のないローマ字に置き換わっているかもしれませんし、「<メールアドレス>」の部分はエンコードされているかもしれません。
全てのケースを書くことは出来ませんが、不明な記述があった場合はホスト名部分のみ(例の場合では「https://www.reqtc.com/」)としたほうが無難です。
★★★★★★★★

01-02.PNG

代表的な確認事項を解説します。

・「実際に表示されるサイトのURL」に実際に接続したURLが表示されます。
例えば入力したURLが「https://aaa.com」だとしても「bbb.com」にリダイレクトされている場合は「https://bbb.com」と表示されます。
 リダイレクトされたから必ずしも危険というわけではありませんが、明らかに違うドメインへの遷移であれば警戒したほうがよい場合があります。(例えば、「**.jp」からリダイレクトされ「**.ru」になった等)

・スクリーンショットをクリックすると画面が大きく表示されます。公式サイトのドメインではないにもかかわらず、カード番号やアカウントの入力を求めるようなダイアログがある場合は怪しさ抜群です。

・「検出されたマルウェア」にはマルウェア等が埋め込まれていた場合、検出内容が表示されます。

01-03.PNG
・画面の一番下にブラックリストに登録されているか否かが記載されています。
 上記の場合はすべて「SAFE」になっていますね。

ただ、WEBサイトの構成次第では特定のドメインからの接続を拒否又はリダイレクトする設定になっているかもしれません。

そのため、念のためもう1か所で確認してみましょう。

2つ目も同じく代理アクセスで調査するSecURL(https://securl.nu/)です。

02-01.PNG

こちらもURLを入力して「チェック」をクリックします。

02-02.PNG

「脅威は検出されませんでした」と表示され、このサイト自体に異常は検知されなかったことが示されます。

また、画面の下に「ウイルス情報」や「詐欺サイト判定」、「迷惑サイト判定」が表示され、いずれも問題ないことが示されています。

02-03.PNG

ただ、このサイトも特定のドメインからの接続を拒否又はリダイレクトする対象になっているかもしれません。
そこでもう1つVirusTotal(https://www.virustotal.com/gui/home/url)です。

ファイルやウェブサイトが「マルウェアを含むかどうか」を検査するためオンラインスキャンを行うサイトです。
ファイルの検査も行ってくれるのですが、有償サービスではそのファイルを入手することが出来るため、不用意にファイルをアップロードするのはお勧めしません。

03-01.PNG

「Serch or scan a URL」にURLを入力しEnterキーを押下します。

03-02.PNG

右上に「0/93」と表示されており、このサイト(URL)は安全であると判定されています。
サイトに問題がある場合は「Security vendors' analysis」にそのサイトの特性(例えば「phishing」)と表示されます。

特にウィルス検知やUTMで有名なメーカーが脅威と判定している場合は要注意です。

いかがでしたでしょうか?
皆さまの業務の一助になれば幸いです。

それではまた!

不審なURLの確認及び調査方法

【GCP】VM Managerがすごい。

blog_vmmanager.md

皆さん、こんにちは。入社4年目のクラウド技術統括部のR.Aです。
弊社では2020年からGoogle Cloud Platform (以下、GCP)を使ったシステム提案/開発に注力しており、各種イベントやGCPサービスを展開しております。
技術ブログでもGCP関連のネタを随時公開していきますので、是非ご活用下さい。

今回はVM Managerというサービスを使用して、GCE VMインスタンスのOS管理の自動化を試してみます。
具体的にどのようなことが起こるのか、注意事項など本ブログで紹介します。 より詳細な内容は、公式ドキュメントを参照してください。



目次

1. VM Managerでできること
2. 実際にやってみた
3. 躓いたところ
4. 本番環境で使用する上での注意事項を考えてみる



1. VM Managerでできること

サービス概要

LinuxやWindows (OS)を管理しやすくなるツールです。以下の3つのサービスに分かれています。(説明はわかりやすく、Linuxを想定して記載します。

# サービス 説明
OS Patch Management yumなどのパッケージ管理ツールを使用して、OS Configエージェントが代わりにパッチ適用(パッケージアップデート)してくれるサービス。
最大500台のインスタンス※1に対して同時にパッチ適用することが可能で、一度にパッチ適用する割合や台数を指定することができます。
$ yum update のオプション「--security」とか、除外するrpmパッケージとか設定できます。
※1 1つのパッチジョブに対して500VMsを適用することができる。
OS Inventory Management OSの詳細情報をOS Configエージェントから収集し、console上から確認できるサービス。
詳細情報は、OSバージョンからインストールされているrpmパッケージとそのバージョンなどです。
10分ごとに情報をOS ConfigエージェントからOS Configサービス(VM Manager)に転送しているそうです。
OS Configuration Management OSの状態を監視し、設定したポリシーに違反していたら、OS Configエージェントがポリシーに従った内容に状態を修正してくれるサービス。
60分ごとにポリシーをOS Configサービス(VM Manager)からOS Configエージェントに転送して、エージェントがポリシーを適用するか否かを判断しているそうです。


構成概要図

構成されている要素は以下の画像をご確認ください。
ちょっとした注意点ですが、インスタンスにOS Configエージェントを導入するだけでは設定が適用されず、インスタンス メタデータでVM Managerが有効化されているインスタンスに設定が適用される設計になっています。(Opsエージェントとは少し違いますね。 vm-manager-arch.png
画像は公式ドキュメントから引用しています。



VM Managerのすごいところ

パッチ適用前後にスクリプトを設定できる!(OS Patch Management)

パッチ適用を適用する前と後にそれぞれ実行するスクリプトを1つずつ選択することが可能です。本番環境だとどうしてもパッチ適用前にサービス止めておきたいなどの要件が出てくると思います。
スクリプトにsystemctl stop/start httpdなど記載しておけば、パッチ適用前後に必要なサービスを停止/起動が実現できます。わざわざJP1だとか、cronを設定するとかせずにOS Patch Managementのパッチジョブで設定を完結することができます。(これ魅力!)
20230405_113107.JPG


1つのパッチジョブですべてのOSに対応できる!(OS Patch Management)

1つのパッチジョブ(=OS Patch Managementで作成するリソース)にLinuxもWindowsもOS関係なく適用することができます。1つのパッチジョブにすべてのOSのパッチ適用設定をあらかじめ定義しておくことで、適用されたインスタンスのOSを判別して適している定義を適用してくれます。(WindowsなのにRHELのパッチが適用されちゃうとか、当たり前ですがないです。)
これもWindows用のスクリプト、Linux用のスクリプトで用意してくれているので、WindowsであればWindows、LinuxであればLinuxで用意したスクリプトが実行されます。
20230405_113144.JPG


YAML書くだけでOS上の状態を維持してくれる!(OS Configuration Management)

OS設定はこうあってほしいなという内容をYAML形式で記載しておくことでその状態を維持してくれます。例えば、Aというサービスは動作していて欲しいという内容を記載しておくと、Aサービスが自動的に起動した状態になってくれるのです。(これ魅力!!!)
Aサービスが何らかの操作ミスで停止してしまっても、最大1時間後には起動した状態に戻ります。#これはterraformとかのIaC(=Infrastructure as Code)でなくて、k8sとかと同じCaD(=Configuration as Data)に相当するものだと思います。
20230406_154159.JPG



2. 実際にやってみた

⓪準備

まずは簡単なところから。

1. VM Managerが使用できるように、OS Config Service APIを有効化する。
20230405_113726.JPG

2. VM Managerの設定を適用するために、インスタンス メタデータに「enable-osconfig:true」と「enable-guest-attributes:true」を設定する。※2
20230405_075229.JPG
※2 ここでは、プロジェクトに所属するすべてのインスタンスに適用されるメタデータの設定画面です。
インスタンス個別に適用する際は、インスタンスの編集からインスタンス個別のメタデータを編集して適用してください。

3. OS Config エージェントをインストールする。
新規作成したインスタンス(CentOS7)には初期構築時から自動で導入されていました。(2023年4月5日時点)

[root@rei-vmmanager-test-01 ~]# systemctl restart google-osconfig-agent [root@rei-vmmanager-test-01 ~]# systemctl status google-osconfig-agent ● google-osconfig-agent.service - Google OSConfig Agent Loaded: loaded (/usr/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-04-05 07:10:58 UTC; 2s ago Main PID: 1417 (google_osconfig) CGroup: /system.slice/google-osconfig-agent.service └─1417 /usr/bin/google_osconfig_agent Apr 05 07:10:58 rei-vmmanager-test-01 systemd[1]: Stopped Google OSConfig Agent. Apr 05 07:10:58 rei-vmmanager-test-01 systemd[1]: Started Google OSConfig Agent. Apr 05 07:10:58 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T07:10:58.7935Z OSConfigAgent Info: ...ed. Hint: Some lines were ellipsized, use -l to show in full. [root@rei-vmmanager-test-01 ~]#

インストール方法は公式ドキュメントで確認してください。


環境

instance name: rei-vmmanager-test-01
zone: asia-northeast1-a
os: centos 7
natIP: xx.xx.xx.xx(外部IPアドレスを付与しています。)
インスタンス構築しただけなので、Apacheは入っていないです。

[root@rei-vmmanager-test-01 ~]# rpm -qa | grep httpd [root@rei-vmmanager-test-01 ~]# httpd -v -bash: httpd: command not found [root@rei-vmmanager-test-01 ~]# ll /etc/httpd ls: cannot access /etc/httpd: No such file or directory [root@rei-vmmanager-test-01 ~]# ll /etc/ | grep http [root@rei-vmmanager-test-01 ~]#

OS Config APIのデータアクセス監査ログを有効化しています。
20230405_135202.JPG



①OS Patch Management

目標:パッチジョブが動くことと、スクリプトが実行されること

1. パッチジョブ作成する。
20230405_163407.JPG

2. 検証用のスクリプトを作成する。

●パッチ適用前用スクリプト

#!/bin/bash logger -p info "$(date): Start applying patch!" logger -p info "$(date): This is a test log message generated by the script!"

●パッチ適用後用スクリプト
#!/bin/bash logger -p info "$(date): This is a test log message generated by the script!" logger -p info "$(date): Patch application completed!"

●実行結果

■ 開始
スケジュールした時間になると「google_osconfig」が実行されました。
20230405_163518.JPG
以下のログが出力されます。
パッチ適用前に、start.shスクリプトが実行されていること(上から2,3行目)がわかります。

Apr 5 08:20:03 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T08:20:03.7050Z OSConfigAgent Info: Beginning ExecStepTask Apr 5 08:20:03 rei-vmmanager-test-01 root: Wed Apr 5 08:20:03 UTC 2023: Start applying patch! Apr 5 08:20:03 rei-vmmanager-test-01 root: Wed Apr 5 08:20:03 UTC 2023: This is a test log message generated by the script! Apr 5 08:20:03 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T08:20:03.9003Z OSConfigAgent Info: Command exit code: 0, out: Apr 5 08:20:04 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T08:20:04.0117Z OSConfigAgent Info: Successfully completed ApplyConfigTask Apr 5 08:20:35 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T08:20:35.7877Z OSConfigAgent Info: Beginning ApplyPatchesTask Apr 5 08:20:36 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T08:20:36.0760Z OSConfigAgent Info: System indicates a reboot is not required. Apr 5 08:20:43 rei-vmmanager-test-01 OSConfigAgent[1417]: 2023-04-05T08:20:43.9660Z OSConfigAgent Info: Updating 15 packages:

■ 途中
その後、パッチ適用に必要な「yum」などのプロセスが実行されています。
20230405_164112.JPG
途中はyum updateのログがたくさん出力されていました。
20230405_173128.JPG
今回のパッチジョブ設定だとカーネルもupdate対象なことと再起動が必要な場合は再起動するというパッチジョブ設定をしているため、インスタンスの再起動も実行されました。
20230405_174701.JPG
20230405_174601.JPG

■ 完了
20230405_174924.JPG
パッチ適用が完了した時間のログです。パッチ適用完了後に、end.shスクリプトが実行されていること(下から3,4行目)がわかります。

Apr 5 08:47:39 rei-vmmanager-test-01 systemd: Startup finished in 825ms (kernel) + 1.153s (initrd) + 6.323s (userspace) = 8.302s. Apr 5 08:47:41 rei-vmmanager-test-01 chronyd[450]: Selected source 169.254.169.254 Apr 5 08:47:42 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T08:47:42.7546Z OSConfigAgent Info: No packages to update. Apr 5 08:47:43 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T08:47:43.0213Z OSConfigAgent Info: System indicates a reboot is not required. Apr 5 08:47:43 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T08:47:43.3297Z OSConfigAgent Info: Successfully completed ApplyPatchesTask Apr 5 08:48:08 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T08:48:08.6093Z OSConfigAgent Info: Beginning ExecStepTask Apr 5 08:48:08 rei-vmmanager-test-01 root: Wed Apr 5 08:48:08 UTC 2023: This is a test log message generated by the script! Apr 5 08:48:08 rei-vmmanager-test-01 root: Wed Apr 5 08:48:08 UTC 2023: Patch application completed! Apr 5 08:48:08 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T08:48:08.8731Z OSConfigAgent Info: Command exit code: 0, out: Apr 5 08:48:08 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T08:48:08.9945Z OSConfigAgent Info: Successfully completed ApplyConfigTask

Cloud logging※3 からも確認できます。
20230405_174941.JPG
※3 本環境はOpsエージェントを導入/設定していないため、OS上の/var/log/messagesはCloud Loggingから確認できません。



②OS Inventory Management

GUIで確認しました。問題があるインスタンスは更新可能なパッケージとして表示されます。
20230405_080154.JPG
CLIだと他のサービス(Cloud Asset InventoryやSecurity Command Centerとか)とも連携してたくさんの情報を取得できるようです。



③ OS Configuration Management

目標:OSポリシー(apacheのインストールと起動)が適用されること

1. OSポリシー(YAMLファイル)を作成する。

●install.yaml
20230406_154159.JPG

id: apache-install-policy # OS Policy id. User Coustamized. description: apache install os policy # OS Policy description. mode: ENFORCEMENT # This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state. resourceGroups: - resources: - id: install-pkg pkg: # Package resource desiredState: INSTALLED # Ensure that the package is installed. yum: # A package managed by YUM. name: httpd # Package name. - id: install-script exec: # Exec resource validate: # What to run to validate this resource is in the desired state. script: # apache install checker if rpm -qa --queryformat '%{NAME}\n' | grep -qw httpd; then exit 100; else exit 101; fi interpreter: SHELL enforce: # What to run to bring this resource into the desired state. script: sudo yum remove -y httpd || true; sudo yum install -y httpd && exit 100 interpreter: SHELL allowNoResourceGroupMatch: false # This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM.
●start.yaml
20230406_154201.JPG
id: apache-always-up-policy mode: ENFORCEMENT resourceGroups: - resources: - id: running-script exec: validate: script: if sudo systemctl is-active --quiet httpd; then exit 100; else exit 101; fi interpreter: SHELL enforce: script: sudo systemctl start httpd && sudo systemctl enable httpd && exit 100 interpreter: SHELL allowNoResourceGroupMatch: false


2. OSポリシーを割り当てる。
20230406_092916.JPG

●実行結果

■ OSポリシー適用前(=⓪準備と同じlogです)

[root@rei-vmmanager-test-01 ~]# rpm -qa | grep httpd [root@rei-vmmanager-test-01 ~]# httpd -v -bash: httpd: command not found [root@rei-vmmanager-test-01 ~]# ll /etc/httpd ls: cannot access /etc/httpd: No such file or directory [root@rei-vmmanager-test-01 ~]# [root@rei-vmmanager-test-01 ~]# netstat -an | grep :80 tcp 0 0 10.10.10.27:51130 169.254.169.254:80 TIME_WAIT tcp 0 0 10.10.10.27:50832 169.254.169.254:80 ESTABLISHED tcp 0 0 10.10.10.27:50838 169.254.169.254:80 ESTABLISHED [root@rei-vmmanager-test-01 ~]#


■ OSポリシー適用後
OSポリシーが適用され、Apacheのインストールと起動がされています。

[rei_ando@rei-vmmanager-test-01 ~]$ rpm -qa | grep httpd httpd-tools-2.4.6-98.el7.centos.6.x86_64 httpd-2.4.6-98.el7.centos.6.x86_64 [rei_ando@rei-vmmanager-test-01 ~]$ httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Jan 27 2023 17:36:29 [rei_ando@rei-vmmanager-test-01 ~]$ ll /etc/httpd total 0 drwxr-xr-x. 2 root root 37 Apr 5 09:15 conf drwxr-xr-x. 2 root root 82 Apr 5 09:15 conf.d drwxr-xr-x. 2 root root 146 Apr 5 09:15 conf.modules.d lrwxrwxrwx. 1 root root 19 Apr 5 09:15 logs -> ../../var/log/httpd lrwxrwxrwx. 1 root root 29 Apr 5 09:15 modules -> ../../usr/lib64/httpd/modules lrwxrwxrwx. 1 root root 10 Apr 5 09:15 run -> /run/httpd [rei_ando@rei-vmmanager-test-01 ~]$ netstat -an | grep :80 tcp 0 0 10.10.10.27:50832 169.254.169.254:80 ESTABLISHED tcp 0 0 10.10.10.27:50838 169.254.169.254:80 ESTABLISHED tcp6 0 0 :::80 :::* LISTEN [rei_ando@rei-vmmanager-test-01 ~]$ [rei_ando@rei-vmmanager-test-01 ~]$ curl http://localhost:80 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Apache HTTP Server Test Page powered by CentOS</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


また、/var/log/messagesにOSConfigAgentが実行した内容が確認できした。
Apr 5 09:15:29 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T09:15:29.2325Z OSConfigAgent Info: Beginning ApplyConfigTask. Apr 5 09:15:29 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T09:15:29.5271Z OSConfigAgent Info: Executing policy "apache-install-policy" Apr 5 09:15:29 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T09:15:29.5283Z OSConfigAgent Info: Validate: resource "install-pkg" validation successful. Apr 5 09:15:30 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T09:15:30.2170Z OSConfigAgent Info: Check state: resource "install-pkg" state is NON_COMPLIANT. Apr 5 09:15:30 rei-vmmanager-test-01 OSConfigAgent[829]: 2023-04-05T09:15:30.2182Z OSConfigAgent Info: Installing yum package "httpd"


Apacheが起動しているのでWebブラウザからApacheテスト用Webサイトが確認できます。
20230405_182939.JPG


検証:OSポリシーに違反する設定変更したら自動で戻してくれる??

1. 手動でhttpdを停止する。(=OSポリシーの違反行為)
20230406_123802.JPG

[root@rei-vmmanager-test-01 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-04-06 01:22:26 UTC; 2h 15min ago Docs: man:httpd(8) man:apachectl(8) Main PID: 1819 (httpd) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─1819 /usr/sbin/httpd -DFOREGROUND ├─1820 /usr/sbin/httpd -DFOREGROUND ├─1821 /usr/sbin/httpd -DFOREGROUND ├─1822 /usr/sbin/httpd -DFOREGROUND ├─1823 /usr/sbin/httpd -DFOREGROUND └─1824 /usr/sbin/httpd -DFOREGROUND Apr 06 01:22:26 rei-vmmanager-test-01 systemd[1]: Starting The Apache HTTP Server... Apr 06 01:22:26 rei-vmmanager-test-01 systemd[1]: Started The Apache HTTP Server. [root@rei-vmmanager-test-01 ~]# systemctl disable httpd && systemctl stop httpd Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service. [root@rei-vmmanager-test-01 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: inactive (dead) Docs: man:httpd(8) man:apachectl(8) Apr 06 00:25:22 rei-vmmanager-test-01 systemd[1]: Stopping The Apache HTTP Server... Apr 06 00:25:23 rei-vmmanager-test-01 systemd[1]: Stopped The Apache HTTP Server. Apr 06 00:25:44 rei-vmmanager-test-01 systemd[1]: Starting The Apache HTTP Server... Apr 06 00:25:44 rei-vmmanager-test-01 systemd[1]: Started The Apache HTTP Server. Apr 06 00:28:19 rei-vmmanager-test-01 systemd[1]: Stopping The Apache HTTP Server... Apr 06 00:28:20 rei-vmmanager-test-01 systemd[1]: Stopped The Apache HTTP Server. Apr 06 01:22:26 rei-vmmanager-test-01 systemd[1]: Starting The Apache HTTP Server... Apr 06 01:22:26 rei-vmmanager-test-01 systemd[1]: Started The Apache HTTP Server. Apr 06 03:37:51 rei-vmmanager-test-01 systemd[1]: Stopping The Apache HTTP Server... Apr 06 03:37:52 rei-vmmanager-test-01 systemd[1]: Stopped The Apache HTTP Server. [root@rei-vmmanager-test-01 ~]#

念のため、ログでも確認します。
/var/log/messagesでもちゃんと止まっているログが出てます。
Apr 6 03:37:50 rei-vmmanager-test-01 systemd: Reloading. Apr 6 03:37:51 rei-vmmanager-test-01 systemd: Stopping The Apache HTTP Server... Apr 6 03:37:52 rei-vmmanager-test-01 systemd: Stopped The Apache HTTP Server.


2. OSポリシーが適用されるまで待ってみる。

3. OSポリシーが適用されたか確認する。
20230406_132627.JPG
httpdのステータスが起動されています。(最終時刻が更新されてる)
20230406_132605.JPG
[root@rei-vmmanager-test-01 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-04-06 04:23:59 UTC; 2min 0s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 2751 (httpd) Status: "Total requests: 10; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─2751 /usr/sbin/httpd -DFOREGROUND ├─2752 /usr/sbin/httpd -DFOREGROUND ├─2753 /usr/sbin/httpd -DFOREGROUND ├─2754 /usr/sbin/httpd -DFOREGROUND ├─2756 /usr/sbin/httpd -DFOREGROUND ├─2813 /usr/sbin/httpd -DFOREGROUND ├─2814 /usr/sbin/httpd -DFOREGROUND ├─2815 /usr/sbin/httpd -DFOREGROUND ├─2816 /usr/sbin/httpd -DFOREGROUND ├─2817 /usr/sbin/httpd -DFOREGROUND └─2818 /usr/sbin/httpd -DFOREGROUND Apr 06 04:23:59 rei-vmmanager-test-01 systemd[1]: Starting The Apache HTTP Server... Apr 06 04:23:59 rei-vmmanager-test-01 systemd[1]: Started The Apache HTTP Server. [root@rei-vmmanager-test-01 ~]#
同じようにログでも確認してみます。
/var/log/messagesからOSConfigAgentさんが OSポリシーを適用していることが確認できた。
Apr 6 04:23:58 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:58.0528Z OSConfigAgent Info: Beginning ApplyConfigTask. Apr 6 04:23:58 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:58.3548Z OSConfigAgent Info: Executing policy "apache-install-policy" Apr 6 04:23:58 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:58.3562Z OSConfigAgent Info: Validate: resource "install-pkg" validation successful. Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:58.9993Z OSConfigAgent Info: Check state: resource "install-pkg" state is COMPLIANT. Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:59.0010Z OSConfigAgent Info: Validate: resource "install-script" validation successful. Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:59.6469Z OSConfigAgent Info: Check state: resource "install-script" state is COMPLIANT. Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:59.6471Z OSConfigAgent Info: Executing policy "apache-always-up-policy" Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:59.6476Z OSConfigAgent Info: Validate: resource "running-script" validation successful. Apr 6 04:23:59 rei-vmmanager-test-01 systemd: Started Session c11 of user root. Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:59.7506Z OSConfigAgent Info: Check state: resource "running-script" state is NON_COMPLIANT. Apr 6 04:23:59 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:23:59.7507Z OSConfigAgent Info: Running "Enforce" for ExecResource. Apr 6 04:23:59 rei-vmmanager-test-01 systemd: Started Session c12 of user root. Apr 6 04:23:59 rei-vmmanager-test-01 systemd: Starting The Apache HTTP Server... Apr 6 04:23:59 rei-vmmanager-test-01 systemd: Started The Apache HTTP Server. Apr 6 04:23:59 rei-vmmanager-test-01 systemd: Started Session c13 of user root. Apr 6 04:24:00 rei-vmmanager-test-01 systemd: Reloading. Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.1815Z OSConfigAgent Info: Enforce state: resource "running-script" enforcement successful. Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.1816Z OSConfigAgent Info: Check state post enforcement: resource "install-pkg" state is COMPLIANT. Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.1817Z OSConfigAgent Info: Policy "apache-install-policy" resource "install-pkg" state: COMPLIANT Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.8353Z OSConfigAgent Info: Check state post enforcement: resource "install-script" state is COMPLIANT. Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.8354Z OSConfigAgent Info: Policy "apache-install-policy" resource "install-script" state: COMPLIANT Apr 6 04:24:00 rei-vmmanager-test-01 systemd: Started Session c14 of user root. Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.8768Z OSConfigAgent Info: Check state post enforcement: resource "running-script" state is COMPLIANT. Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.8769Z OSConfigAgent Info: Policy "apache-always-up-policy" resource "running-script" state: COMPLIANT Apr 6 04:24:00 rei-vmmanager-test-01 OSConfigAgent[827]: 2023-04-06T04:24:00.9821Z OSConfigAgent Info: Successfully completed ApplyConfigTask
Loggingからも確認できます。
install.yamlポリシーのログ
20230406_132648.JPG

start.yamlポリシーのログ
20230406_132711.JPG

もちろんブラウザからもapacheのテスト用Webサイトが見られます。
20230406_150134.JPG


検証:OSポリシーを適用外すとどうなるの??

OSポリシーが適用されているサーバをOSポリシーのフィルターを使用して適用させないようにしてみました。
20230406_145942.JPG
この時、OSポリシーによってインストールされたApacheのパッケージやApacheのステータスはどうなるのでしょうか。

詳細は以下を確認すればわかりますが、インストールされたままの状態を保ちました。
20230406_150225.JPG

[root@rei-vmmanager-test-01 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-04-06 05:24:31 UTC; 37min ago Docs: man:httpd(8) man:apachectl(8) Main PID: 4329 (httpd) Status: "Total requests: 64; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─4329 /usr/sbin/httpd -DFOREGROUND ├─4330 /usr/sbin/httpd -DFOREGROUND ├─4331 /usr/sbin/httpd -DFOREGROUND ├─4332 /usr/sbin/httpd -DFOREGROUND ├─4333 /usr/sbin/httpd -DFOREGROUND ├─4334 /usr/sbin/httpd -DFOREGROUND ├─4390 /usr/sbin/httpd -DFOREGROUND ├─4391 /usr/sbin/httpd -DFOREGROUND └─4392 /usr/sbin/httpd -DFOREGROUND Apr 06 05:24:30 rei-vmmanager-test-01 systemd[1]: Starting The Apache HTTP Server... Apr 06 05:24:31 rei-vmmanager-test-01 systemd[1]: Started The Apache HTTP Server. [root@rei-vmmanager-test-01 ~]# rpm -qa | grep httpd httpd-tools-2.4.6-98.el7.centos.6.x86_64 httpd-2.4.6-98.el7.centos.6.x86_64 [root@rei-vmmanager-test-01 ~]# curl http://localhost:80 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Apache HTTP Server Test Page powered by CentOS</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

20230406_150134.JPG



3. 躓いたところ

OS ConfigエージェントにErrorログが出力されてる

事象:systemctl status google-osconfig-agentを実行すると、activeで起動しているようですが、以下のエラーが出力されていました。
   Error response: Guest attributes endpoint access...
原因:メタデータに「enable-guest-attributes:true」を設定していない。
対応:上を設定してあげれば、エラーなく起動しました。



4. 本番環境で使用する上での注意事項を考えてみる

費用

お金は気にしますよねぇ。驚くことにVM Managerは毎月の無料枠が存在します!!公式ドキュメントを確認する限り、インスタンスが100台未満であれば毎月無料になりそうです。
100台を超えて以下の2点がすべて満たされるときに101台以降のインスタンスに対して$0.003/時間の課金が発生します。

1. VM Managerが設定していること

2. OS Config エージェントがOS Config サービスと通信していること

#VM Mangerを有効化しているインスタンスが起動している時間に発生するということになりますね。
詳細は、公式ドキュメントを参照してください。

お客様に「OS管理したいけど、高い!!」って言われたときにどう回避するかこの場で考えときます、、!!
費用削減案を2つ考えました。

1. 絶対にOS管理したいインスタンスだけに適用しておく。
プロジェクト全体のメタデータでVM Manager有効化する方法がすべてのインスタンスに適用されるので楽ですが、インスタンス個別のメタデータでVM Managerを有効化することで必要なインスタンスのみに適用できます。


2. 必要なタイミングだけ有効化する。
それぞれのサービスで必要なタイミングとか考えてみます。
「Scheduler + Pub/Sub + Functions」構成でインスタンスメタデータを更新します。(サーバレスで定期実行といったらの定番構成ですね)

# サービス 説明
1 OS Patch Management 環境を運用するうえでパッチ適用するスケジュールは決まっていると思うので、その前後に定期実行出来そうです。
また、手動でSchedulerを動かすこともできるので不意なタイミングでも実行できます。
2 OS Inventory Management OSの詳細情報を見たい時に手動でSchedulerを実行すればよさそうです。
また、無効化しても有効化していた最終の状態を表示してくれるので、そこまで困らなそうです。
#有効化されている間は10分ごとに情報を更新します。(ConfigAgent→ConfigService)
3 OS Configuration Management このサービスに関しては、必要なタイミングだけ有効化するって行為自体がこのサービスの目的に反している気がします。
これを使用する場合は常に有効化し、OSの状態がポリシーに違反していないか確認する必要がありそうです。
#有効化されている間は60分ごとにポリシーを適用します。(ConfigService→ConfigAgent)



ネットワーク到達性

OS Patch Management と OS Configuration Managementは、インスタンスがパッケージのソースとリポジトリにアクセスできる必要があります。
外部IPアドレスを持たない場合は、通常のリポジトリにアクセスできません。
以下のどちらかの対応が必要になりそうです。

1. NATゲートウェイを使用して通常のリポジトリにアクセスする

2. 限定公開のGoogleアクセス有効化&Artifact Registry Yum Repositoryを構成する

#お客様の本番環境になると基本的にインターネットにでられることは少ないと思うので、特にArtifact Registryも検証したいですね。



監視

OS ConfigエージェントがVM上で動作していないと、パッチ適用だったりポリシー違反して否かチェックしたりなど何もできなくなってしまいます。
そのため、OS Configエージェントが動作しているか監視(死活監視)する必要があります。
Cloud Monitoringを使用して通知を行うことを前提に、下記の2つの監視方法を考えました。

1. パッチジョブの状態が判定できる「VM instance patch state」メトリクスを使用してFAILEDになったら通知する。

2. Opsエージェントから転送されたメトリクスを使用してプロセスが動作しなくなったら通知する。

それぞれのサービスでどちらを使用した方がよいかを表で示します。使用したいサービスに合わせて、方法を検討するのがよさそうですね。

# サービス 監視方法 備考
1 OS Patch Management 1. 公式ドキュメントにも書いてあります。
2 OS Inventory Management 2. Opsエージェントの導入/設定の必要がある。
3 OS Configuration Management 2. Opsエージェントの導入/設定の必要がある。



Windowsの場合は、、、

Windows の自動更新と OS Patch Management サービス間の競合をさせないように、Windows OSの自動更新を無効化することが推奨されています。


おわりに

構築の自動化ではなく管理の自動化をするVM Managerを触ってみました。
個人的には非常に魅力的なサービスに思えました。
OS設定の自動化にはAnsibleを使用することが多いと思いますが、OS Configuration Managementを使用することで構築に加え、状態を維持(管理)してくれるのが魅力だと感じます。
また、OS Patch Managementを使用することでパッチ適用を自動化できるため、作業ミスの撲滅、アップデート不要なパッケージのアップデートをしてしまうことによる手戻りやパッチを定期的に実施するエンジニアを用意しなくてもよいことがコスト削減につながります。

ただ1点残念に思える点は、OS Configuration ManagementのOSポリシー適用が60分ごとであるため、最大60分間は期待していない状態になってしまうことです。
もちろん対応策として、Cloud Monitoringのカスタムメトリクスなどの指標をもとにアラートポリシーで通知が可能なので、OS Configuration Managementとあわせて監視設計も必要になりそうです。

IaaS領域の自動化に興味がある方は是非VM Managerをお試しください。

【GCP】VM Managerがすごい。

シリコンバレー2日目 Computer History Museum

こんにちは。クラウド技術統括部のM.Y.です。

Google社訪問のためのシリコンバレー出張ですが、自由時間を利用して、Mountain Viewにある Computer Histroy Museum に行ってきました。
実は私は入社2年目だった2016年に Capability Tourでシリコンバレーに行かせていただいています。(その際のレポートはこちら
その際にもComputer History Museumに来ていたので、なんと2度目の訪問です。

IMG_0666.jpg

時差ボケの重い体を引きずって行ってまいりましたのでレポートします。

エントランス

IMG_0639.jpg

Revolutionの文字がエントランスに掲げられていました。
「Revolution(改革)」は当社の社名の由来の一つでもあります。
どうやら「REVOLUTION: THE FIRST 2000 YEARS OF COMPUTING」というのがメインの展示のタイトルだったようです。
親しみのあるメッセージに、展示への期待が高まりました。

展示

メインの展示は、そろばんからスマートフォンまで、コンピューティングの歴史を年代順に紹介している展示会です。
私の独断と偏見で選んだ興味深かった展示を5つ、ご紹介します。

定規

IMG_3304.png

コンピューターの始まりは計算機です。
最初は計算尺という定規のような計算機です。
館内にもデモ用の計算尺が用意されていて、実際に計算を試してみることができました。
対数を利用しているようですが、これを考え出すのもすごいなと思ってしまいます。

なお、パンチカードを使った電子計算機が出てきたときには「150人の追加のエンジニアに相当する」というのが売り文句だったようですよ。

500.png

IBM System/360

IMG_0018.png

IBMのメインフレームの主流になった最初のマシンです。
それまでの製品では互換性のないマシンが使われていたので、拡張可能なシステムを構築するのには適していませんでした。
System/360はプログラムや周辺機器に互換性を持っていたことで、業務の規模の拡大に合わせて上位機種へ移行するということができるようになったそうです。

そばにはテープデバイスもありました。

IMG_0020.png

ところで、テープが初めて出てきた当時、それまでのパンチカードとちがってテープの状態では人がデータを見ることができないので、テープは信用できない、という扱いだったようです。
新しい技術が出てきたときに抵抗があるのは今も昔も変わりませんね。

プログラミング言語のチャート

IMG_0026.png

何千ものプログラミング言語のうちの150のものについて、言語同士の影響関係を描いた図です。
写真の中にはありませんが、インフラエンジニアである我々にも馴染み深い「awk」や「sed」も書かれていました。
awk や sed は単なるコマンドのように考えてしまいがちですが、プログラミング言語なんですよね。

Cisco社のルーター

IMG_0047.png

でっか!!というのが初見の感想です。
ちなみにCiscoという名前ですが、San Franciscoから取られているんだそうです。
マシンに描かれている模様もゴールデンゲートブリッジですね。

Googleの初期のラック

IMG_0045.png

ちょうど前日の会食の際に、Googleの方から「Googleの初期のラックがComputer History Museumにある」ということを伺っていたので、見るのを楽しみにしていたものの一つです。
ケーブルすごいな、というのが第一印象でした。
これが特徴的だったのは、産業用の構成済みのサーバーラックを利用していたのではなく、一般的なコンポーネントを組み合わせて作り上げているということです。
たしかに、これ以外の展示ではメインフレームのような1台の巨大なマシンになっていましたが、これは違います。
今日では当たり前になっている。廉価なマシンを組み合わせて1つのシステムを作るということをやっていた、ということなんですね。

Tips

ところでわたくし、恥ずかしながら英語がまったくできません。
今回のComputer History Museumはアメリカの博物館なので、当然説明書きは全て英語です。
じゃあ説明を何も理解できなかったんじゃないの?と思われるかもしれません。

そんな私に強力な武器がありました。
Googleレンズです。

なんと、カメラで写した画像から文字を認識し、日本語に翻訳することができるのです。
写真を撮ってアップロードするのではなく、カメラを向けるだけでよいのでとても便利です。
スマートフォンからは「Google アプリ」から利用できます。

IMG_3636.jpg

体感的にはかなり自然な日本語に翻訳してくれていました。
外国語に困る機会があれば是非使ってみてください。

終わりに

当社代表の紙屋は長年IT業界にいましたので、展示物を見ながら当時の情勢なんかを解説してくれていました。
私は知らないことばかりでしたが、解説を聞きながら展示物を見ることでより当時に思いを馳せることができたような気がします。
展示物が膨大でどれもとても興味深かったので、最後は早足になってしまったのがちょっと残念です。

ところで、展示の中には「仮想化」や「クラウド」という言葉はありませんでした。
コンピューターというマシンの歴史からいうと仮想化は単なるソフトウェアでしかなくその下で動いているマシンに変わりはない、ということなのか。
単純に仮想化やクラウドが主流になる前に作られた展示から更新されていないのか。
もしかしたら、次に行った時には展示が更新されてクラウドのコーナーなんかも出てくるかもしれません。

このブログを読んでくださった皆さんも、シリコンバレーに行った際には是非訪れてみてくださいね。

シリコンバレー2日目 Computer History Museum

Oracle SEHAとは

今回はOracle Database 19.7以降のバージョンから使用可能となったOracle SEHAについて紹介したいと思います。

■Oracle SEHAとは

Oracle 19cでは、Standard EditionにおいてRACReal Application Clusters)がサポートされなくなり、代替として提供されたものがSEHAStandard Edition High Availability)です。
HA
とは高可用性を意味し、システムを構成するサーバーやネットワークなどを冗長化して、障害時や災害時でもシステムを継続して稼働できる構成をHA構成といいます。

特徴

・フェイルオーバー
データベースはシングルインスタンスです。アクティブノードに障害が発生した場合、パッシブノードへ自動で切替えます。また、SEHAではASMインスタンスが起動しており、共有ディスク、ファイルシステムへのリマウントを行わないため、HA構成を比較するとフェイルオーバー時間を短縮できます。

画像1.png

ライセンスについて

SEHA構成はクラスタ環境でのフェイルオーバー構成となりますので「10日間ルール」の対象となります。
10
日間ルールとは、年間10日間以内を限度に待機系サーバーは本番系のライセンスで稼働させる(フェールオーバーする)ことが可能、というものです。
注意点として、10日間(=240時間)というわけではなく、24時間枠で待機系を稼働させた回数が10回以内ということになります。


例1)
月曜日 00:0513:55 
→24
時間枠で1回フェールオーバー(カウント 1日)
水曜日 00:5501:2515:1520:45 
→24
時間枠で2回フェールオーバー(カウント 1日)
土曜日 22:0022:05 
→24
時間枠で1回フェールオーバー(カウント 1日)

上記の場合、カウントは3日となるため10日間ルールの対象となります。

例2)

運用のため月1でフェールオーバーしてメンテナンスする場合

 →月1回×12か月=カウント12日

上記の場合、10日を超えてしまうため10日間ルールの対象外となります。

[10日間ルールの対象]

・複数のサーバーが1つの共有ディスクまたはSANにアクセスすること

・クラスタ構成であること(クラスタソフトウェア利用のactive/standby構成)

まとめますと、SEHA構成の場合は待機系での稼働が10日以内であれば待機系のライセンスは不要です。

条件を満たさない場合は本番/待機 両方にライセンスが必要となります。

以上、Oracle SEHAについて簡単な概要とライセンスについてでしたが、

少しでも参考になれば幸いです。

Oracle SEHAとは
資料請求・お問い合わせはこちら

▲ ページトップに戻る

技術ブログ

2023年5月
« 4月   6月 »
  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 31      
採用に関するお問い合わせはこちら