Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

AWS

CloudFormationを使ってS3サーバーサイドログをオブジェクトロック有で作成する

ランキング参加中AWS (Amazon Web Services) やりたいこと S3のサーバーサイドログを有効化してLog情報を収集したい 収集したログ情報はオブジェクトロック有(ガバナンスモード)にしたい IaC化するため、CloudFormation(特にSAM)を使ってリソースは定義…

【2024年秋版】AWS Developer - Associate(DVA-CO2)に合格するまでの話

はじめに AWS Developer - Associate(DVA-CO2)の合格体験記になります。 本記事では、勉強法やその試験に向けたコツ等をお伝えできればと思います。 過去の資格試験については下記を参照してください。 www.yuta-nakata.net www.yuta-nakata.net 結論 2024…

dynamoDBのAPIイベントをCloudTrail×S3に集める方法

ランキング参加中AWS (Amazon Web Services) 背景 CloudTrailは、証跡を集めるサービスです。 AWS上の様々なアクセスログを自動的に集めてくれます。 DynamoDBにおいては、 CreateTable DeleteTable UpdateTable などの基本的な挙動はデフォルトで記録してく…

RAG on AWS dive deep参加してきた

ランキング参加中AWS (Amazon Web Services) 2024/09/19に開催されたRAG on AWS dive deepの参加報告です。 AWSより、動画ならびに資料は公開されていますので、本記事では個人的に勉強になったPointをまとめていきます。 aws.amazon.com チャンク戦略 正直…

【Performance Tuning of Amazon Athena】Athenaのパフォーマンスを上げる

背景・前提 施策1. パーティションを使う 施策2. 読み込ませるデータを圧縮する 施策3. ファイル数を分割する 施策3. 結合を最適化する 施策4. LIKE句の使用は控える 施策5. 近似関数を使う 施策6. 必要ない列は含めない 施策6. クエリ結果を再利用 最後に …

【コピペでOK】EC2にPython3.12を入れる

ランキング参加中AWS (Amazon Web Services) ランキング参加中Python 背景 EC2はデフォルトでは、PythonのVersionが非常に古いです。 そこで、EC2のVersionUpを試みるも環境構築に苦戦するケースが散見されます。 巷にあふれる同様のHow To記事も見かけます…

【初心者向け】コンピュータサイエンスがわからない人のための、EC2のインスタンスの選び方

ランキング参加中AWS (Amazon Web Services) 背景 EC2インスタンスの選び方について、メモリとか、CPUとかよくわからない人向けにまとめます。 そのため、各EC2インスタンスタイプの正確な説明はしません。 また、玄人から見ると、雑な説明になっています。 …

CloudFormationを用いて、AWS WafをCloudFrontに紐づける方法

この記事について 取り扱う内容 AWS WAFをCloudFormationを用いてdeployする deployされたAWS WAFをCloudFrontに紐づける方法 取り扱わない内容 CloudFormationの使い方 AWS WAFにおけるRule設定 Wafのソースコード Resources: Waf: Type: AWS::WAFv2::WebAC…

AWS Sysops Administrator Associate (SOA-C02)に合格するまでの話

はじめに AWS Sysops Administrator Associate (SOA-C02)に2024/06/16に受験し、合格しました。 SAAの勉強法・試験対策に比べて、SOAの情報は少なく、今後SOAを受験される方向けに参考になれば幸いです。 筆者のAWS経験 Webエンジニアとして、毎日AWSを使っ…

【サンプルコード有・コピペで行ける】EC2, ALB, CloudFrontをCloudFormationを使って書く

背景 EC2、ALB、Cloudfrontを使ってリソースをデプロイしたい。 めちゃくちゃあるあるな構成(SAAの試験に出てきそうなぐらい)なので、巷にそれらしい記事はいっぱいある。 しかし、、 マネコン操作があったり EC2とALBのみ 等、以外と同じことをしている記…

プログラミングコードの書き方一つでAWSのクラウドコストは大きく減らせる話【数値計算偏】

ランキング参加中AWS (Amazon Web Services) 背景 AWSを用いた数値計算は往々にして行われているかと思います。 計算にあたって、コンピューティングリソースは、EC2、ECS、Lambdaなど様々な選択肢があるかと思います。 一方で、数値計算をクラウド環境で行…

Step Functionsにて、次のStateに進めなかったエラーの話とその回避策について

ランキング参加中AWS (Amazon Web Services) 謎エラーの概要 StepFunctionsにて発生したエラー Lambda の処理が正常に完了した。が、次のStateに進むことができず。 エラー文としては、Timeoutと表記される ただし、このエラーは一度きり確認されたのち、同…

AWS Lambdaのランタイムサポートが終わるとどうなるか?

Lambdaのランタイムサポートが終わるとどうなる? AWS Lambdaは、FaaS(Function as a Service)、サーバーレスサービスの実現において非常に重要な役割を担っています。 一方で、サポートするランタイムの変遷も早く、適宜Version Upを行っていく必要性が求…

AWS/boto3でRate Exceeded の回避方法

結論 import boto3 from botocore.config import Config config = Config(retries = { 'max_attempts': 10, 'mode': 'standard' } ) client = boto3.client('s3', config=config) でOKです。 巷では、 pip install retrying https://github.com/rholder/retr…

LambdaでPandasを高速化するための方法

Lambda(Python)でPandasを使ってる方は、多いのではないのでしょうか? 弊社では、サーバーレスがファーストチョイスとしてよく使われるため、Lambdaの出現頻度が高いです。 このPandasですが、Lambdaの世界(FaaS)で使う際の高速化の方法についてお教えて…

立ち上げ時のSaaS/Webアプリに役立つサービスまとめ

私自身、立ち上げ期のSaaSサービス・Webサービスの開発、個人開発を通じて学んだ立ち上げ期に役に立つサービスをまとめます。 そもそも、なぜ立ち上げ期で役に立つのか? サービス立ち上げ時は、とにかく爆速でコンテンツの充実・プロダクトの中身を作ってい…

CfnでS3バケットを作成・削除、再作成すると、QuickSightのアクセス権外れるらしい

概要と結論 生じた問題 QuickSightのセキュリティ・アクセス権限から、特定のS3バケットを選択して、このバケットを使っています。 CloudFormationを用いて、 S3バケットの作成 を行ったのち、アクセス権の追加を行い、S3バケットを作成したCloudFormationを…

Lambdaでサードパーティライブラリを爆速で使う方法

ランキング参加中Python ランキング参加中AWS (Amazon Web Services) やりたいこと AWS Lambdaでサードパーティ製のライブラリを使う方法についてです。 今回はPythonを取り上げます。 結論 公式で出しているレイヤーを使う すでに公開されているレイヤーを…

AWSコストを半分に削減した方法

はじめに 弊社でAWSを使ったシステム開発をメインにしています。 年末の大掃除ということで、日頃使っているサービスのコスト見直しを行い、月数千ドルの削減を行いました。 はじめに、我々のチームで使っているAWSアカウントは下記のようなユースケースで使…

EBSのボリュームサイズを小さくする方法

はじめに EBSボリュームのサイズは増やすことしかできません。デフォルトでは、EBSを縮小することはできません。 AWS公式によれば、小さいボリュームを使用する場合、小さいボリュームを新たに作成し、それにデータを移行する必要があります。 repost.aws こ…

EC2でOS Error Not enough free space to write XXXXXX bytesが出た場合

EC2にログインしたのち、 OS Error Not enough free space to write XXXXXX bytes とエラーがデータ出た場合の解決方法です。 結論 以下の2STEPで解決できます。 根本的な原因は、EC2にアタッチされているEBS(Elastic Block Store)のストレージサイズの容…

QuickSightでWe cannot update the IAM Role. The reason could be one or more from the followingのエラー解決法

事象と経緯 QuickSightを用いてデータの可視化を行っています。 データセットとして、Athenaを使っており、セキュリティとアクセス権限から書き込み権限を追加しています。 起こったエラーとしては、対象バケットにアクセス権を追加した後に、下記のような書…

AWS CloudFormationでDELETE_IN_PROGRESSが終わらないときの対処法

状況 AWS CloudFormationでCloudFrontのリソースを削除しようとした。 DELETE_IN_PROGRESSが10分以上経っても、完了しない。 Eventを確認しても、エラーは確認できず、削除中っぽい。 対処法 とにかく待つしかないらしい 特に、CloudFront周りのネットワーク…

AWS EBS(Elastic Block Store)はEC2を止めても課金されます

ランキング参加中AWS (Amazon Web Services) Cost Explolerで状況確認 EBSの課金を停止する EBSと料金について 表題の件について解説していきます。 結論としては、 AWS EBS(Elastic Block Store)は、アタッチしているEC2を停止しても課金されます。なので…

AWS Lambdaで複数のファイルを並列で取得する

ランキング参加中Python ランキング参加中AWS (Amazon Web Services) 今日は、AWS Lambda, Python, 並列処理について書こうと思います。 背景 プログラム 背景 Lamdaでデータをダウンロードする時間を圧縮したい! プログラム 下記の例では、awswranglerを用…

LambdaでBoto3/Pandasを使うのをやめて、awswrangler(aws-sdk-pandas)を使いましょう

ランキング参加中Python ランキング参加中AWS (Amazon Web Services) 1. awswranglerってなに? 2. Boto3/Pandasではなく、awswranglerを使う実践的なコード 2-1. boto3/pandasを使う場合 2-2. awswranglerを使う場合 3. なんでawswrangler? 4. 参考文献 1.…

StepFunctionの基礎と概要【サンプルコード付き】

StepFunctionsとは? 概要 ハンズオン 今回やること 勉強教材 StepFunctionsとは? 概要 StepFunctionsとは、AWSのサービスの一つです。 複数のAWSサービスを簡単に組み合わせ・自動化でき、計算機リソースを分散・並列化させつつ大規模計算を可能にすること…

AWS利用コストをSlackに通知させるツールを作る

はじめに 弊社では、基本的にAWSをベースに開発をしており、クラウド・サーバーレスが基本になっています。 この環境は、様々な面でメリットをもたらす一方で、従量課金型のサービスであるパブリッククラウドにて、予期せぬ出来事が起きないように、利用料金…

AWS Lambda(Python) をローカルで実行する方法

ランキング参加中AWS (Amazon Web Services) ランキング参加中Python はじめに AWS Lambdaは、サーバーレスアプリケーション開発において、とても重宝します。 15分でタイムアウトや、メモリサイズ・エフェメラルストレージに制限があったり、サードパーティ…

AWS Solutions Architect Associate (SAA-C03)に合格するまでの話

はじめに AWS Solutions Architect Associate (SAA-C03)に2022/09/17に受験し、合格しました。 試験勉強をしていた時は、試験が改定されることを途中まで知らず、 え、試験内容改定されるの?しかも前情報が全然ないじゃん!! とめちゃくちゃ焦りました。 …