S3のStandardとOneZoneの使い分け方

SAAの問題で使い分けについての問題間違えちゃったので備忘録。 特徴 S3のストレージクラスの耐久性はすべて99.999999999%(イレブン・ナイン)で、オブジェクトは即時に取り出すことが可能です。 また、StandardとOneZoneのそれぞれの特徴については以下のとおりです。 Standard 複数のAZにデータを複製する 可用性高(99.99%) 高頻度アクセス向き Standard-IA 複数のAZにデータを複製する 可用性高(99.99%) 低頻度アクセス向き OneZoneより重要なマスタデータの保存に向いている OneZone 一つのAZにデータを保存 Standardに比べて低コスト 可用性はStandardより下(99.5%) 低頻度アクセス向き 重要度の低いログデータなどの保存に最適 重要度の低いデータで、即時に取り出す必要があるデータはOneZoneということになります。 (Standard−IAはどういうデータを保存するのが最適か結構難しいけど、重要なデータでかつコストは抑えたいみたいなケースには向いているのかな?)

2023年7月7日 · にあえん

オンライントランザクション処理(OLTP)?

SAAの問題に「オンライントランザクション処理(OnLine Transaction Process)」という用語が出てきたので調べてみました。 トランザクションとは トランザクションは「取引」という意味ですが、コンピュータ用語としては「一連の処理」という意味で使われます。 例えばユーザー登録処理の場合、概ね以下のようなシーケンスで登録が行われます。 この一連の流れは、アクセスに比例して増えていきます。そうするとこのシーケンス自体の管理も難しくなってきます。 この一連の流れを維持するために必要な処理がトランザクション処理です。 OLTPの「オンライン」の意味 単純に「リアルタイム性が求められる処理ならオンラインと付く」と覚えればいいと思います。 逆にリアルタイム性のないトランザクション処理というのは、ユーザー登録しても登録情報の反映が翌日にされるようなケースのことを指します。 参考 OLTPとは オンライントランザクション処理(OLTP) とは

2023年7月7日 · にあえん

Route53とCloudFrontのざっくりした使い分け

SAAの問題を解いている際に、以下のようなケースの問題が出てきたので備忘録として書き残します。 「オンプレミスサーバーが一つしかなく、海外に事業を展開するケースで、どのサービスを選択するのがよいか?」といった趣旨の問題です。 ここで安易に「Route53の位置ルーティングを使えばいいんじゃない?」と思っていたのですが、サーバーは一つしかないのでCloudFront使ってエッジロケーションで処理するのが効率的ということで正解となっていました。 簡易的に特徴をまとめてみました。 特徴 以下のような特徴があります。 Route53 サーバーに対するルーティングを行う キャッシュの蓄積は行わない 位置情報や加重に基づいたルーティングを行うことができる CloudFront サーバーに対するルーティングを行う キャッシュを蓄積する アクセスに基づいたエッジロケーションにルーティングする まとめ Route53だけではうまくキャッシュ処理ができないので、使い分けが大事だよね。

2023年7月7日 · にあえん

S3から手動でクロスリージョンレプリケーションを行う

クロスリージョンレプケーションはマネジメントコンソールからは実施できませんが、AWS CLIからは実行可能です。 aws s3 cp s3://(レプリケーション元バケット名) s3://(レプリケーション先バケット名) --recursive シンプルにcpコマンドを使うだけでできます。 参考

2023年7月7日 · にあえん

Kinesisのざっくりした使い分け

どうもこんにちは。 最近AWSについて勉強しているのですが、Kinesisには3つ(正確にはビデオ用のKinesis Video Streamsってのもあるみたいだけど)のサービスがあり、どう使い分ければいいのかよくわかりません。 Kinesis Data Streams Kinesis Data Firehose Kinesis Data Analytics そこで、自分向けにまとめました。 Kinesis Data Streams イメージ図 名前の通りストリーム。 リアルタイム処理が必要なデータをここに流して、任意のサービスと連携することでデータ処理が可能。 これ単体でなにかできるというよりは、SQSみたいに他のサービスで処理するためのサービス、みたいなイメージ。 (SQSはポーリングが必要だけど、こっちは後続のサービスにそのまま流す感じ) Kinesis Data Firehose 主にStreamsから来たデータの変換を行って、S3とかHTTPリクエストとかにして配信するサービス。 配信の際はデータをまとめて配信します。 配信するための条件として「バッファサイズ」「バッファ間隔」というものがあり、どちらかの条件が満たされた場合に配信を行うという仕組みになっています。 設定可能な値範囲は以下のとおりです。 バッファサイズ: 最小: 1 MiB、最大: 128 MiB。推奨: 5 MiB。 バッファ間隔:最小: 60 秒、最大: 900 秒。推奨: 300 秒。 データの変換にLambdaを指定できますが、そこではまとまったデータではなく1つのデータが渡されます。 なので、一つのデータを変換したいだけなら単にStreams + Lambdaで構成するのが早いです。 (もっと言えばStreams通さなくていいこともあるけど、まぁケースバイケース) Kinesis Data Analytics リアルタイムに情報を分析して出力するサービスです。 内部的には「Apache Flink」を利用しています。 入力はS3やStreamsが主になっていて、出力もS3やStreamsに行うようになっています。 具体的なことは正直パッと見じゃわからんけど、この記事とか参考になるかも? さいごに Analyticsむずい

2023年7月1日 · にあえん

poetry installやpoetry lockが動かない場合の対処法

いつも通り開発していたのに、poetry installを行ったら急に全く動かなくなりました。 そんな場合の対処法について発見したので共有します。 対処法 poetry cacheコマンドを利用してキャッシュの削除を行います。 まず、poetry cache listでキャッシュの一覧を表示します。 次に、先程表示したキャッシュ一覧の名前を使用してpoetry cache clear --all [キャッシュ名]とタイプします。 すべてのキャッシュ一覧に対してこの操作を実行後、poetry installを実施したらうまく動きました。 めでたしめでたし。

2023年1月6日 · にあえん