Bibo-log

Bibo-log

主にやってみたことを記録していきます。

Google Cloud Platform を無料で始めてみた。第3回 GCEの動作確認

 

はじめに

今回は前回立ち上げたVMでアプリケーションを動かします。

サンプルコード入手

アプリケーションと言っても、hello worldという、プログラミングを学ぶと一番最初にhello worldを表示させるということとやる、アレのようなもの。

とはいえ、いきなりアプリ作れ、って言語は何で?ってことになるので、Pythonのサンプルコードで試します。GitHubから持ってきます。

f:id:atakaha453:20201220043514p:plain

Pythonのサンプルコード from GitHub
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

gitをインストールしていない場合は、インストールをします。Macならbrewを使って入れることができます。

brew install git

brewもまだならこちらを参照

brew.sh

GCP側にリポジトリを作成する

GCPコンソールの左側のメニューから「Souuce Repositories」を選ぶ。

f:id:atakaha453:20201220045349p:plain

f:id:atakaha453:20201220045442p:plain

Cloud Source Repositories

新しいリポジトリを作成します。リポジトリ名は「hello-world」。ベタですが。
ローカルからコードをpushを選択する。
ご丁寧に実行コマンドを教えてくれる。素敵。

f:id:atakaha453:20201220050014p:plain

リポジトリにコードを追加するメニュー

前回、SDKをインストールしたからか、1つ目のコマンドは意味なかった模様。

f:id:atakaha453:20201220050545p:plain

1つ目のコマンド実行時のメッセージ(抜粋)

f:id:atakaha453:20201220051107p:plain

プライベートリポジトリの画面

ローカルからリポジトリのクローン作成〜アプリ実行

リポジトリのクローンを試みます。 なんと、このインスタンスにはgitが入ってないとのこと。

sudo apt install git

でインストールします。10秒くらいで終わった。

cd hello-world
sudo apt install python-pip gunicorn
pip install --upgrade pip
sudo pip install Flask
sudo gunicorn -b 0.0.0.0:80 main:app 

最後のgunicornコマンド打ったところで、「Hello World」が出るとあるが出ません。ただ待ち受けている感じ。なので、GCPコンソールからもう一つ、このVMのコンソールを立ち上げて以下実行

curl http://0.0.0.0:80

見事、「Hello World!」が表示されました。

f:id:atakaha453:20201220055545p:plain

Hello Worldが表示された!

結構、手間がかかるという印象でした。でも、初回だからね。

Google Cloud Platform を無料で始めてみた。第2回 GCE(Google Compute Engine)

はじめに

前回、アカウントを作って$300ドルの無料体験を始めただけだった。それから早1カ月、、、。いよいよ始動します!

実施手順などは基本これに沿っていきます。

【GCP入門編・第3回】難しくない! Google Compute Engine (GCE) でのインスタンス起動方法! | 株式会社トップゲート

再びログイン

ということで、まずはログイン。最初$300から増えてる?って思ったけど、なんてことはないドル換算だから、¥30,000ではないだけのこと。

f:id:atakaha453:20201217060719p:plain

始める前のクレジット

インスタンスの作成〜立ち上げ

左上のメニューからGCEを選択すると、「仮想マシン作りますか?」的なメッセージが出てくるので、迷わずYes!

すると、AWSでも見たようなインスタンスのスペックを決めるような画面が表示される。細かい設定内容の話は省略するけど、気になったのは「シリーズ」。これは説明を見るとCPUプラットフォームの違いのようだが、第2世代・第1世代とあって、第1世代の方がだいぶ高い。逆かなと思って選択してみたけどそうではなかった。

 第2世代 $8.37/月

 第1世代 $31.69/月

ま、古いプラットフォームを維持する方がお金がかかるってことか。メインフレームなんていうレガシー中のレガシーがそれの代表格。

f:id:atakaha453:20201217062320p:plain

第2世代を選択した場合

f:id:atakaha453:20201217062422p:plain

第一世代を選択した場合

ログインしてみる

インスタンスを「作成」すると1分くらいで緑のチェックが表示されて、無事に完成。

SSH」というボタンからログインしてみる。クリックしてみると、別のブラウザが開いて、SSHでログインした状態になる。

f:id:atakaha453:20201217063427p:plain

SSHログイン

Cloud SDKをインストール

ローカルマシンからgcloudコマンドで操作できるように、SDKをインストールする。

https://cloud.google.com/sdk/docs/quickstart

tarファイル形式なので、こんな感じで解凍してインストール。参照しているリンクではホームディレクトリ推奨とのことです。

>|tar xvf google-cloud-sdk-319.0.0-darwin-x86_64.tar.gz
cd ~
sudo ./google-cloud-sdk/install.sh
source .bash_profile
sudo gcloud init --console-only|<

はじめは「--console-only」を付けずに実行すると、認証でエラーになっていた。具体的にはデフォルトブラウザをChromeにしているにもかかわらず、Safariが立ち上がり、Googleアカウントでのログインが表示される。正しいパスワードを入力しているはずなのに、ERROR。


そこで、このオプションをつけると、「Go to the following link in your browser」と指示されるので、Chromeでその表示されたリンク先へアクセス。なにやら50桁くらいのキーが表示されるので、それをコピペしてなんとかインストール成功!
ずいぶん時間かかったよ。


ターミナルからのログイン

インスタンス一覧の「接続」の列の「▼」をクリックすると、「gcloudコマンドを表示」とあるので、それを表示して、そのコマンドをPCのターミナルへ貼り付け!
すると、初回なのでキー作成処理が走り、パスフレーズを入力して、無事にログイン。rootでログインしている。

gcloud beta compute ssh --zone "リージョン名" "インスタンス名" --project "プロジェクト名"

なお、このコマンドも実は一回エラーとなる。というのも、インストールをsudoで実行してしまったので、通常アカウントだとログを書けない等でエラーになる。ので、いこうはずっとsudoを付けて実行している。(これが正しくはなさそう)

nginxのインストール

sudo apt-get install nginx

f:id:atakaha453:20201218053843p:plain

nginxが立ち上がっている

インスタンス作って、nginx立ち上げるのは超簡単。でもSDKのインストールに苦戦してしまいました。次からは大丈夫でしょう。

課金が続いてしまうので、一旦、インスタンスは落としておく。

追伸

brew(正確にはbrew cask)を使って、SDKをインストールできたので、アンインストールしてbrewからインストールした。コマンド一発だったね。

ただ、再インストール後は以下の4点が必要となった。

  • インストールされるディレクトリが異なるので、profileの修正
  • Googleアカウントへログインし直し(gcloud auth login)
  • GCPのプロジェクトIDの設定(gloud config set project "プロジェクトID")
  • インスタンスログインのSSHキー作成(ログイン時に案内あり)

cloud.google.com

qiita.com

早起きすればなんでもできる、と思ってる

結論

早起きすればなんでもできるよ。

 

コロナ禍からの在宅勤務

2020年春、コロナ禍に突入以降、ほぼ毎日在宅勤務してます。

 

在宅勤務生活が始まってから1か月ほど経ってから、毎朝3時に起きることにしました。

f:id:atakaha453:20201122103409j:image

 

何故か

在宅勤務してると、仕事終わった瞬間、子守や家事の時間がスタートします。なので、自分のまとまった時間が取りにくい。

そして、21時に寝室で子供の寝かしつけをすると、一緒に落ちてしまい、23時とか0時に目を覚まし、やっちまった感がハンパないです。

そこから起きるのもダルいし、しんどい。なのでら朝まで長い睡眠となるわけです。

マインドチェンジ

そんなやっちまった感が嫌になってきたので、思い切って、寝かしつけではなく21時に子供と一緒に寝ることにして、そこから自分のベスト睡眠時間6時間後の3時に起きよう、としたわけです。

その結果、何をしてるか

夜、食後やビール飲んだ後ではやらない、できない、色んなことできるようになります。

  • 資格試験の勉強(CISMは落ちたが、違うのを狙ってる)
  • Splunkのオンデマンドトレーニングを受ける
  • GCPを始める
  • YouTube 動画やudemyでプログラミング(python)を学ぶ
  • 本を読む
  • ランニング をする(8月は2日に1回のペース)
  • この週末は、とあるCTFの問題を解くのに時間使った
  • そして、ブログを書くようになった(私なとってブログはアウトプット活動という位置付け)

とまあ、この朝の3時間はすごい充実してる。

早起きに勝るライフハック無し、と思う。

最後に

でも、在宅勤務でも仕事で遅くなったりするし、3時にパッと起きれない時は、身体の反応に従って無理して起きないようにもしてる。睡眠時間削ったり、無理すると仕事に支障をきたすし。

 

Google検索に改竄された?サイトが混じっている件

経緯

SplunkのIOD(オンライン学習コンテンツ)というものがあり、過去に「Fundamentals1」を無料で受講した話を書いたが、
会社がSplunkを使っていることから、「Fundamentals2」「Fundamentals3」を無料で受講できて、
いま「3」を受講している。

これは動画を見て、Labでいじってみて、Quizに答えると言う形式で、
「2」までは動画やLab資料は日本語ありだったのだが、「3」からは英語のみ、、。

SPLのrandom関数を調べてみる

Statistical eval functions - Splunk Documentation
そんなこんなで学習を進めていたとき、random関数ってのが出てきて、
ランダムな数値を返すってことは当然理解できるんだけど、いつつかうの?というのがピンとこず、
Google先生に聞いてみよう!と「splunk random 使い方」ってワードで検索!

その結果に、、

結果がこれで、この赤丸のリンクへ。これを狙ったと言うわけではなく、上から順々にアクセスしただけ。
このリンクは上から5番目だった。

f:id:atakaha453:20201113035725p:plain
検索結果

まずはここに飛ぶ。読みづらいなと思っていると、、、
f:id:atakaha453:20201113035749p:plain

勝手にここに飛ぶ。iPhone11貰えるってよ!いや、iPhone12買ったしwww
f:id:atakaha453:20201113035837p:plain

そしてこんなポップアップが出てくる。
f:id:atakaha453:20201113035902p:plain

コメント欄もあるけど、嘘クサ!!
f:id:atakaha453:20201113040017p:plain

ポップアップにリダイレクトされてたURL書いてあるけど、何回か試すとリダイレクト先は複数あるみたい。
あ!これでrandom関数使っているかもって、まさか。

最終的にはESETがブロックするようになりました。学習してくれてありがとう。
宣伝しとくかww

怪しいSMSには要注意。誰?って思ったら、削除すべし。

怪しいSMS着信

SNSではないです、ショートメッセージサービスです。

f:id:atakaha453:20201112125648p:plain:w200:h220
SMSアプリ(iPhoneのもの)

これが届いた怪しいメッセージ。

f:id:atakaha453:20201112125654p:plain:w350:h600

なんか、amazonヘビーユーザの私としては、置き配の話かなと思わせるメッセージ。


過去のメールを見てみると、おぉ、ショートメッセージで連絡が来ることもあるとのこと。

f:id:atakaha453:20201112131918p:plain:w350:h600
正規のamazonからのメール

でも、このメッセージのほうにあるURLってなんだろう?
怪しさ満点なんだけど。

怪しいサイトの調査

いくつかあるんだけど、このURLはどんなサイトなの?って思ったときにここで調べたりします。
https://www.aguse.jp/

f:id:atakaha453:20201112125712p:plain
aguseで調べた結果
apkファイルって

なんとかかんとか.apkってなってるね。
apkファイルってのは、アンドロイドアプリケーションパッケージってことで、アンドロイドで動くアプリケーションってことね。
ja.wikipedia.org

なので、メッセージのURLへアクセスすると、このアプリケーションが実行される事になります。インストールかもしれない。
どんなアプリケーションなのかは想像がつくけど、いいものではないはず。

ということで、削除!
したのでありました。

Google Cloud Platformを無料で始めてみた

はじめに

Google Cloud Platform(GCP)とは

パブリッククラウドサービスの一つで、Googleが提供するものですね。
日本ではAmazonAWSがシェアが多く、Googleは後発ではあるけども、最近は伸びている印象。
cloud.google.com

今後、仕事でGCPを使う事になるので、まずは2つほど書籍で流し読みして、いよいよ触ってみる。
どちらも「Kindle Unlimited」対象になっていたので助かった。

トライアルの手続き

さて、90日&$300分無料というのがあると知っていたので、それを使ってみる。
AWSでは無料アカウント作って、udemy動画見ながら触ってきた。GCPはどんな感じかなー。
f:id:atakaha453:20201110053144p:plain

ブラウザはChromeを使っていて、Googleアカウントでログインしたままになっているので、そのままGCPのアカウントと紐づけられる。
まずは国を選んで続行。
f:id:atakaha453:20201110053233p:plain

住所とクレカ情報を入力して続行。自動で課金されないという注意書きを信じて入力。
そして、「無料トライアルを開始」!
f:id:atakaha453:20201110053238p:plain

すると、こんなポップアップが出てきた。
f:id:atakaha453:20201110053255p:plain

そして、メールが届く。全部英語です。
f:id:atakaha453:20201110053301p:plain

GCPのコンソールのダッシュボードはとりあえず、日本語。何もしてないけど、プロジェクトが作られている。
いくつかのリンク先を見てみたけど、場合によって英語のみだったりします。Chromeの翻訳機能を使おう。
f:id:atakaha453:20201110053310p:plain

セキュリティだけでもこんなにメニューがある。今後一つ一つ見ていく事にする。
f:id:atakaha453:20201110053351p:plain

無料枠の留意事項

リソース面での制限事項があるみたい。触ってみるのが目的なので、それほど大きなリソースは必要ない。
今後、ぶつかったときに考える事にする。
f:id:atakaha453:20201110053357p:plain

注意するのはここ!

無料トライアルが終了したら、
 リソース全停止
 Compute Engine(仮想サーバ)に保存したデータは削除される
とのことです。なるほど、大したデータは残らないと思うけど、せっかく学習したことが失われないように注意が必要かな。
f:id:atakaha453:20201110053405p:plain

とりあえず、課金アラートを設定してみた。でも$300の無料枠消化分についてはアラート出るんだろうか。
f:id:atakaha453:20201110053411p:plain

コンソールの一番上にこんなバナーが出ている。(字が小さい、、)
無料枠を使っているけど、「アップグレードすると無制限にアクセス」と言っている。どういうこと?
f:id:atakaha453:20201110053418p:plain

有効化をクリックするとこんなポップアップが。
これは前述した、無料枠が終わると停止というものがアップグレードしておいくと、停止せずにシームレスに課金となるよ、
という意味だと理解した。とりあえずは学習用で、止まったら困るというものでもないので 一旦このままにしておく。
でも、アップグレードしないと触ってみたいサービスが触れないならちょっと先行してアップグレードするかもね。
f:id:atakaha453:20201110053430p:plain


今日はここまで。次回以降はこれを参考に触れてみる。
【GCP入門編・第3回】難しくない! Google Compute Engine (GCE) でのインスタンス起動方法! | 株式会社トップゲート

ISACAの資格試験、CISMを在宅で受験してみた

CISM試験について

ISACAのCISMって、ご存知ですか。

www.isaca.org

ISACAは米国の団体で、システム監査やシステムリスクなど専門家向けの団体です。
資格試験を主宰していて、
 ・CISA公認情報システム監査人
 ・CISM(公認情報セキュリティマネージャ)
などがあります。たぶん、この2つがメジャーな資格です。

今回受験したのがCISMで、その資格試験の詳細はISACのサイトをみるのが良いです。

www.isaca.gr.jp

簡単にいうと、
内容  :セキュリティマネージャ業務に関するもの(ガバナンス、リスク管理など)
試験時間:4時間
問題数 :150問(4社択一)
試験料 :$575(会員価格)
といったものです。

受験のモチベーション

CISMを受験するために、試験料や問題集を安く買うために会員になります。これも$135。
これでも受験しようと思ったのは、やっぱり箔がつくからというものです。
セキュリティといっても、テクノロジーよりもリスク管理やセキュリティマネジメントが中心です。
仕事的にはその領域が多いので、今後の転職も見据えて受験することにしました。

オンラインでの試験がある

www.youtube.com

会場試験と比べてオンラインの試験は、いつでも、何時でも設定ができます。
いつでも何時でもは言い過ぎかもしれませんが、選択肢は圧倒的に多いです。

ということで、自宅で受けたかったが、子供がいたりと静かに受験するのは難しかったので、
自宅近くのビジネスホテルで受験することに。

f:id:atakaha453:20201106222415j:plain
ビジネスホテルの一室。

デイユースで3,000円と安かったのでこちらで決定。
ちゃんとWifiも飛んでるので、PCのセッティングして、あとは試験時刻を待つことに。

本人確認の失敗

本人確認のマテリアルは「政府が発行したもの」ということで、
当然、運転免許証でOKと思って、財布に入っているそれを持参。

しかし!

オンライン試験が始まると、ネットの向こうでは試験官がカメラに移した身分証をチェックする。
また、PCのカメラを使って、部屋に誰かいないか、机の下に何か忍ばせて無いかも撮影して確認してもらう。

チャットが英語で行われたので、試験官は外国人だと判断。
すると、免許証に書いてある、漢字の氏名は彼らには読めず、試験申し込みしたFirst Name/Family Nameとも一致しない。
他に無いかと問われたが、クレジットカードを出しても、「対象外」の一点張り。

海外の団体の資格試験(マイクロソフトやオラクルなどなど)は試験センターで受けるものだけど、
そこは日本人が運営しているから、免許証で本人確認が可能です。
でも、インターネット越しで海外から本人確認されるとは、考慮ができていなかったです。

ということで、その日は試験は受けられず終了となりました、、、。
これが自宅だったら、すぐにパスポートを提示することができたんですが、考慮不足でした。

しかし、オンライン試験ツールを提供するPSI社とやりとりし、無償で試験をさせていただくことになりました。
試験センターだったら免許証で本人確認できますよね、という主張で。

再試験

また、ホテル借りてというのももったいないので、子供が寝てからの21時からという時間帯をチョイス。
もちろん懲りずに在宅試験です。本人確認資料はパスポートを準備。
今回はクリア。

しかし、結果は、、、不合格でした。
普段、21〜22時に寝て、3〜4時に起きる生活をしているからか、
試験中眠くて、というかたぶん寝てしまいました。その影響が大きい(と思いたい)。
試験終了時点で、「不合格」と表示され、2週間後くらいに何点だったか、メールで通知されます。
点数はもう一息という感じでした。

勉強法

合格してないので参考にならないかもですが、勉強法は、ISACA公式の問題集をひたすら解くというもの。
セキュリティ業務は6年程度なので、ISACA公式のマニュアルの購入は見送りました。問題集も$120+Shipping $43もするので。

f:id:atakaha453:20201106223122j:plain:w400:h600
公式の問題集。

ちなみに、公式問題集やマニュアルはISACA公式サイトでのみ購入可能です。
なお、価格は前述の通りで、アメリカから来るので時間かかるし、英文を機械翻訳した感じでだいぶ読みにくいです。

試験を受けてみての結論は、問題集は有意義ではあるが、この問題集だけでは合格できません。
問題集では問われない内容が複数ありました。

本当の再試験?

試験料が高いし、仕事の状況から別のことを学ばなくてはならず、モチベーション急降下。
たぶん、トライはせずに、次年度の会費は払わずに会員資格消滅する見通しです。

以上、色々と残念な話でした。