サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
it.kensan.net
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
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
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など、長時間処理を必要とするワークロードに対応。 追加
AWSのEC2で定期的なタスクを自動化するために、cronを使用しているケースも多いと思います。 しかし、Amazon Linux 2023ではcronがデフォルトで無効になっています。これはcron以外に、cronのようなバッチ実行・定期実行する仕組みがあるということなのかと思い、cronを使わずにE2上でバッチ実行・定期実行する仕組みを考えてみました。 そして、Amazon EventBridge、AWS Step Functions、およびAWS Systems Manager startAutomationExecutionを組み合わせて、EC2インスタンス上でバッチ・定期実行を試してみましたので、紹介します。 特に、Step Functionsを使用することで、エラーハンドリングや通知が容易になり、安全にバッチ実行できるようになります。 エラーハンドリングは以下の状態を把握したい
topコマンド(CPU・メモリ・実行中のプロセスが確認できる)topコマンドでは、以下の情報を取得できます。5秒ごとに最新情報を取得して表示してくれる便利なコマンドです。 CPUメモリスワップ実行中のプロセスCPU・メモリの利用状況が確認できるため、問題発生時は、まずはtopコマンドで状況を確認するのが良いと思います。ただし、ディスク容量は確認できないので、ディスク容量については、この次に紹介するdfコマンドで確認しましょ 以下のコマンドを打つことで実行できます。 Tasks: 144 total, 1 running, 143 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 3836.2 total, 2636.
Rails7.1をローカル環境で動かしてみます! PC上で直接動かし、その後にDockerコンテナ上で動かしてみます。 コンテナでは、rails newで作成された公式のDockerfileを使用していきます。
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にデプロイ
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は
WordPressで安くて高速なサイトを構築する簡単な方法を記載します。 WordPressを自分のPCにインストールWordPressのstaticpress2019プラグインを設定staticpress2019でWordPressのコンテンツをHTMLファイルとして出力HTMLファイルを配信サーバーにアップロードするという具合に、WordPressのコンテンツをHTMLファイルとして出力して、HTMLファイルを配信することで、安くて高速なサイトを簡単に構築できます。
AWS Graviton2 プロセッサは、64 ビットの Arm Neoverse コアを使用してアマゾンウェブサービスがカスタムビルドしたもので、Graviton2 を搭載した Fargate は、同等のインテル x86 ベースの Fargate に比べて、最大 40% の料金性能向上と 20% の低コストを実現し、
Lambdaのタイムアウトについて書いていきまーす! 具体的には、以下の内容について、記載します。 本記事でやること Lambdaのタイムアウトの検知 ログからタイムアウトの有無を確認する CloudWatchのメトリクスフィルタを使用してタイムアウトをメトリクス化(可視化)する方法 タイムアウト時の対処法 まずタイムアウトの検知方法からみていきます。 タイムアウトの検知方法 ログからタイムアウトを検知可能です。 ログを検索してタイムアウトの有無を確認する Lambdaタイムアウト時には「Task timed out」というフレーズがログに吐かれますので、CloudWatchLogsのログインサイトを使ってログを検索することで、タイムアウトの有無を確認できます。 対象のロググループを指定してログインサイト画面へ行き、以下のクエリを実行することで、タイムアウトのログを検索できます。 fiel
古いMacBookでディスクが容量足りなくなったので、外付けSSDにOSインストールして使ったら快適になったという話を記載します。 私のMacBookは「Retina, 13-inch, Early 2015」です。 ディスク容量は121GBです。 ディスク容量が足りません。必要なファイルを外付けSSDに移動したり、不要なファイルを削除したりして、ディスク容量を空ける日々を送っていませした。 そろそろ、買い替えようかな、でもお金ないな〜という日々です。 そんな中、SSDにOSインストールして使えばいいじゃんと思いつきました! 実際にやってみたので、手順を書いておきます。 では、外付けSSDにOSインストールして、MacBookを使う方法を記載してきます。 外付けSSDにOSインストールして、MacBookを使う方法 まず、私が使用しているMacBookとSSDについて記載します。 使用した
API Gateway(REST API)とLambda(Python)の構成で、LambdaでBOM付きUTF8のCSVを作成して、API Gateway経由でCSVをレスポンスする方法を記載します。 BOM付きUTF8とすることで外字が文字化けしないCSVをAPI Gateway経由でダウンロードできます。 やること AWSの構成はAPI GatewayとLambda 使用する言語はPython 外字が文字化けしないCSVをダンロードできるようにする →BOM付きUTF8とすることで文字化け対策ができます。 Lambdaの作成 以下のソースコードでLambdaを作成します。 def lambda_handler(event, context): body_str = """column1,column2 "㐂","昱" """ return { 'statusCode': 200, '
AWS Lambdaのメモリ使用率と処理速度について調べてみました。 具体的には、以下についてLambdaを動かして試しました。 メモリ使用率が100%になるとエラーが起きたりするか? メモリ使用率が高いと速度劣化するか? まず、先に調査結果を書いちゃいます。以下の通りです。 調査結果 ・メモリ使用率が100%になるとエラーが起きたりするか? →エラーにはならない! ・メモリ使用率が高いと速度劣化するか? →速度劣化する では早速、調査していきます! メモリ使用率が100%になるとエラーが起きたりするか?について調査 調査方法 まず調査方法についてです。 以下の条件で調査しました。 前提条件 本記事では以下の条件で、調査しました。 言語:Python 3.12 Lambdaのタイムアウト設定:29秒 Lambdaのメモリ:128MB 調査で使用したソースコード 以下のソースを使用して調査し
AWS Lambdaは1秒間にいくつまで数えられるか調べてみました。 前提として、メモリと処理性能と料金は比例しています。 メモリを倍にすれば、CPUの処理性能と料金は倍になるということです。 本記事では、上記の前提が本当なの?を、AWS Lambdaは1秒間にいくつまで数えられるか確認するプログラムを作成して、メモリ量を変更してLambda実行して検証していきます。 まずは、前提としている「メモリと処理性能と料金は比例しています」についてどこからきているか記載していきます。
MySQLのInnoDBとMyISAMのパフォーマンス比較をしてみましたー 対象のMySQLのバージョンは5.7と8.0です。 結論としては、 INSERTはMyISAMの方が早いSELECT・UPDATE・DELETEは 8.0ではInnoDBの方が早い5.7ではSELECT・DELETEはMyISAMの方が早い。UPDATEはInnoDBの方が早いという結果でしたー! なお、MySQLのバージョンごとのサポート期限は以下のようになっています。
AWS FargateのCPUは何が使われているのか疑問でしたので、調べてみました。 ArmのCPUはAWSGraviton2 が使われています。 AWS Fargate の AWS Graviton2 のサポートを発表 – サーバーレスコンテナのコストパフォーマンスが最大 40% 向上 | Amazon Web Services
MySQLのクエリ実行速度をミリ秒単位で計測する方法を記載します。 ターミナルでMySQLサーバに入って、SQLを実行すると以下のように秒単位での速度は計測できますが、もう少し詳細に計測したい(ミリ秒単位で計測したい)、という場合の対処法です。
MySQLでインデックスを貼ったカラムを更新した場合のインデックスサイズとパフォーマンスへの影響を確認してみました。
EC2接続方法についての記事です。 EC2に入りたいけど入れないEC2に入る方法がいくつかあるけど、どれで入るのが良いの?どんな違いがあるの?という方向けの記事です。 EC2の接続方法は以下の4つの接続方法があります。
AWS ECS(Elastic Container Service)-Fargateでコンテナを最速で(簡単に)立ち上げようというコンテナ入門の記事です。 以下のような方向けです。
ElastiCache Redisについて色々調べてみた記事です。 具体的には以下のことを調べてみました!
MySQL 5.7と比べると、8.0の方が性能が良いという噂を簡単な検証で確認してみました。 結論としては、 8.0の方がINSERTは早い8.0の方がSELECTも早いけど、正しくインデックス貼られていれば同程度UPDATE、DELETEは同程度という結果でしたー! なお、サポート期限は以下のようになっています。
Railsでアプリケーションを作っていると非同期処理でSidekiqを使用することが多いと思います。今回はSidekiqを使用する際の注意点について記載していきます。 具体的には リトライサーバプロセスが落ちると、jobのデータは失われるメモリ肥大化する問題並列実行数制御について記載します。 Sidekiqを正しく理解して安全に使おう!という記事になります。 まずはSidekiqとは?について記載していきます。 Sidekiqとは Railsで非同期処理を行うためのgemです。複数の非同期処理を同時に実行することができ、サーバリソースを有効活用できます。 以下、処理イメージです。 Rails WEBサーバがリクエストを受け付けるRails WEBサーバは非同期でしたい処理をRedisにjobとして格納するSidekiqが動いているサーバがRedisからjobを取得するSidekiqはjob
今回はMySQLの怖い話(注意点)について書いていきます。知っていれば大丈夫! 具体的には以下の点について書いていきます。 デフォルト設定では大文字と小文字を区別しませんNULLと空文字は別ものですIN句の中に大量の値の入れるとパフォーマンスが劣化するREPLACE句の挙動CONCATで文字列連結時に、ひとつでもNULLな項目があると、結果はNULLになるUNIQUE インデックス制約では、文字列の後のスペースが無視される知っていれば大丈夫なので、1つずつ確実に理解していきましょ★ デフォルト設定では大文字と小文字を区別しません検索時に「hoge」をキーとして検索した場合、テーブルデータに「hoge」「HOGE」「Hoge」があったとすると、全てヒットします 大文字・小文字を区別せずに検索しますUNIQUE インデックスがあるテーブルにデータ登録する場合、テーブルデータに「hoge」がある
今回は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 のデータベースのより安全、簡単、迅速な更新が可能になりました。ブルー/グ
今回はAWS上でWEBサイト構築する際に、どのサービスを使えばいいのー?について考えていきます。 (最近、AWSのサービス、どんな時に、どんなサービス使えばいいのー?について調べるのにはまってます) 6つの構築方法を紹介し、それぞれ特徴やメリットとデメリットがありますので、この点について書いていきます。 まずはどのような構築方法があるかについて記載していきます。
今回はWordPressコンテンツをサーバレス配信してみます。結構簡単で、30分ほどあればサーバレス配信できるところまで確認できるかと思いまーす。 この記事でのサーバレスとはS3+CloudFrontでコンテンツ配信をすることを指しています。 サーバーレスにすることで以下のようなメリットがあります。 低コストで安定したサイト運用ができる 急なアクセス増にも耐えられ、かつ、安価です高速なサイトを構築できる サイトの速度向上はSEO的にも有利です訪問者がWordPressに直接アクセスしないのでセキュアになります WordPressのセキュリティリスクについては以下の記事をご参照ください WordPressはセキュリティ対策を取らないとリスクが高いと思っています。 セキュリティ対策としてはセキュリティプラグインの導入などがあると思いますが、一番安全なのはStaticPress S3を使用してコ
次のページ
このページを最初にブックマークしてみませんか?
『it.kensan.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く