AWS
ディレクトリ作成 $ cd /opt $ sudo mkdir apache-spark apache-maven Open JDK 1.8 をインストール $ sudo yum -y install java-1.8.0-openjdk-devel.x86_64 $ java -version Maven をインストール $ curl -O https://aws-glue-etl-artifacts.s3.amazonaws.…
AWS Lambda から Amazon RDS Proxy に IAM 認証する際のIAMポリシー設定例。以下のような IAM ポリシーを Lambda 実行用の IAM ロールにアタッチする。 IAM ポリシー例 リージョン: ap-northeast-1 AWSアカウントID: 234567890123 RDS Proxy の arn: arn:aws…
Requirements Only the management account can enable sharing with AWS Organizations. The organization must be enabled for all features. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide…
VPC Reachability Analyzer を使うと便利。 【速報】VPC内の接続性テストとトラブルシューティングを簡単にする!VPC Reachability Analyzerが発表されました! #reinvent | DevelopersIO
Your RDS Proxy must be in the same VPC as the database. The proxy can't be publicly accessible, although the database can be. Amazon RDS Proxy による接続の管理 - Amazon Relational Database Service
Aurora PostgreSQL に RDS Proxy 経由で IAM 認証で接続する手順。 前提 RDS Proxy で [IAM 認証] が [必須] になっていること。 AWS CLI がインストールされていること*1。 psql がインストールされていること*2。 $ sudo yum -y install postgresql 手順 …
IAM ロールも VPC エンドポイントも正しく設定しているのに、Private Subnet の EC2 にセッションマネージャーで接続できない場合の原因と解決策。 事象 Private Subnet の EC2 にセッションマネージャーで接続できない 。 以下の VPC エンドポイントは作成…
以下のサンプルコードの sequenceNumberOfPreviousRecord のループの1回目の初期値が何かという話だが、setSequenceNumberForOrdering はシャード内の順序を保証するメソッドで2回目からのループで1回目より後になればよいので、初期値は null でよさそう。 …
AWS Glue で VPC Peering 経由で別アカウントの Aurora PostgreSQL に接続した手順をメモ。 前提 クロスアカウントで VPC Peering 接続されていること。 Aurora PostgreSQL にアタッチしているセキュリティグループのインバウンドでピアリング先 VPC からの …
事象 NATゲートウェイを作成すると、Failed となり、状態メッセージに "Network vpc-****** has no Internet gateway attached" と表示される。 原因 VPC にインターネットゲートウェイがアタッチされていないため。 NAT ゲートウェイの作成に失敗する 問題 …
事象 STS に対して EC2 から AWS CLI や AWS SDK を使ったアプリケーションから VPC エンドポイント経由で API を実行すると応答がなくタイムアウトする。 原因 グローバルエンドポイント(sts.amazonaws.com)が使用されているため。 AWS CLI v1 はデフォル…
Python でタイムスタンプのタイムゾーンを変換するコード例。例えば、CloudTrail のタイムゾーンを UTC から JST に変換するといった場合。以下のコードは AWS Lambda でも追加モジュール不要で実行可能。 コード import datetime import dateutil.parser de…
Amazon Aurora DB クラスターエンドポイントは、DNS レコードの更新を自動的に伝播しますが、処理は即座に行われるわけではありません。これにより、データベースで発生したイベントへの応答が遅れる可能性があり、イベントがアプリケーションによって処理さ…
ゆるく、AWS を使って Web サイトを公開したり、いろんなサービスを使ってみたりしていくメモ。 AWS アカウント作成後にすぐやるセキュリティ対策 - ablog 01. Amazon S3 でウェブサイトを公開する - ablog 02. Route 53 で独自ドメインを取得する - ablog 0…
アラート通知 ThrottledRequests メトリクス 説明 ThrottledRequests リソース (テーブルやインデックスなど) でプロビジョニングされたスループットの上限を超える、DynamoDB へのリクエスト。リクエスト内で任意のイベントがプロビジョンドスループットの…
クラスター作成後に Performance Insights を有効化する場合は、[クラスターの変更] ではなく [インスタンスの変更] で有効化する。 Aurora MySQL では t2、t3 インスタンスクラスは Performance Insights はサポートされていない。 RDS MySQL から Aurora …
AWS Backup で Amazon DynamoDB のバックアップを日次で取得してみた。 マネジメントコンソールで AWS Backup に移動してから以下の手順で作成した。 手順 バックアッププランを作成する バックアップウインドウ: バックアップウインドウをカスタマイズ バッ…
CloudFormation で Spark UI 用に EC2 インスタンスを作成後に、参照する S3 のパスを変更する手順。 /opt/spark/conf/spark-defaults.conf の spark.history.fs.logDirectory を編集する spark.eventLog.enabled true spark.history.fs.logDirectory s3a://…
Spark UI で Glue ジョブの結果を確認する手順 - ablog で、CloudFormation で Spark UI 用 EC2 を作成したときにアタッチされる IAM ロールに設定されている IAM ポリシーは以下の通り。 AWS 管理ポリシー CloudWatchAgentServerPolicy AmazonS3ReadOnlyAcc…
アカウントレベルの設定 アカウントレベルで S3 のブロックパブリックアクセスをオフに設定する。 S3 バケットの作成と設定 S3 バケット "portfolio.yoheia.com" を作成する。 Route 53 でエイリアスとして設定する場合、DNSレコード名と同じ名前のバケット…
ルートアカウント ルートユーザーの他要素認証の有効化 Amazon S3 のブロックパブリックアクセスをアカウントレベルで有効化 CloudTrail を有効化 AWS Config を有効化(マネージドルールは選択しない) AWS GuardDuty を有効化 AWS SSO、AWS Organizations …
Lambda の呼び出しペイロードは最大 6MB(同期の場合) ALB はターゲットが Lambda の場合にリクエストボディは最大 1MB 参考 リソース Quota 呼び出しペイロード (リクエストとレスポンス) 6 MB (同期)256 KB (非同期) AWS Lambda のクォータ - AWS Lambda …
Google Chrome の右上のユーザーを選択し、追加をクリックする。 ユーザー名を入力、アイコンを選択してユーザーを追加する。 それぞれのユーザーでログインしておけば、AWSアカウントでサインイン/サインインアウトしなくても同時に複数アカウントにサイン…
Glue Spark ジョブや Jupyter Notebook の glueContext で spark.conf.set() する方法 import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext, SparkConf ★ from awsglue.co…
Amazon Redshift から Amazon S3 へ UNLOAD 時には s3:PutObject 権限だけでよさそうだが、s3:ListBucket 権限も必要。allowoverwrite オプションをつけている場合は s3:PutObject 権限のみで UNLAOD できるが、allowoverwrite オプションをつけていない場合…
AWS Glue で Amazon S3 にある Parquet を Amazon DynamoDB にロードしてみた。 DynamoDB にテーブルを作成する。 プライマリキーの項目名と型を設定する。 Parquet ファイルを S3 バケットにアップロードする。 AWS Glue でクロールしてテーブルを作成する…
AWS Glue の Spark ジョブで Amazon S3 にある CSV を Amazon DynamoDB にロードしてみた。 src_table.csv を作成する。 x y z src_table.csv を S3 バケットにアップロードする。 AWS Glue のクローラでアップロードした CSV をクロールしてテーブルを作成…
AWS Glue の Spark ジョブで Amazon DynamoDB のテーブルから別のテーブルにデータをコピーしてみた。 手順 DynamoDB のテーブルを作成する src_table プライマリキー: key 3件ほどItemを追加する dst_table プライマリキー: key テーブルは空のままにしてお…
ソースコード ddb_csv_importer.sh #!/usr/bin/env bash export bucket=aws-s3-bucket export key=test/test_table.csv export table=testTable python ./ddb_csv_importer.py ddb_csv_importer.py #!/usr/bin/env python3 # -*- coding: utf-8 -*- import b…
事象 DynamoDB に BatchWriteItem で書こうとすると "when calling the BatchWriteItem operation: The provided key element does not match the schema" と怒られる。 Error executing batch_writer Traceback (most recent call last): File "./ddb_csv_i…