こんにちは、後藤です。今回はAWS構成における踏み台についての記事です。 データベースなどのインターネットに繋げたくないリソースに踏み台リソース経由でアクセスさせることは、セキュリティ設計としてよくある構成だと思います。 今回はその踏み台リソースに「ユーザーログイン有無を検知して自動停止する」ロジックを組み込んだ方法を共有します。 また、一般的によく用いられるのはEC2だと思いますが、今回はECS on Fargate(以降はFargateと略)を使います。しかも自動停止ロジックにLambdaを使いません!!コンテナの中で完結させます。 踏み台を設計する時に気になること そもそも踏み台について設計する際に何が気になるのでしょうか。それはOS管理負担と自動停止です。 踏み台にEC2を用いるとOSパッチ適用などの運用コストが発生します。業務系サーバでないのに心労が重なるのはなるべく避けたいとこ
はじめに 私は個人開発で一山当てたいと常々思っていて、そのためにいくつかヒットしそうなサービスのアイデアがあります。エンジニアであればアイデアを具現化することに躊躇してはいけないと思うわけですが、一度リリースしてしまうとランニングコストが発生するわけで、仮に全く人気がでなかったとしたらランニングコスト分の赤字を垂れ流すことになります。 一方、個人開発者というのはおそらく誰しも夢見がちなので、リリース後バズったりしてユーザーが大量に押し寄せてきてしまってサーバーダウンする可能性も考えてしまいます。 その結果、「全く誰も来なくてランニングコストが赤字になったらどうしよう」という不安と「めちゃくちゃバズってしまってサーバーダウンしてチャンスを逃したらどうしよう」という不安が、心の中でせめぎ合うことになります。 そこで、今回はその2つの不安を一気に解消する「使われなければランニングコストが限りなく
はじめに こんにちは、株式会社Flatt Security セキュリティエンジニアの森岡(@scgajge12)です。 本稿では、AWS Lambda で起こりうる脆弱性攻撃やリスク、セキュリティ対策を解説し、サーバーレスにおけるセキュリティリスクについて紹介します。 はじめに AWS Lambda について サーバーレスにおけるセキュリティリスク AWS Lambda で起こりうる脆弱性攻撃 Lambda での脆弱性攻撃によるリスク 脆弱性攻撃による更なるリスク OS Command Injection XML External Entity (XXE) Insecure Deserialization Server Side Request Forgery (SSRF) Remote Code Execution (RCE) AWS Lambda におけるセキュリティ対策 セキュリティ
こちらのコールドスタート関連については弊社岩田の資料が大変わかりやすいのでオススメです。 Serverless Meetup Osaka #5 で「VPC Lambda×RDSのデメリットについて正しく理解しよう!!」というテーマで発表してきました #serverlessosaka | DevelopersIO では次のコードを見てください。 import time class sleep_class(): def __init__(self): time.sleep(2.0) self.init_time = time.time() def lambda_handler(event, context): s = sleep_class() print(s.init_time) 初期化に2秒ほどかかるsleepクラスがあります。これをLambdaで複数回実行すると次のような結果になります。
久々に溜まったブログネタ放出をしようかなと、その前に下書きから掘り起こしてきた、いまさらなスロークエリ関連で準備運動です。 RDSのスロークエリ情報は当然、集計を自動化していつでも見れるようにしてあるのですが、ちょいと必要があったので、今回はあえて単発ログを集計する形に切り出したものを用意してみました。 スロークエリログの必要性 最近はNewRelicとかで、アプリケーションの処理を分別して処理時間などを集計するので、それで課題となるクエリを確認したりもします。 非常に便利な仕組みですが、アプリケーション外のジョブなどが実行したクエリは集計されないことや、負荷試験で課題を炙り出すときだとテスト環境にエージェントやライブラリを仕込む必要がある、といったデメリットとまでは言わないまでも面倒さがあります。 その点、スロークエリはサーバー側で記録するものなので、0.1秒とかでONにしておけば、対象
はじめに この記事はシスコの同志による Cisco Systems Japan Advent Calendar 2018 の 18 日目として投稿しました。今年はカレンダーが2つあります!! 2020年版(1枚目): https://qiita.com/advent-calendar/2020/cisco 2020年版(2枚目): https://qiita.com/advent-calendar/2020/cisco2 2017年版: https://qiita.com/advent-calendar/2017/cisco 2018年版: https://qiita.com/advent-calendar/2018/cisco 2019年版: https://qiita.com/advent-calendar/2019/cisco 2020年版: https://qiita.com/ad
大きくは外部ストレージサービス利用と、アプリケーションにバンドルしてしまう方式と2つにわかれます。バンドルはデータだけ更新ができないデメリットはありますが、お手軽です。Lambdaはレイヤーを使えば実行プログラムに対して後から追加とかできますが、容量制限が厳しめです。 オブジェクトストレージは比較的お手軽ですが、読み込みしたいライブラリがローカルのファイルシステム前提の場合は使えません。サーバーレスの方式によっては、一度ローカルのファイルシステムに書き出してから利用とかも可能ではありますが、Cloud Runでは8GB(ただし、おそらくtmpfsで書けば書くほどメモリを消費)、Lambdaでは500MBと容量に制限があります。 より巨大な学習済みデータを扱う場合はマネージドNFSサービス系のものを使うのが最終形でしょう。ファイルのサイズ制限もほぼ限界値ですし、ローカルファイルになるのでどん
こんにちは、クラスメソッドの岡です。 今回Step Functionsを使って簡単なETL処理を試す機会があったので実際に作ったものを公開します。 サーバーレスでETL処理、といえばAWS Glueが浮かぶかと思いますが、今回はGlueは使わず、LambdaのPythonランタイムでPandasを使ってS3のデータとDynamoDBのデータを結合するような処理を行ってみたいと思います。 ちなみに私はデータ分析に関する知識はほぼ皆無ですが、PythonライブラリPandasを使う事で簡単にデータ処理を行えました。 シナリオ 今回はIoTデバイスから送られてくる時系列データがS3に出力されている前提として、そのファイルとDynamoDBにあるデバイスのマスタデータと結合して分析データとして別のS3バケットに出力する、といったシナリオを想定しています。 構成 サンプルコード 今回はServerl
Cloud Operator Days Tokyo は、クラウドの運用者に焦点を当てた技術者向けの新しいテックイベントです。AWS環境の運用を手がけるアイレット株式会社のインフラエンジニア古屋氏が、実際にやってしまったしくじりを紹介。原因と対策を語ります。まずは「Athenaで170万円請求」「EC2が復旧できない」 というしくじりから。(全2回) しくじり先生 on AWS 古屋啓介氏(以下、古屋):では「しくじり先生 on AWS」ということで、始めたいと思います。よろしくお願いします。今日は、AWS環境を使って日々運用していく中で発生した、しくじり、失敗事例。そしてそのしくじりの原因と、そこから得られた教訓についてお伝えしようと思います。 今日このお話を聞いたみなさんの中で「あ、うちの環境どうっだったかな?」と、思われる方もいらっしゃるかもしれません。今日お伝えすることの中で、ちょっ
はじめに こんにちは。大阪オフィスの林です。 「VirusTotal」とはファイルやウェブサイトのマルウェア検査を行うウェブサイトです。ファイルをVirusTotalにアップロードしたりウェブサイトのURLを指定すれば、そのファイルやウェブサイトが「マルウェアを含むかどうか」検査することが出来ます。今回はドメインに対しての健全性をチェックするような仕組みを作る機会がありましたので実装までの内容をまとめておきたいと思います。 構成概要 今回の構成概要をご説明します。詳細は後述します。 ① Lambda呼び出し 今回はCloudWatchEventsのスケジュール実行をトリガーとしてLambda(Python3)を呼び出すよう実装します。 ② ドメインのリストを取得 チェックしたいドメイン名のリストを予めS3に格納しておきます。取得したリストの先頭から順にドメイン名を取得し、次工程以降のチェッ
[セッションレポート]Lambdaのコンテナイメージサポートについておさらい SVS209 Introducing container image support for AWS Lambda #reinvent CX事業本部@大阪の岩田です。re:Invent 2020のWave 2で新たに公開されたセッション「SVS209 Introducing container image support for AWS Lambda 」を聴講したのでレポートさせて頂きます。 セッション概要 スピーカー:Chris Munns 以下公式サイトからの引用です。 This session covers one of the most requested new features for AWS Lambda: container image support. With container image
はじめに 前提知識 導入 pytest moto 状況設定 テスト対象のコード テストメソッドを書く フィクスチャーを書く moto だ…! テストを実行してみる おまけ まとめ 参考 はじめに こんにちは、技術4課の保田(ほだ)です。 皆様は現在話題沸騰中の映画 TENET (テネット)をもう観に行かれましたでしょうか?最高に最高ですので、皆様も三密にご注意のうえ是非とも観ていただきたいです。そして考察を語り合いましょう。 というわけで今日は pytest と moto で優勝していきたいと思います。 具体的には DynamoDB への操作を moto でモックして、 pytest で単体テストするサンプルをご紹介します。 前提知識 文章が無限に増えることは避けたいため、以下の知識をお持ちのことを前提とさせていただきます。 Python (の基本的な書き方) boto3 単体テストの概念
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く