サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
it.kensan.net
Lambda関数URLで、HTTPリクエストを介して直接Lambda関数を呼び出すことが可能になりました。 これまで、Lambda関数をAPI経由で実行するためにはAPI Gatewayを使用する必要がありました。しかし、Lambda関数URLの登場により、API Gatewayを使わずにLambda関数を直接実行できるようになりました。 Lambda関数URLを使うと、API Gatewayのセットアップや管理の手間を省けます。また、API Gatewayが引き起こす遅延やコストも削減できます。 ただし、API Gatewayには多くの利点もあります。 この記事では、Lambda関数URLの利用方法とその利点、注意点について詳しく解説します。Lambda関数とAPI Gatewayのどちらを選ぶか迷っている方は、ぜひ参考にしてください。 Lambda関数URLとはLambda関数URLは
AWS Lambdaは1秒間にいくつまで数えられるか調べてみました。 前提として、メモリと処理性能と料金は比例しています。 メモリを倍にすれば、CPUの処理性能と料金は倍になるということです。 本記事では、上記の前提が本当なの?を、AWS Lambdaは1秒間にいくつまで数えられるか確認するプログラムを作成して、メモリ量を変更してLambda実行して検証していきます。 まずは、前提としている「メモリと処理性能と料金は比例しています」についてどこからきているか記載していきます。
AWS Lambdaのメモリ使用率と処理速度について調べてみました。 具体的には、以下についてLambdaを動かして試しました。 メモリ使用率が100%になるとエラーが起きたりするか? メモリ使用率が高いと速度劣化するか? まず、先に調査結果を書いちゃいます。以下の通りです。 調査結果 ・メモリ使用率が100%になるとエラーが起きたりするか? →エラーにはならない! ・メモリ使用率が高いと速度劣化するか? →速度劣化する では早速、調査していきます! メモリ使用率が100%になるとエラーが起きたりするか?について調査 調査方法 まず調査方法についてです。 以下の条件で調査しました。 前提条件 本記事では以下の条件で、調査しました。 言語:Python 3.12 Lambdaのタイムアウト設定:29秒 Lambdaのメモリ:128MB 調査で使用したソースコード 以下のソースを使用して調査し
今回はMySQLの怖い話(注意点)について書いていきます。知っていれば大丈夫! 具体的には以下の点について書いていきます。 デフォルト設定では大文字と小文字を区別しませんNULLと空文字は別ものですIN句の中に大量の値の入れるとパフォーマンスが劣化するREPLACE句の挙動CONCATで文字列連結時に、ひとつでもNULLな項目があると、結果はNULLになるUNIQUE インデックス制約では、文字列の後のスペースが無視される知っていれば大丈夫なので、1つずつ確実に理解していきましょ★ デフォルト設定では大文字と小文字を区別しません検索時に「hoge」をキーとして検索した場合、テーブルデータに「hoge」「HOGE」「Hoge」があったとすると、全てヒットします 大文字・小文字を区別せずに検索しますUNIQUE インデックスがあるテーブルにデータ登録する場合、テーブルデータに「hoge」がある
AWSのEC2で定期的なタスクを自動化するために、cronを使用しているケースも多いと思います。 しかし、Amazon Linux 2023ではcronがデフォルトで無効になっています。これはcron以外に、cronのようなバッチ実行・定期実行する仕組みがあるということなのかと思い、cronを使わずにE2上でバッチ実行・定期実行する仕組みを考えてみました。 そして、Amazon EventBridge、AWS Step Functions、およびAWS Systems Manager startAutomationExecutionを組み合わせて、EC2インスタンス上でバッチ・定期実行を試してみましたので、紹介します。 特に、Step Functionsを使用することで、エラーハンドリングや通知が容易になり、安全にバッチ実行できるようになります。 エラーハンドリングは以下の状態を把握したい
Laravel 11をAWS Lambdaで動くようにして簡単なAPIを作ってみます。 ちなみに私は割とPHP初心者です。 初心者ですが、これからAPI作成するならPHPが良いと思っています。 PHPが良い理由は、実装できる人が多いと思っていて、いざとなれば他の人(他の会社)に協力を仰ぎやすそうだからです。インターネット上に情報もいっぱいあるというアドバンテージもあると思います。 フレームワークは、PHPの中で一番ポピュラーという理由からLaravel!と考えています。 まずは、作成する環境について記載していきます。 作成する環境の構成 以下の構成で動かしてみます。 プログラム Laravel AWSリソース API Gateway Lambda 実際に、Laravel 11をAWS Lambdaで動かしてみます!! Laravel 11をAWS Lambdaで動かしてみる まずはLara
古いMacBookでディスクが容量足りなくなったので、外付けSSDにOSインストールして使ったら快適になったという話を記載します。 私のMacBookは「Retina, 13-inch, Early 2015」です。 ディスク容量は121GBです。 ディスク容量が足りません。必要なファイルを外付けSSDに移動したり、不要なファイルを削除したりして、ディスク容量を空ける日々を送っていませした。 そろそろ、買い替えようかな、でもお金ないな〜という日々です。 そんな中、SSDにOSインストールして使えばいいじゃんと思いつきました! 実際にやってみたので、手順を書いておきます。 では、外付けSSDにOSインストールして、MacBookを使う方法を記載してきます。 外付けSSDにOSインストールして、MacBookを使う方法 まず、私が使用しているMacBookとSSDについて記載します。 使用した
AWS Graviton2 プロセッサは、64 ビットの Arm Neoverse コアを使用してアマゾンウェブサービスがカスタムビルドしたもので、Graviton2 を搭載した Fargate は、同等のインテル x86 ベースの Fargate に比べて、最大 40% の料金性能向上と 20% の低コストを実現し、
WordPressをAWS上に構築する方法について記載します。 AWS上に構築する方法は5つのパターンがあり、それぞれ特徴やメリットとデメリットがありますので、この点について記載していきます。 構築パターンの特徴を知って適切な構築方法を選択しよう!という記事です。 まずはどのような構築方法があるかについて記載していきます。
AWS FargateのCPUは何が使われているのか疑問でしたので、調べてみました。 ArmのCPUはAWSGraviton2 が使われています。 AWS Fargate の AWS Graviton2 のサポートを発表 – サーバーレスコンテナのコストパフォーマンスが最大 40% 向上 | Amazon Web Services
なぜDELETEしてもディスク容量は空かないのか一度取得した領域はDELETEしても再利用するために保持しておくためです。 どうしてもディスク容量を空ける必要がある場合は テーブルを最適化する際に使うOPTIMIZE TABLEを実行する 「OPTIMIZE TABLE テーブル名」で実行できますALTER TABLEでテーブルを作り変えるALTER TABLEはテーブルの作り替えです 実行中はテーブルロックがかかります 「ALTER TABLE テーブル名 ENGINE INNODB」で実行できますDELETEのみ実行した場合(PTIMIZE TABLE/ALTER TABLEしない場合)、ディスク容量面でのメリットはないのかDELETEした領域は、再度使われるタイミング(INSERTしたタイミング)で再利用されるため、ディスク容量の減りは緩やかになるメリットはあります。 DELETEす
Terraformを実践で使う際のポイントについて記載します。 具体的には ファイル構成実行手順の順に、記載していきます。 Terraformとは?という方は以下の記事をご参照ください。
Lambdaのタイムアウトについて書いていきまーす! 具体的には、以下の内容について、記載します。 本記事でやること Lambdaのタイムアウトの検知 ログからタイムアウトの有無を確認する CloudWatchのメトリクスフィルタを使用してタイムアウトをメトリクス化(可視化)する方法 タイムアウト時の対処法 まずタイムアウトの検知方法からみていきます。 タイムアウトの検知方法 ログからタイムアウトを検知可能です。 ログを検索してタイムアウトの有無を確認する Lambdaタイムアウト時には「Task timed out」というフレーズがログに吐かれますので、CloudWatchLogsのログインサイトを使ってログを検索することで、タイムアウトの有無を確認できます。 対象のロググループを指定してログインサイト画面へ行き、以下のクエリを実行することで、タイムアウトのログを検索できます。 fiel
Lambda関数URLという便利機能が公開されましたが、 Lamdba関数URLって使う上でのリスクないの?Lambda関数URLを安全に使うには?など、使う際のリスクや安全な使い方に関する疑問が浮かんできましたが、関連する記事を見つけられなかったので、考えてみることにしました。 以下のように考えました。私の頭の中です。(私の頭の中には、おじさんとお姉さんがいます)
WordPressで安くて高速なサイトを構築する簡単な方法を記載します。 WordPressを自分のPCにインストールWordPressのstaticpress2019プラグインを設定staticpress2019でWordPressのコンテンツをHTMLファイルとして出力HTMLファイルを配信サーバーにアップロードするという具合に、WordPressのコンテンツをHTMLファイルとして出力して、HTMLファイルを配信することで、安くて高速なサイトを簡単に構築できます。
MySQLのクエリ実行速度をミリ秒単位で計測する方法を記載します。 ターミナルでMySQLサーバに入って、SQLを実行すると以下のように秒単位での速度は計測できますが、もう少し詳細に計測したい(ミリ秒単位で計測したい)、という場合の対処法です。
今回は2023年1月〜3月のAWSアップデート情報を見ていきます。これから業務で使えそう/知っておいたら得しそうな観点で8つに絞ってアップデート情報を記載しています。 最も大きいアップデートは「Amazon Linux 2023」の公開かと思います。 それではアップデート内容を1つずつ見ていきます。 1/24(火)ーAmazon RDS Blue/Green Deployments機能で、Amazon Aurora MySQL 3 (with MySQL 8.0 compatibility)対応まず RDS Blue/Green Deploymentsは、以下のようなサービスです(公式からの引用) Amazon RDS ブルー/グリーンデプロイのサポートが開始され、Amazon Aurora と Amazon RDS のデータベースのより安全、簡単、迅速な更新が可能になりました。ブルー/グ
ElastiCache Redisについて色々調べてみた記事です。 具体的には以下のことを調べてみました!
MySQLのInnoDBとMyISAMのパフォーマンス比較をしてみましたー 対象のMySQLのバージョンは5.7と8.0です。 結論としては、 INSERTはMyISAMの方が早いSELECT・UPDATE・DELETEは 8.0ではInnoDBの方が早い5.7ではSELECT・DELETEはMyISAMの方が早い。UPDATEはInnoDBの方が早いという結果でしたー! なお、MySQLのバージョンごとのサポート期限は以下のようになっています。
今回はWordPressコンテンツをサーバレス配信してみます。結構簡単で、30分ほどあればサーバレス配信できるところまで確認できるかと思いまーす。 この記事でのサーバレスとはS3+CloudFrontでコンテンツ配信をすることを指しています。 サーバーレスにすることで以下のようなメリットがあります。 低コストで安定したサイト運用ができる 急なアクセス増にも耐えられ、かつ、安価です高速なサイトを構築できる サイトの速度向上はSEO的にも有利です訪問者がWordPressに直接アクセスしないのでセキュアになります WordPressのセキュリティリスクについては以下の記事をご参照ください WordPressはセキュリティ対策を取らないとリスクが高いと思っています。 セキュリティ対策としてはセキュリティプラグインの導入などがあると思いますが、一番安全なのはStaticPress S3を使用してコ
Lambda関数URLにIP制限をかけるAWS WAFの作成AWSマネジメントコンソールからWAF & Shieldを選択します。「Create web ACL」を選択します。 以下の設定を行い「Next」で次へ進みます。 Web ACL details Resource type :「CloudFront distributions」を指定Name:適切に設定Associated AWS resources 作成したCloudFrontを追加以下の設定でAdd rules and rule groupsの設定を行います。 Rules:指定なしDefault action:「Block」を選択「Next」で次へ進み、ACLを作成しますWebACL でIP 制限ルールをかけるIP set を作成する「Create IP set」を押します。以下、IP set detailsの設定を行います
MySQL 5.7と比べると、8.0の方が性能が良いという噂を簡単な検証で確認してみました。 結論としては、 8.0の方がINSERTは早い8.0の方がSELECTも早いけど、正しくインデックス貼られていれば同程度UPDATE、DELETEは同程度という結果でしたー! なお、サポート期限は以下のようになっています。
MySQLでインデックスを貼ったカラムを更新した場合のインデックスサイズとパフォーマンスへの影響を確認してみました。
AWS ECS(Elastic Container Service)-Fargateでコンテナを最速で(簡単に)立ち上げようというコンテナ入門の記事です。 以下のような方向けです。
Laravel Adminのgridとformの使い方について記載していきます。 Laravel Adminって何者?という方は以下の記事をご参照ください。 Laravel Adminで効率的に管理画面を作成する。Dockerを使用した環境構築と使い方について記載。Laravel Adminは、ウェブアプリケーションの管理画面を効率的かつ簡単に作成できるツールです。 この記事では、Laravel Adminの利点と使い方について詳しく記載します。 Laravel Adminを利用すると、データベースの...it.kensan.net2024.05.26 gridとformについて簡単に書くと、以下のようになります。gridとformを理解することでLaravel Adminの大部分を使いこなせると思います。 grid:一覧表示 form:新規登録・編集機能 本記事でやること 登録・編集(f
EC2接続方法についての記事です。 EC2に入りたいけど入れないEC2に入る方法がいくつかあるけど、どれで入るのが良いの?どんな違いがあるの?という方向けの記事です。 EC2の接続方法は以下の4つの接続方法があります。
Rails7.1をECS(Amazon Elastic Container Service)-Fagateにデプロイします!!! 以下の順で進めていきます。今回はとりあえずFargate上で動くことをゴールにしますので、MySQLは使いません。 ローカルでRails7.1を立ち上げるECR(Amazon Elastic Container Registry)にRailsイメージをpushするECRのイメージを使って、ECS(Amazon Elastic Container Service)-Fagateにデプロイ
AWS API Gatewayの統合タイムアウト制限の29秒が、30秒以上に引き上げ可能になったようです。 以下の記事に詳細記載されています。 Amazon API Gateway integration timeout limit increase beyond 29 seconds - AWSDiscover more about what's new at AWS with Amazon API Gateway integration timeout limit increase beyond 29 secondsaws.amazon.com 以下要約です。 タイムアウト延長: 以前の29秒からそれ以上に設定可能。 対象API: リージョナルREST APIおよびプライベートREST API。 使用例: Generative AIなど、長時間処理を必要とするワークロードに対応。 追加
次のページ
このページを最初にブックマークしてみませんか?
『it.kensan.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く