Google Cloud Logging上の特定のログをメールで通知しよう

お久しぶりです。

最近、Google Cloudを使用する機会が多く、 このサービスはAWSでいうと〇〇やなと脳内変換しながら作業しています。

さて今回はGoogle Cloud Logging上に集計された特定のログをメールやSlackで通知する方法をご紹介したいと思います。

手順1 通知先を設定

まずは通知先を登録しましょう。

1.Cloud Console で、[Monitoring] に移動します

2.Monitoring のナビゲーション パネルで、notifications [アラート] をクリックします。

3.[Edit notification channels] をクリックします。

f:id:mister_yoda:20210829194833p:plain

4.チャネルの種類を見つけて [ADD NEW] をクリックし、情報を登録します。今回はEmailで通知しますので、Emailの[ADD NEW]をクリックします。

通知したいメールアドレスと表示名を入力し、[保存]をクリックします。 f:id:mister_yoda:20210829195134p:plain

手順2 フィルタリング用のクエリを作成

続いて、通知アラートを作成します。

1.Cloud Console で、[ロギング] に移動します

f:id:mister_yoda:20210829195616p:plain

2.フィルタリング用のクエリを作成します。

アラート設定の際に特定のログにフィルタリングするためのクエリ情報が必要となります。 上記のエクスプローラ上で事前にクエリを作成しておきましょう。 クエリ入力欄の上部に[リソース][ログ名][重大度]から絞り込むだけで、クエリが自動で作成されるので活用しましょう。 私の場合、Cloud functionsで出力されるエラーのうち、エラー以上のものを通知したかったため、 リソースをCloud functionsの作成した関数を追加し、重大度は[緊急][アラート][重大][エラー]にチェックつけ追加しました。 f:id:mister_yoda:20210829200203p:plain f:id:mister_yoda:20210829200718p:plain

作成されたクエリは以下の通りです。

resource.type="cloud_function" resource.labels.function_name="sample"
severity=(EMERGENCY OR ALERT OR CRITICAL OR ERROR)

このクエリを実行し、フィルタリングされたログ情報を表示しましょう。

手順3 アラートの作成

1.ログエクスプローラ画面の右真ん中付近の[操作]ボタンをクリック。ログアラートの作成をクリックします。

f:id:mister_yoda:20210829201215p:plain

2.アラート情報を入力します。

①Alert detailでアラート名とアラートの内容を入力し、[次へ]をクリックします。

f:id:mister_yoda:20210829201658p:plain

②Choose logs to include in the alertでは事前にクエリが実行されていればそのクエリ式が既に入力されているはずです。 そのまま[次へ]を押下しましょう。

f:id:mister_yoda:20210829202036p:plain

③Set time between notificationsでは通知の間隔を指定します。好きな間隔を指定し、[次へ]をクリックします。

f:id:mister_yoda:20210829202129p:plain

④Who should be notified? で手順1にて作成したチャネルを指定しましょう。指定後、[SAVE]をクリックします。

f:id:mister_yoda:20210829202405p:plain

これで設定は完了です。 実際にテストしてみましょう。

私の場合はCloud functionを設定したので、Cloud functionで意図的にアラートが発生させてみます。

エラー発生後、およそ30秒ほどでメールがきました! f:id:mister_yoda:20210829202848p:plain

最後に

今回はGoogle Cloud Logging上の特定のログをユーザに通知する方法を試してみました。 ログアラートの箇所にベータ版と記載してあったので、もしかしたら今後設定方法が変わるかもしれませんが、 同じような設定をしたい方ぜひとも試してみてください!

AWS VPC ルートテーブル | 送信先とターゲットとは?ルートテーブルを噛み砕いて解説します

始めに

みなさんこんにちは。

早速ですが、 AWS VPC ルートテーブルの送信先「ターゲット」ってほぼ意味同じじゃね?どっちがどっちだっけ? と思われている方、多いのではないでしょうか?

かくなる私もあれどっちだっけ?と度々なり、その都度調べていました・・・

今回はVPCのルートテーブルとは何かを噛み砕いた上で、

送信先」と「ターゲット」の意味を考えたいと思います。

忙しい人向けに結論

結論から書くと、それぞれ以下の意味となります。

それでは詳しく見ていきましょう。

ルートテーブルの役割とは?

そもそもVPCには内部的にルータが存在しています。

このルータがVPC内部・外部からの通信の適切な経路を判断するためにルートテーブル情報が必要なわけです。

f:id:mister_yoda:20210620162903p:plain

さて、このVPCにサブネットを作成してみます。

今回、パブリック用とプライベート用のサブネットを1つずつ作成してみましょう。

f:id:mister_yoda:20210620163336p:plain

先に述べた通り、VPC内には暗黙的にルータが存在するため、 ルータ上にテーブルを作成して、サブネットに関連付けてあげる必要があります。

ただAWSではVPCを作成するとデフォルトのルートテーブルが自動的に作成されます。

さらにサブネットとルートテーブルを明示的に関連付けていない場合は、 上記で作成されたデフォルトのルートテーブルが自動で紐付けられます(ありがたい・・)

ではどのようなルートテーブルが紐付けられているのか見てみましょう。 f:id:mister_yoda:20210620165016p:plain

出てきましたね・・・送信先とターゲット。

送信先トラフィックを送信する宛先」、ターゲットはトラフィックを宛先に送信をする経路」を意味すると先述しました。

またここで記載されている「local」とは、ローカルルートのことで「同じネットワーク(今回であればVPC)内の経路」を意味します。

つまり、上記のデフォルトルートテーブルの意味は、 同じVPC内のネットワークを経由して、同じVPC[10.0.0.0/16] 宛にトラフィックを送信する ということになります。

この状態になれば、 サブネット内、サブネット間であれば通信ができる状態になっているということですね!

めでたしめでたし。

インターネットと通信をするためには?(補足)

さて主題はこれにて終わりなのですが、 まだパブリックサブネットからインターネットに出るための経路がありませんよね。

どうしたらいいでしょうか?

答えは簡単で パブリックサブネット用のテーブルを新しく作成し、 付け替えてあげる必要があります!

f:id:mister_yoda:20210620171440p:plain

上記のように新しくパブリック用のルートテーブルを作成し、 パブリックサブネットをこのルートテーブルに付け替えてあげます。

またテーブルの2行目には以下のような経路情報を追加します。

  • 送信先・・・すべてのIPv4の宛先(0.0.0.0/0)
  • ターゲット・・・事前に作成したインターネットゲートウェイ(igw-xxxxxx)

こうすることによって、パブリックサブネットからインターネットゲートウェイを経由して、インターネットと通信ができるようになります。

まとめ

今回はVPCルートテーブルを噛み砕いた上で、送信先とターゲットの意味を解説してみました。 噛み砕いて理解してみると、AWSの内部の仕組みがわかって面白いですね。 それではまた次回!

【AWS認定資格】15ヶ月で12冠した僕がやってきたこと

AWS認定資格 ついに12冠しました 👏

ソリューションアーキテクトアソシエイトを2019年12月に取得してから、

15ヶ月ほどで全資格を取得することができました!!

f:id:mister_yoda:20210404204706p:plain

勉強し始めたころの僕について(2019/12頃)

受験日と点数

資格名 受験日 点数
ソリューションアーキテクトアソシエイト 2019/12/21 804
デベロッパーアソシエイト 2020/08/01 883
SysOpsアソシエイト 2020/10/03 731
DevOpsプロフェッショナル 2020/11/21 890
クラウドラクショナー 2020/08/01 778
ソリューションアーキテクトプロフェッショナル 2021/01/10 883
セキュリティ スペシャリテ 2021/01/11 843
Alexaスキルビルダー 2021/02/06 873
データ分析 スペシャリテ 2021/02/11 799
ネットワーキング スペシャリテ 2021/02/11 862
機械学習 スペシャリテ 2021/02/27 838
データベース スペシャリテ 2021/02/27 762

こうして見ると2月どうした?って感じですね・・・

今年度中にはどうしても全資格取得したいなーと思っており、

申し込んだら否が応でも勉強するでしょ!ということで2月に一気に申し込んでみたところ、、

なんと全て合格してしまいました。。

運ももちろんあったと思いますが、勉強もめっちゃしました。

おそらく平均で一試験40時間くらいは勉強したのではないでしょうか。

(1月、2月は業務後の深夜に勉強+土日のフルコミットでなんとかしていました・・・)

せっかくこんな頑張ったので、、今回は私がAWSの認定資格を全て取得できた勉強方法ついて紹介したいと思います。

参考書

受験する資格の参考書が出版されていたらまずは買って読むのがおすすめです。 試験の全体感や試験の出題ポイントが丁寧に解説されています。

資格対策参考書

f:id:mister_yoda:20210404162145p:plain
ソリューションアーキテクトアソシエイト

www.amazon.co.jp

f:id:mister_yoda:20210404161835p:plain
ソリューションアーキテクトプロフェッショナル

www.amazon.co.jp

f:id:mister_yoda:20210404161915p:plain
セキュリティ - 専門知識

www.amazon.co.jp

非資格対策参考書

また資格対策の本ではないのですが、以下の参考書がハンズオン形式で大変わかりやすかったです。

機械学習 - 専門知識

f:id:mister_yoda:20210404164347p:plain
機械学習 - 専門知識

www.amazon.co.jp

データ分析 - 専門知識

f:id:mister_yoda:20210404164419p:plain
データ分析 - 専門知識

www.amazon.co.jp

問題集

Udemy

www.udemy.com

日本語の問題集もあります!

ただものによっては少し難易度が高く、スコアがかなり低めに出たりするので注意が必要です。

繰り返し問題を解き、80%以上は取れるようにしましょう。

Whizlabs

www.whizlabs.com

全12資格の問題はあるが、全て英語。 Udemyに問題がない資格もあるので、その場合はWhizlabsで補完していました。

WEB問題集で学習しよう

aws.koiwaclub.com

日本語のWeb問題集。 有料会員になる必要があり、問題数も全部で350問くらいあるのですが、この問題が9割位解けるようになれば合格は近いです。

BlackBelt

サービス別資料 | AWS クラウドサービス活用資料集

わからないサービスはBlackBeltをまずは見ましょう。

特にソリューションアーキテクトプロフェッショナルではDirectConnectの問題が頻出するので、

私は何回も繰り返し見ていました。

研修

参考書や問題集、BlackBeltだけで事足りるかと思いますが、余裕があれば受けてみてもいいかもしれません。

専用線接続研修(DirectConnect)

AWS 専用線アクセス体験ラボトレーニング | AWS 私はスケジュールが合わず受講できなかったのですが、時期が合えばぜひ参加すべし。

DevOps研修

AWS training and certification こちらは私はDevOps試験を受ける前に受講しました。

資格に合格するためのコースではないですが、、DevOpsの概念やDevOpsに関連するサービスを実際にハンズオン形式で学べます。

模試

試験に合格すると無料になるバウチャーがもらえるので受けましょう。

受験後、点数は開示されますが、間違えた問題は教えてもらえないので、

問題を解く際はスクリーンショットを必ず撮りましょう。

まとめ

今回はAWS認定資格を全部取得した僕の勉強方法を紹介させていただきました!

ただ勉強方法を紹介させていただきましたが、資格を全部取得するモチベーションを維持するのが一番大変です(汗)

僕は「なんとしても今年度中にAWSの全資格をとる!!」という理由だけでなんとか完走できましたが、、

皆さんも何かモチベーションとなるような目標をまずは見つけてみてください!

【AWS認定資格】新卒二年目でソリューションアーキテクトプロフェッショナルに合格した方法

 

先日AWSソリューションアーキテクトプロフェッショナルの試験に受験してきました!

結果は873点で見事合格!!

 

AWS初心者&大学の専攻が非情報系のズブの素人の僕が、、一から勉強を初めてついにここまで来れました。

 

せっかくなので僕が合格するためにやってきたおすすめの勉強法を紹介したいと思います。

f:id:mister_yoda:20210404204141p:plain

自己紹介

僕について

  • 新卒二年目エンジニア。
  • 非情報系出身でAWS歴は一年ほど。
  • インフラは学生時代未経験・・・

 

今までの取得資格

  • ソリューションアーキテクトアソシエイト
  • デベロッパーアソシエイト
  • SysOpsアソシエイト
  • DevOpsプロフェッショナル

 

使ってきたサービス

VPC, ALB, EC2, ECS, Lambda, Code系サービス, Aurora, DynamoDB, Cloudwatch, Cloudtrail等

僕なりの学習方法

結論から書きますと、

ソリューションアーキテクトプロフェッショナルに合格するためには、

アソシエイト系の資格を制覇してから学習する

が絶対良いです。

 

理由は試験の出題範囲がかなり広く、

いきなり挑むと膨大な範囲を学習せねばならず挫折してしまうからです・・・

(セキュリティ、運用、開発、DB、ネットワーク、分析、機械学習・・・)

 

 

あくまで僕がやったやり方ですが、一番以下のような順番で試験を受けていくと、

徐々にステップアップできるのでスムーズに合格できると思います。

 

1. ソリューションアーキテクトアソシエイト(AWS全体の幅広い知識をつける)

2. Developerアソシエイト(開発系サービスの知識をつける)

3. SysOpsアソシエイト(運用系サービスの知識をつける)

4. DevOpsプロフェッショナル(開発、運用系の知識は完璧に!)

※学習期間は1〜2ヶ月位が目安

 

上記の流れで徐々にステップアップし、

プラスして以下のサービスを勉強すればゴールは目前です。

AWS Organizations

・Direct Connect

シングルサインオン

ディザスタリカバリ

・移行系 ※オンプレミスからAWSにサーバ、DB、データを移行(SMS, DMS, DirectConnect, Snowball等)

・分析系 (EMR, Glue)

 

特にOrganizationsとDirect Connectはかなり頻出なので

しっかりと抑えておく必要があります。

 

それぞれの対策方法を次に紹介します。

頻出問題の対策

Direct Connect

おそらく殆どの受験者が触る機会がないのではないでしょうか。

 

イメージを膨らませるためには動画コンテンツがとてもおすすめです。

 

 BlackBelt

www.youtube.com

 

以下の動画もわかりやすいです。

www.youtube.com

 

「触ってみないとわからない!」という方は、

定期的に開催しているハンズオンラボに申し込んでみるのも良いかと思います。

AWS 専用線アクセス体験ラボトレーニング | AWS

 

AWS Organizations

こちらも個人では使用する機会がないサービスだと思います。

 

私はまず以下の動画でイメージを付けました。

 

上記の動画を見たあとに実際にAWS Organizationsを簡単に動かして検証してみましょう。

 

メールアドレスが最低でも2つあれば擬似的にOrganizationを作れるので、試しに作ってみることはおすすめです。

 

以下を参考にさせていただきました。

dev.classmethod.jp

シングルサインオン

私は以下の動画を何回も繰り返し見て、

ADやSP、フェデレーションなどの概念を叩き込みました。

www.youtube.com

 

 

ディザスタリカバリ

AWSサービスでAZ障害、リージョン障害が発生した際に、

RTO, RPOに基づいてどのような対策を講じるべきかが問われます。

 

以下の記事が大変参考になりました。

stay-ko.be

 

公式ドキュメント

https://media.amazonwebservices.com/jp/AWS_Disaster_Recovery_01242012.pdf

 

移行系

オンプレミスからAWSにサーバを移行する方法は?

DBを移行する方法は/スキーマが違う場合はどうする?

データを指定された時間までに移行するために効率のよい方法は?

などがよく問われます。

 

◆サーバ移行 ホワイトペーパー

https://pages.awscloud.com/rs/112-TZM-766/images/NHN_aws_migration.pdf

 

◆DB移行 公式ページ

aws.amazon.com

 

◆データ移行 ホワイトペーパー

https://pages.awscloud.com/rs/112-TZM-766/images/NHN_aws_migration.pdf

 

 

分析系

対策としてはひたすら演習問題を繰り返し解きました。

 

個別サービスのBlackbeltも参考になりますが、演習問題をたくさん解くことでパターンが見えてきます。

 

次に演習問題のおすすめをご紹介していきます。

演習問題(おすすめ順)

SAP唯一の参考書

www.amazon.co.jp

 

この参考書めちゃくちゃわかりやすいです・・・

本試験で頻出の範囲を丁寧に解説してくれています!

 

後述する問題集を解くとき、わからないサービスの辞書代わりにも使えます。

 

AWS WEB問題集で学習しよう

https://aws.koiwaclub.com/

上記の参考書をやったあとにこちらを繰り返し解きましょう。

実際に試験を受けてみると、ここで解いた問題が4割位出てきます。

 

有料会員になる必要があり、問題数も全部で350問くらいあるのですが、

この問題が9割位解けるようになれば合格は近いです。

 

Udemy 問題集

www.udemy.com

上記2つでもまだ不安。。という方にはおすすめ。

かなりマニアックな問題まで網羅されています。

 

ただ少し難易度が高く、スコアがかなり低めに出ます。

(私はスコア平均40%くらいでした・・・)

試験当日

他のAWSの資格と同様に身分証明書が必要になるので、

お忘れにならないようにご注意ください!

 

また試験時間は3時間とかなり長丁場になるので、

事前に軽く食事をとっておいたほうがよいかもしれません。

 

3時間と試験時間は長めですが、意外と見直し時間がありません。

 

見直したい問題は事前にフラグを立てておき、最後に確認できるようにすることをおすすめします。

 感想

プロフェッショナル試験を合格しましたが、

正直AWSのプロフェッショナルになれたとは全く思っておりません・・・

まだまだこれから!

 

今後はもっと座学だけではなくサービスを実際に触ってみて、

その知見を当ブログで紹介していきたいと思っております!!