GOADBULL

AWS DVA デベロッパー メモ2

AWSを使ったことがなく、用語が全然わからない人向けのサイトです。正確性に欠ける可能性がありますが、わかりやすさ重視で書いていきます。
デベロッパー アソシエイトの範囲です。
今回は頻出の単語を書いていきます

インスタンスメタデータ

インスタンスに関するデータで実行中のインスタンスを設定または、管理することができる。

できること

・起動中のユーザーデータにアクセスできる。
・パラメータ指定
・単純なスクリプトを含めることができる。
・ユーザーデータで指定したS3バケットからコンテンツを取得することができる。

ProvisionedThroughputExceededExceptionエラー

原因

現在のパフォーマンスでは要求された量のリクエストを処理できていない(リクエスト多すぎで読み取り処理が間に合ってないよ)
また、パーティションキー が十分に配布されておらず、データの処理が間に合ってない可能性がある。(データを探すのに時間がかかる)

対策

・エクスポネンシャルバックオフ(再試行間を指数的に伸ばしていく)の実施
・Lambdaによる並行処理の使用。
・最小量のRCUを使用するために、結果整合性の読み取りでクエリ処理へとリファクタリングをすることで、発生可能性を抑えることができる。
・パーテションキーで分類する

インスタンスのIPアドレスを取得したい(メタデータの取得)

CurlGetコマンドを利用して、http://(リンクローカルアドレス)/latest/meta-data/から直近のメタデータを取得することできる。

SDKを使用するために

アクセスキーを使用して、~/.aws/credentialに認証ファイルを作成する。

遅延キューと可視性タイムアウトの違い

どちらも他のコンシューマーと同じ処理をしないために使用する。
非表示にするタイミングが異なる。
遅延キューは、キューを受け取った時点で非表示にする。可視性タイムアウトはキューの処理が始まってから非表示にする。

予測以上の時間がかかってしまう場合 changeMessageVisibility コンシューマーに合わせて動的に非表示にさせる時間を延長する。

自動でAMIを最新のやつに変更したい

Systems Manager パラメーターストアを利用して、CloudFormationテンプレートに最新のAMI IDを取得する。+ スタックを更新する

GetSessionToken API

既存のIAMユーザーに対して、一時的アクセス許可を与えることができる。

DynamoDBのテーブルの開発を簡単にするには

DynamoDBMapper、.NET(C#)にはオブジェクト永続性モデルがある。 オブジェクト永続性モデル テーブルをクラスオブジェクトとして使うことで、開発効率をあげることができる。

DynamoDBの特定項目のみ読み取り操作を許可したい

IAMポリシーにConditionを追加して、dynamodb:LeadingKeyを設定する。

Lambda関数のデプロイ

Lambda関数とコードの依存関係をまとめる(ZIP化する) そのZIPファイル(デプロイパッケージ)が50MBを超えるサイズなら同じリージョンのS3にアップロードして、そこからデプロイする必要がある。

クエリ文字列パラメータ

パッシブパラメータ

ユーザーがどこのURLから飛んできたのかURLの語尾に記載する

アクティブパラメータ

商品の一覧をサイズごとにフィルタリングをしたり、価格順に並べたりすることができる。例:『…/t-shits/size=M』みたいなものでサイズでフィルタリングすることができる。
クエリ文字列パラメータ
わかりやすいサイト↓
クエリ文字列(URLパラメーター)とは?Webサービス上の用途とその役割





コメントや要望があれば、下記のツイッターにDMをください。
Tweets by wallofmind2