ablog

不器用で落着きのない技術者のメモ

ティ の検索結果:

Aurora MySQLとS3間でデータをロード&アンロードする

…ss 信頼されたエンティティ-IDプロバイダー: rds.amazonaws.com パラメータグループを作成する グループ名: aurora-mysql57-cluster-custom パラメータグループファミリー: aurora-mysql5.7 タイプ: DB Cluster Parameter Group 作成したパラメータグループ "aurora-mysql57-cluster-custom" のパラメータ "aws_default_s3_role" に作成したI…

YCSB で DynamoDB On-Demand に負荷をかける

AWS

…00 プライマリパーティションキー:firstname(文字列) 読み込み/書き込みキャパシティーモード: オンデマンド Maven のインストール OpenJDK をインストールする。 $ sudo yum -y install java-1.8.0-openjdk-devel.x86_64 Maven をインストールする。 $ curl -OL https://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/apa…

S3 Object Lock について

AWS

…例 バケットのプロパティで保持期間90日に設定し、Organizations の Service Control Policy(SCP) で子アカウントの s3:PutBucketObjectLockConfiguration と s3:PutObjectRetention を Deny すると、そのバケットに作成されたオブジェクトは90日間削除できない。「コンプライアンスモード」の場合はこの期間はどうやっても削除できない。「ガバナンスモード」の場合は、親アカウントでSCPを…

文鎮化した S3 バケットを元に戻す

AWS

…を選択し、[セキュリティ認証情報]を選択する。 [アクセスキー (アクセスキー ID とシークレットアクセスキー)]-[新しいアクセスキーの作成]をクリックし、[キーファイルのダウンロード]をクリックしてダウンロードする。 文鎮化したS3バケットのバケットポリシーを削除 ダウンロードしたキーファイルを開いて、AWS CLI に設定する。 $ export AWS_DEFAULT_REGION=ap-northeast-1 $ export AWS_ACCESS_KEY_ID=…

サーバ負荷をシンプルに評価する指標 "sysload"

…ん」については、アクティブセッション数と DB Time + Wait Event が MySQL + InnoDB で取れればどんな性能問題が発生しても時間ベースでシンプルな評価が可能になる。*3 さいごに 今回はmonitoringの話をさせていただきましたが、MySQLでディープなネタが2つくらいありますので、今後、blogなりスライドなりで公開したいなぁと思ってます。興味のある方は気長にお待ち下さい。 6年くらい前に自作した metric がそこそこ有用だと思うので、…

Aurora PostgreSQL互換でフェイルオーバーを高速化する

AWS

Linux の TCP Keep Alive パラメータ tcp_keepalive_time = 1 tcp_keepalive_intvl = 1 tcp_keepalive_probes = 5 JavaのDNS キャッシュタイムアウトの短縮 // Sets internal TTL to match the Aurora RO Endpoint TTL java.security.Security.setProperty("networkaddress.cache.t…

Aurora MySQL互換のフェイルオーバー

AWS

…場合、いずれかにルーティングする。 リードレプリカが存在しない場合はプライマリ DB インスタンスに接続する。 カスタムエンドポイント(例:mycluster.cluster-custom-************.us-east-1.rds.amazonaws.com) 任意のインスタンスにルーティングするエンドポイントを作成できる。 インスタンスエンドポイント 特定のDBインスタンスに接続するエンドポイント。 フェイルオーバーの優先度 フェイルオーバーの優先度は、最も高い…

Spark DataFrame の repartition メソッドは何をするものか

…rtition(パーティション数, カラム名) とすると指定したカラムで指定したパーティション数にパーティショニングする。パーティション数を省略するとデフォルト値(Spark 2.3.2 では 200)になる。 repartition(numPartitions, *cols) Returns a new DataFrame partitioned by the given partitioning expressions. The resulting DataFrame i…

Google 認証を使ってALBで認証する

AWS

…ッチしているセキュリティグループを設定してHTTPでアクセスできるようにする。 「http://EC2のパブリック DNS」にアクセスしてページが表示されることを確認する。 ターゲットグループ [EC2]-[ターゲットグループ]-[ターゲットグループの作成]をクリックし、ターゲットグループを作成する。 ターゲットグループ名: 任意 VPC: 作成したEC2インスタンスと同じVPCを選択 作成したターゲットグループを選択して、[ターゲット]タブを選択して、[編集]をクリックする…

CloudFormation で EMR クラスター作成時に Presto の S3 Select Pushdown を有効化する

AWS

…r リソースのプロパティで、Amazon EMR (Amazon EMR) クラスターのソフトウェア設定を指定します。設定の例については、Amazon EMR Release Guide の「Configuring Applications」を参照してください。 構文 JSON { "Classification" : String, "ConfigurationProperties" : { 文字列: 文字列, ... }, "Configurations" : [ Con…

ECS で EC2 と Fargate の起動タイプのタスクを併用して同じアプリケーションを実行する

AWS

…しておく。 セキュリティグループ作成 セキュリティグループ名: ECS-SG VPC: デフォルトVPC タイプ プロトコル ポート範囲 ソース HTTP TCP 80 マイIP SSH TCP 22 マイIP すべてのTCP TCP すべて 自分自身のセキュリティグループID ELB ELB作成 種類: Application Load Balancer 名前: ec2-fg-mix-alb プロトコル: HTTP ポート: 80 アベイラビリティーゾーン VPC: デフォ…

S3オブジェクトのバージョン一覧を表示する

AWS

…日時、その他のプロパティがコンソールに表示されます (バージョニング状態を設定する前にバケットに格納されているオブジェクトには、バージョン ID null が付けられています)。 バージョンのないオブジェクトをリストするには、[Hide] を選択します。 S3 オブジェクトのバージョンを表示するには - Amazon Simple Storage Service AWSマネジメントコンソールで確認する。 AWS CLI で表示する。 $ aws s3api list-obje…

Parquet ファイルに Presto でクエリ時の Column Projection について調べた

…rquet'; パーティションを認識させる > MSCK REPAIR TABLE parquet.amazon_reviews_parquet; hive シェルを終了する。 > quit; クエリを実行できることを確認する。 $ presto-cli presto> use hive.parquet; presto:parquet> select count(*) from amazon_reviews_parquet; presto:parquet> select co…

EBS ボリュームの CMK を KMS で生成したものから BYOK に変更する

AWS

…_00.tsv.gz -rw-rw-r-- 1 ec2-user ec2-user 334M Nov 24 2017 amazon_reviews_multilingual_UK_v1_00.tsv.gz ファーストタッチペナルティを回避するためブロックデバイスのデータにアクセスする。 $ sudo dd if=/dev/xvdf of=/dev/null bs=1M 参考 Amazon EBS ボリュームの初期化 - Amazon Elastic Compute Cloud

EC2に Netflix Vector をインストールしてみた

AWS

…cp.so.3 /usr/lib/libpcp.so.3 [hadoop@ip-172-31-4-40 html]$ find /usr -name libpcp_pmda.so.3 /usr/lib/libpcp_pmda.so.3 共有ライブラリへのパスを通してやると解決した。 $ sudo vi /etc/ld.so.conf /usr/lib #追記 $ sudo ldconfig $ sudo ldconfig -v *1:セキュリティグループでアクセス許可しておく

アクティビティ発生後 CloudTrail でログ出力されるまでのタイムラグ

AWS

…dTrail はアクティビティ発生後 15 分以内にログが出力される。5分間隔でログを出力する。と書かれているが、CloudTrail で S3 に出力されたログを Athena で確認してみたら、結構ラグは少なそうな感じ。 クエリ select now() AT TIME ZONE 'Asia/Tokyo' as now_tokyo, now() now_utc, eventtime ,eventsource, eventname from default.cloudtra…

Prestoでparquetファイルにクエリをかける

…rquet'; パーティションを認識させる。 hive> MSCK REPAIR TABLE parquet.amazon_reviews_parquet; hive shell を終了する hive> quit Presto からクエリを投げてみる コアノードでページキャッシュをクリアする # echo 3 > /proc/sys/vm/drop_caches presto-cli を起動する $ presto-cli データベースとスキーマを指定する。 presto> u…

HDFS の I/O サイズ

…り, シーケンシャリティは低下するためだと考えられる. つまり, 前述の性能律速は, 複数ストリーム I/O によるディスクシークの増加から起因される問題であると考えられる. 一般的に, 前述のような複数ストリーム I/O による性能律速の問題に対しては, I/O バッファサイズの増加, または, I/O のスケジューリングにより解決が図られる. 以下に, それぞれの解決策を Hadoop において検証した結果を示す.図 5 に I/O バッファサイズを変化させた時の I/O…

PySpark から Parquet ファイル on HFDS にクエリを実行してみる

AWS

… EMR のセキュリティグループで ssh でのアクセスを許可する。 マスターノードに ssh でログインする。 $ ssh -i ~/us-east-1.pem hadoop@ec2-**-***-**-**.compute-1.amazonaws.com HDFS にディレクトリを作成して S3 からデータをコピーする。 $ hadoop fs -mkdir /amazon-reviews-pds-az/ $ s3-dist-cp --src s3://amazon-re…

db tech showcase 2018 Day 2

…SQL開発者コミュニティにおけるMajor Contributorで、セキュリティ機能やFDW、CustomScan等の機能においてコア機能の開発に貢献。数年前からGPUによるクエリ高速化モジュールであるPG-Stromを開発。この技術の実用化を目指し、2017年に HeteroDB 社を設立。現在に至る。 内容: 本セッションではまず、GPUを用いたPostgreSQL高速化モジュールであるPG-Stromの中核機能で、GPUとNVME-SSDを密連携てPCIeバスの限界に…

db tech showcase 2018 Day 3

…歴: 本職はセキュリティソフトの開発。Pythonは2000年くらいから使用し始めている。db tech showcaseでは、MongoDBの人としてデビュー。本業の傍ら、オライリージャパンから「SRE サイトリライアビリティエンジニアリング」「初めてのSpark」「ヘルシープログラマ」「Google BigQuery」「Sparkによる実践データ解析」など技術翻訳書を多数発刊。 内容: 大量のデータをCSVで保存するのは非効率です。そのデータを分析に利用するなら、列指向の…

db tech showcase 2018 Day 1

DB

…者からデータサイエンティストに転身。データ関連ビジネスの立ち上げ等に関わった後楽天にてCustomerDNAの開発に従事。 概要: 楽天で構築中のDWH、CustomerDNAの概要解説と、そこで実施しているデータ品質マネジメントの実例についてご紹介します。(資料非公開) サマリ DWHでどのようにデータ品質をチェックしているかというお話。 データ処理の部分だけでなく、データソースもきちんとテストする必要がある。 プロセス(データ処理部分)のテスト観点 正確性: 仕様通りマッ…

Spark の RDD、DataFrame、DAG と Glue の DynamicFrame などについて

AWS

…おり、内部的にはパーティションというかたまりに分割されています。Spark では、このパーティションが分散処理の単位となります。RDD をパーティションごとに複数のマシンで処理することによって、単一のマシンでは処理しきれない大量のデータを扱うことができるのです。 ユーザーはたとえばHDFSなどの分散ファイルシステム上のファイルの内容を RDD にロードし、RDD を加工することで大量のデータの分散処理を実現できます。Spark ではこの加工に相当する処理を「変換」と呼びます。…

AWS Glue とは

AWS

…ドポイント セキュリティ ETL Hiveメタストア Hive がテーブルのスキーマやその他の システムメタデータを永続化するため の独立したリレーショナルデータベー ス、通常は MySQL を使用する。 Apache Hive 紹介 Configuring the Hive Metastore | 5.8.x | Cloudera Documentation DynamicFrame Apache Spark の主要な抽象化の 1 つは SparkSQL DataFrame…

VPCフローログのサイズがどの程度になるか

AWS

… EC2 のセキュリティグループでクライアント側のEC2のIPからの通信を許可する。 検証実施 iperf で1時間ネットワーク通信を行う。 サーバ側 $ iperf -s クライアント側 $ iperf3 -c ec2-**-***-191-213.ap-northeast-1.compute.amazonaws.com -t 3600 -P 10 CloudWatch サイズの確認 iperf クライアント側 $ aws s3 cp --recursive s3://aw…

New Relic で EMR の性能情報を可視化してみる

AWS

…が必要 (サードパーティーがこのロールを引き受ける場合のベストプラクティス)]をチェックして[外部ID*2]を入力する。 ロールに以下のポリシーをアタッチする。 AmazonElasticMapReduceReadOnlyAccess CloudWatchReadOnlyAccess ロール名は "NewRelicInfrastructure-Integrations" など任意の名前を入力する。 ロールに以下のインラインポリシーを設定する。 { "Statement": […

EMR のブートストラップアクションはマスター・コア・タスクノードで実行される

AWS

… 確認する セキュリティグループでマスターとスレーブへの SSH 接続を許可する*1。 ssh でマスター・コア・タスクノードにログインして、/home/hadoop/contents/README が存在することを確認する。 マスターノード [hadoop@ip-172-31-14-243 ~]$ find . -name README -ls 524311 4 -rw-r--r-- 1 hadoop hadoop 15 Oct 22 2009 ./contents/REA…

Amazon Inspector で OS とミドルウェアの脆弱性・設定をチェックしてみた

AWS

… クラウドセキュリティFAQ セキュリティ対策を分解して考える from koki abe AWS Black Belt Online Seminar Amazon Inspector from Amazon Web Services Japan Rules Packages in Amazon Inspector The following are the rules packages available in Amazon Inspector: Common Vulne…

Amazon Redshift で取得できる監査ログ

AWS

…名前) ユーザーアクティビティログ取得設定 Redshift のパラメータグループを作成し enable_user_activity_logging を true に設定する。 作成したパラメータグループを Redshift クラスターに割り当てる。 Redshift クラスターを選択し、[変更クラスター]-[クラスターパラメータグループ]で作成したパラメータグループを選択する。 確認する 接続ログ 認証の試みと、接続および切断を記録します。次の表に、接続ログの情報を示します…

PostgreSQL 10 の宣言的パーティションについて

…TABLE 文でパーティショニングが構築可能に ALTER TABLE 文で、子テーブルの追加/除去が可能 階層的なパーティショニングも可能 子テーブルに外部サーバのテーブル(FDW)を使用可能 INSERT の高速化 テーブル継承の機能を使用して実装されている 制約 ハッシュパーティションはない グローバル索引が作れない(ローカル索引はOK) パーティションを跨った一意制約を付けることができない 子テーブル数が多くなるに連れて、プランニング時間が増大する パーティションを跨…