sorta kinda...

主にAWS関連ですが、これに限らずいろいろ勉強したことや思ったことを書いていきます。

VPC のサブネット設計の基本(だと思ってること

お盆でちょっと太った気がします、那須です。

昨日、2 年前に書いた記事がはてブされたのがきっかけでこの内容を思い出しました。

nasrinjp1.hatenablog.com

本当に基本的なことですが、とても大事なことなので再度視点を変えて書いておきます。

 

サブネット設計の基本

たとえシングル AZ しか使わないシステムで VPC を使う場合でも、サブネットはマルチ AZ で 2 つ以上作成しましょう!
できれば使える AZ すべて使ってサブネットを作成しましょう!

 

なぜマルチ AZ でサブネットを作るべきなのか?

  • RDS の DB インスタンスが作れないから
  • AZ 障害があった時にどうしようもなくなるから
  • あとでサブネット追加する時に場合によっては CIDR 設計が面倒だから

という感じで、理由は他にもいろいろあります。 そもそもサブネット自体には AWS 利用料金はかかりませんし、作って放置してても何も影響がないので、とにかく最初に準備してしまいましょう。

 

ベストプラクティスはどうなってるの?

AWS からは↓このようにベストプラクティスが公開されています。 特にこの一文ですね。

Divide your VPC network range evenly across all available Availability Zones (AZs) in a region.

aws.amazon.com

すべてのリージョンは必ず 2 つ以上の AZ で構成されています。 なので、将来使うかもしれない、と思って最初からマルチ AZ で構成できるようにしておきましょう。

 

でも SAP システムはパフォーマンスが大事だよ?

SAP on AWS の設計をしててシングル AZ ですべての SAP システムを構成したりしますが、私は必ずマルチ AZ でサブネットを作成しています。 別にサブネットを作ったからと言って使わないといけない、ということはありません。 とにかく使わなくても作りましょう! 後々必ず役に立ちます。

 

最後に

すでに AWS を使われている方にとっては普通の内容かもしれません。 しかし、これから AWS を使おうとしている方もいらっしゃいますので、基本的な内容も時々書いていこうと思います。

Slack に通知したい? Lambda 使わなくても Chatbot で簡単にできるよ

Slack 推してきてよかったと思いました。那須です。

ちょっと前に、AWS Chatbot という新サービスがリリースされましたね。

aws.amazon.com

アラーム情報を Chime や Slack に通知してくれるサービスです。 今までは Lambda で Slack に Webhook を投げるように関数書いていかないとチャットに通知させることができませんでしたが、これでコードが書けない人でも簡単に Slack に通知できるようになりました。

AWS はたまに設定完了させるのが難しいなーって思うことがありますが、Chatbot はめちゃくちゃ簡単です! 実際に設定してテスト的に通知させてみたので、Chatbot の紹介記事みたいになってますがよければ見ていってください。

 

設定の流れ

まずは チャットクライアントを選んで設定を始めましょう。 私は Slack に通知することにしました。
f:id:nasrinjp1:20190810204130p:plain

どの Slack チャンネルに通知するかを指定します。
f:id:nasrinjp1:20190810204147p:plain

Chatbot にアタッチする IAM ロールを指定します。 ここでは新規作成しました。
f:id:nasrinjp1:20190810204159p:plain

Slack に投げる時に指定する SNS トピック名を指定します。 事前に SNS トピックの作成だけしておけば、この後の設定でサブスクリプションを自動で設定してくれますよ。 最後に Configure を押しましょう。
f:id:nasrinjp1:20190810204211p:plain

設定が完了しました。
f:id:nasrinjp1:20190810204226p:plain

SNS トピックを見てみると、Chatbot のサブスクリプションが設定されていますね。
f:id:nasrinjp1:20190810212811p:plain

 

通知させてみましょう

簡単にテストしたいので、テスト用の Lambda 関数を作成します。 その Lambda 関数の呼び出し回数(Invocations)が 1 以上になれば先ほど作成した SNS トピックに投げる CloudWatch Alarm を作成しました。
f:id:nasrinjp1:20190810204257p:plain

テスト用の Lambda 関数をテスト実行してしばらくすると、無事に Slack チャンネルに通知されました! たったこれだけの設定でいい感じの通知をしてくれるのは本当に助かります!
f:id:nasrinjp1:20190810204307p:plain

 

利用シーンはいっぱいありそう

Chatbot のソースとして使える AWS サービスは↓このドキュメントに書かれています。

docs.aws.amazon.com

ドキュメント読んでみていろいろ考えてみました。

  • AWS 利用料のアラートは嬉しいかも
  • やっぱ Lambda で Slack 連携しないといけなかったのがなくなるのが一番の嬉しいポイントかも
  • Security Hub のカスタムアクションを自動で実行できたらなぁ…

まだベータ版ということですので、GA になる頃にはほとんどの通知が Chatbot で通知できるようになってることを祈ってます!

 

さいごに

今回は Chatbot の紹介になりました。 ソースとして使えるサービスもそうですが、ターゲットに指定できるチャット(MS Teams とか Google Meet とか Typetalk とか)も増えてほしいですね。 ちょっとしたアクションも Slack から実行できれば嬉しいですが、それはまた別で実装してくれってことですかね。 がんばります!