sorta kinda...

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

Python

AD ユーザの追加や削除を承認も含めてやってくれる仕組みを考えた

気がついたら Systems Manager Automation(以下 SSM Automation)ばっかりさわってました、那須です。 ある業務で AD ユーザの追加や削除が運用で発生するんですが、それを承認履歴や作業履歴を残しつつ人が承認された内容以外の作業をしないような仕組みを…

SAP 回線オープンを見習って雑な AWS API オープンを作ってみた

日々の懸垂で姿勢がよくなってる気がします、那須です。 SAP の運用に携わっている方はご存知だと思いますが、SAP 社からリモートサポートを受ける際には回線オープンという手続きをしてからサポートを受けます。 流れとしては、 SAP システムでなんか不具合…

最小限の手間で最新の AMI から EC2 インスタンスを起動したい

めんどくさいことは嫌いですがめんどくさい運用はもっと嫌いです、那須です。 AWS ではあまりないと思いますが、なんらかの事情で最新の AMI から EC2 インスタンスを起動しないといけない場合ってありますよね? オペレーションミスで必要なデータやファイ…

Slack チャンネル一覧を Backlog wiki に表形式で書くスクリプトを作ってみた

Slack 運用は簡単じゃないってのを感じはじめています、那須です。 社内 Slack をスタンダードプランにアップグレードしたのをきっかけに、マルチチャンネルゲストやシングルチャンネルゲストをうまく使っていくことになりました。 早速ユーザの種別を変更し…

cfn-lint の使い方を覚えた!

これを書いている時間はラスベガス時間 2:00am です。めちゃ眠いけどあと 3 時間でチェックアウトして移動です。。那須です。 re:Invent でワークショップにも参加してみました。 ワークショップ参加するなら、簡単なものじゃなくて難しいやつがいいなー&今…

Secrets Manager を使ってスクリプト内に秘密情報を書かないようにしよう

スクリプトを書いてるとあっという間に時間が過ぎます、那須です。 先日、Datadog から Slack と Backlog に障害通知する記事を書きました。今日の記事は↓の続編になりますので、まだ読んでない方は先に読んだ方が全体の流れはわかると思います。 nasrinjp1.…

Datadog で障害検知したら Slack と Backlog に通知しよう

API Gateway はじめました、那須です。 以前、Backlog の課題追加があったら Slack に投げる記事を書きました。 nasrinjp1.hatenablog.com プロジェクトでお客さんとのやりとりを Backlog にしておけば、プロジェクト管理する上で手作業で WBS ひいたり返信…

Lambda から elasticsearch service に何かする [cloudpack OSAKA blog]

ナスです。 elasticsearch service (ES) 2.3 の古くなったインデックスを削除することにしたんですが、完成までわりと苦労したので書きます。 まずは ES への接続 通常、ES へは curl で操作するんですが、この curl に AWS の認証情報をつけることができま…

ISO8601表記の日時をJSTにしたい

OpenWeatherMapから取ってきたデータの中に"日時"がありますが、そのタイムゾーンがUTCでした。私は日本人なのでJSTで取りたい!ということで、タイムゾーン変換のやり方を調べたのでメモ。 >>> import pyowm >>> import dateutil.tz >>> from dateutil.pars…

OpenWeatherMapからお天気情報を取ってくる

だいぶ前ですが、「外いったい何度なんや!寒すぎる!」と思ったことから、外気温を測ってDB等に入れて、それをグラフ表示したら目に見えないものが可視化できていいなーと思って試しました。 ただ、温度センサやラズパイを使ってやるにもまずはアイテムをそ…

Pythonのpopの使い方

完全に備忘録です… ドキュメントもよく読まずにスクリプトを書いているので、基本的なことが分かってなかったようです。今回は、Pythonのリストから要素を取り出すpop()についてです。 今まではlist.pop()みたいに末尾の要素を取り出すためだけに使っていま…

AWS LambdaでのインポートモジュールごとのDurationの比較

AWS Lambdaで毎日1回、EBSスナップショットを取るようにしています。 この2週間くらいで、importしているものをbotoからboto3(client)、boto3(resource)と変えてきましたが、Durationはどうなってるんだろうと気になったので調べてみました。 インポートモジ…

AWS LambdaでEBSスナップショットをとるスクリプトを動かす(resource編)

以前、clientでアクセスした場合の同じ内容のスクリプトを書きました。 nasrinjp1.hatenablog.com resourceでアクセスした場合のスクリプトもできたので、載せておきます。アクセス方法が変わっただけで、ロジックは何も変わっていません。 import boto3 acc…

boto3のresourceを使ってEBSスナップショットをとる

boto3のresourceを使ってEBSスナップショットをとってみました。簡単だったので、雰囲気だけ書きます。 clientでアクセスした場合と比較すると、resourceの方が分かりやすいコードに見える気がします。 >>> import boto3 >>> access_key = '****' >>> secret…

boto3のresourceを使ってEC2インスタンスを停止&起動させてみた

前回は、boto3のresourceを使ってEC2インスタンスの情報を取り出しました。 nasrinjp1.hatenablog.com 今回は、EC2インスタンスの起動&停止をしてみます。まずは接続から。 >>> import boto3 >>> access_key = '****' >>> secret_key = '****' >>> region =…

boto3のresourceを使って情報を取ってみた

以前に、boto3を使ってAWSから情報を取ってくる記事を書きました。 nasrinjp1.hatenablog.com この時はclientを使いましたが、せっかくboto3を使うのでresourceでも試してみました。 まずは接続から。 import boto3 access_key = '****' secret_key = '****'…

AWS LambdaでEBSスナップショットをとるスクリプトを動かす

AWS Lambdaには簡単なスケジューラ機能があるので、それを使ってEBSスナップショットをとるスクリプトを作ってみました。 今回はboto3.clientでアクセスしてみましたが、resourceの方がよさそうなので、次からはresourceで書いてみます。 スナップショットを…

簡単!Amazon SNS でメールを投げるスクリプト

いつもWebで調べてる気がするので、備忘録ということで。SNSでメール送信するスクリプトです。 AWSコンソールから、Topicを作成して、そのTopicのARNをメモします。 メモしたARNを↓のように埋め込んで、SNSでポイッと投げるだけです。 from boto import sns …

AWS Lambda を使った時にハマったこと

AWS Lambdaは、何かをトリガーにしてコードを実行できるサービスです。 これ、今まではよく分からなかったんですが、 こないだイベントソースとして「Scheduled event」をいうのを見つけてしまって、 どうやら簡単なスケジューラとしても使えるみたいなので…

Python3&boto3でAWSからEC2情報を取ってくる

今まではPython2&botoを使ってAWSを利用していましたが、 せっかくPython3とboto3も使えるようになったので、使ってみます。 AWS Lambdaも2.7しか使えないので、使いどころはまだ少なそうですが。 とりあえずEC2インスタンスの情報を取ってくるところから。…