この記事を3行で AWS X-Rayをpytestで使うと便利 関数の通過や例外の発生をassertでテストできる X-Rayの可視化にFlameGraphを使えば、各関数の実行時間が分かりやすい この記事を書く理由 AWS X-Rayが便利なので、AWS環境へのデプロイの前でも使える使い方を紹介したい。 完成後の挙動 この記事で作成する単体テストを、Pytestで実行すると、 単体テストが吐き出したX-Rayのデータをもとに、下のようなグラフがローカルのPC上に作成されます。 FlameGraphと呼ばれているグラフです。炎のように下から上に伸びていくことが特徴です。 グラフの縦の方向は関数の呼び出しを表しています。 たとえばこのグラフなら、下から上に読んで、lambda_handler関数がnetwork_process関数を呼び出して、そこからgoogle.co.jpへのリクエストを
Information 2024/10/7: ストレージとして Amazon S3 をマウントする方法を 10 章に追記しました。 これにより、コストの安い S3 をストレージとして使用できるため、 Paperspace のストレージ容量が少ない問題を解決できます( S3 の料金体系については 9 章を参照)。 特定の torch や cuda のバージョンのコンテナで notebook を起動するする方法を 3 章に追記しました。 「torch==2.4.0 でないとライブラリが動かせない!」といった場合にお試し下さい。 はじめに こんにちは、kunishouです。先月2022年9月の末にGoogle Colabがサービス内容の大幅な変更を実施し、従来は無制限でGPUを使用できていたものが、クレジット制に移行しました。この変更を受けてこれまでGoogle Colabを利用してKaggle
こんにちは、臼田です。 みなさん、AWSの脅威検知してますか?(挨拶 今回は特定のFindingsを出そうシリーズです。 PenTest:S3/KaliLinuxとは PenTest:S3/KaliLinuxはS3のデータアクセスAPIなどについてKali Linuxによるアクセスがあった場合に検知されるGuardDuty Findingsです。Kali Linuxはペネトレーションテストに使われるOSであり、通常そのようなOSからのアクセスはありません。 このFindingsは動作を見ている限り、CloudTrailのAPIイベントに記録されたUser-Agentを識別していると思われるため、ただ検知させることが目的であればこれを逆手に取り、Kali Linuxを実際に使わなくてもヘッダを書き換えるだけで目的を達成できます。 ただこれはあくまで検証結果と推測に基づくものではありませんので
Find interesting Amazon S3 Buckets by watching certificate transparency logs. This tool simply listens to various certificate transparency logs (via certstream) and attempts to find public S3 buckets from permutations of the certificates domain name. Be responsible. I mainly created this tool to highlight the risks associated with public S3 buckets and to put a different spin on the usual dictiona
久々に溜まったブログネタ放出をしようかなと、その前に下書きから掘り起こしてきた、いまさらなスロークエリ関連で準備運動です。 RDSのスロークエリ情報は当然、集計を自動化していつでも見れるようにしてあるのですが、ちょいと必要があったので、今回はあえて単発ログを集計する形に切り出したものを用意してみました。 スロークエリログの必要性 最近はNewRelicとかで、アプリケーションの処理を分別して処理時間などを集計するので、それで課題となるクエリを確認したりもします。 非常に便利な仕組みですが、アプリケーション外のジョブなどが実行したクエリは集計されないことや、負荷試験で課題を炙り出すときだとテスト環境にエージェントやライブラリを仕込む必要がある、といったデメリットとまでは言わないまでも面倒さがあります。 その点、スロークエリはサーバー側で記録するものなので、0.1秒とかでONにしておけば、対象
こんにちは、クラスメソッドの岡です。 今回Step Functionsを使って簡単なETL処理を試す機会があったので実際に作ったものを公開します。 サーバーレスでETL処理、といえばAWS Glueが浮かぶかと思いますが、今回はGlueは使わず、LambdaのPythonランタイムでPandasを使ってS3のデータとDynamoDBのデータを結合するような処理を行ってみたいと思います。 ちなみに私はデータ分析に関する知識はほぼ皆無ですが、PythonライブラリPandasを使う事で簡単にデータ処理を行えました。 シナリオ 今回はIoTデバイスから送られてくる時系列データがS3に出力されている前提として、そのファイルとDynamoDBにあるデバイスのマスタデータと結合して分析データとして別のS3バケットに出力する、といったシナリオを想定しています。 構成 サンプルコード 今回はServerl
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 世の中的には分析などをする際にはBigQueryのケースが多いと思いますが、仕事でAmazon Athenaを触るケースが出てきたので、入門としてまとめておきます。 Amazon Athenaとは BigQueryみたく、SQLで大きなデータを集計などできるAWSのサービスです。 分析の他にも他のAWSサービスのログ確認などでも使われたりしますが、今回は分析寄りの記事として進めます。 BigQueryと比べて大きく異なる点として、「データをS3に配置する」という点があります(それによるメリットなどは後述)。 コストはどうなの? 基本的に
はじめに 前提知識 導入 pytest moto 状況設定 テスト対象のコード テストメソッドを書く フィクスチャーを書く moto だ…! テストを実行してみる おまけ まとめ 参考 はじめに こんにちは、技術4課の保田(ほだ)です。 皆様は現在話題沸騰中の映画 TENET (テネット)をもう観に行かれましたでしょうか?最高に最高ですので、皆様も三密にご注意のうえ是非とも観ていただきたいです。そして考察を語り合いましょう。 というわけで今日は pytest と moto で優勝していきたいと思います。 具体的には DynamoDB への操作を moto でモックして、 pytest で単体テストするサンプルをご紹介します。 前提知識 文章が無限に増えることは避けたいため、以下の知識をお持ちのことを前提とさせていただきます。 Python (の基本的な書き方) boto3 単体テストの概念
はじめに 藤本です。 のんのんびよりは二周目でも癒やされます。 概要 みなさん、ソフトウェアの脆弱性対応をどのように取り組んでいますか? ソフトウェアの多くには潜在的なバグが内在していて、そのバグ、脆弱性を利用されることでシステムが停止したり、情報を漏洩したり、最悪、システムが乗っ取られると言った様々なリスクを抱えています。これらのバグ、脆弱性の情報は様々な組織が運営する脆弱性情報データベースにより公開されることで私達は情報を知ることができます。ただ、脆弱性情報は多くのソフトウェアで小さいものから大きいものまであり、過去3ヶ月で1,790件(NVD検索結果)が報告されています。このように日々報告される情報から必要な情報を探すのは大変な労力を要します。 脆弱性データベース 有名な脆弱性データベースは以下のようなものがあります。 CVE(Common Vulnerabilities and E
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く