ablog

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

2024-01-01から1年間の記事一覧

Redshift で UNLOAD した時のファイル suffix の命名規則

Redshift で UNLOAD した時のファイル suffix の命名規則 ネーミングルール CSV 圧縮なし: 000 gzip: 000.gz bzip2: 000.bz2 zstd: 000.zst JSON 圧縮なし: 000.json gzip: 000.json.gz bzip2: 000.json.bz2 zstd: 000.json.zst Parquet 000.parquet 検証手…

Redshift の COPY コマンドでロード時に無効な UTF-8 文字を自動的に置換する

COPY コマンドで Redshift にデータロード時に無効な UTF-8 文字がある場合、ACCEPTINVCHARS で固定の文字列に置換することができる。 ACCEPTINVCHARS [AS] ['replacement_char'] データに無効な UTF-8 文字がある場合でも、VARCHAR 列へのデータのロードを…

Redshift で COPY コマンド実行時に svl_query_metrics_summary や sys_query_history に情報が記録されるか

Redshift で COPY コマンド実行時に svl_query_metrics_summary や sys_query_history に情報が記録されることを確認したメモ。 結果 dev=# copy public.customer from 's3://test-rs-copy-bucket/csv/customer/' csv dev-# iam_role 'arn:aws:iam::12345678…

Redshift の STL テーブルと SYS ビュー

Redshift の STL テーブルのクエリID(query列)と SYS ビューのクエリID(query_id)は別の値のため、クエリIDで結合することはできない。トランザクションID(STLとSYSのトランザクションIDが 1:1 の場合)で結合することができる。 例 dev=# \timing on d…

Redshift のシステムテーブルビューの種類

STL STV SVL SVV SYS タイプ テーブル テーブル ビュー ビュー ビュー 生成方法 ディスク上のログ オンメモリーデータ STLへの参照 STVへの参照 - 用途 過去の実行記録の参照 現在進行中の処理の参照 STL/STVデータを組み合わせて別軸で分析 同左 - 記録タイ…

AWS Summit Tokyo 2023 で発表した "Amazon Redshift クエリパフォーマンスチューニング Deep Dive" のスライド

AWS

今更だけど、社内外でよく2023年のAWSサミット東京で発表した "Amazon Redshift クエリパフォーマンスチューニング Deep Dive" のスライドのパスをよく聞かれるのでメモしておく。 https://pages.awscloud.com/rs/112-TZM-766/images/AWS-36_AWS-Summit-2023…

Redshift に Parquet を COPY コマンドでロードしようとすると 15007 Spectrum Scan Error が発生

AWS

事象 Redshift に Parquet を COPY コマンドでロードしようとすると 15007 Spectrum Scan Error が発生する。 実行コマンド copy t2 from 's3://s3-prod-123456789012-ap-northeast-1/table-data/t1/' parquet iam_role 'arn:aws:iam::123456789012:role/PRO…

AWS CLI からアクセスするサービスのエンドポイントを aws/config で指定する

AWS

実行例 $ aws s3 ls --profile s3_access --debug ... 2024-08-07 05:06:29,995 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): bucket.vpce-********-********.s3.ap-northeast-1.vpce.amazonaws.com:443 AWS CLI の…

AWS CLI でデバッグを行う

AWS

デバッグモードで実行する(--debug オプションをつける) $ aws sts get-caller-identity --endpoint-url https://vpce-********-********.sts.ap-northeast-1.vpce.amazonaws.com --debug ログの見方 "botocore.auth" のところが実行されたスクリプト 2024…

AWS CLI で IAM ユーザーで認証して IAM ロールにスイッチすると --endpoint_url の指定が効かない

AWS

事象 オンプレのサーバから AWS CLI で IAM ユーザーのクレデンシャルで認証後、別AWSアカウントの IAM ロールにスイッチロールすると STS の --endpoint_url パラメータの指定が効かず、グローバルエンドポイントやリージョナルエンドポイントにアクセスし…

STS のエンドポイントを .aws/config で指定する方法

AWS

STSのエンドポイントを .aws/config で指定する方法。 .~/aws/config [profile dev] services = custom-endpoint [services custom-endpoint] s3 = endpoint_url = sts = endpoint_url = 参考 設定ファイルと認証情報ファイルの設定 - AWS Command Line Inte…

DX->VPC->S3 への接続がタイムアウトした時の切り分けと対処

AWS

事象 オンプレのデータセンターにある Linux サーバから Direct Connect -> VPC -> VPC Endpoint -> S3 にアクセスしようとするとタイムアウトする。 $ aws s3 ls --profile s3_access --endpoint-url https://bucket.vpce-********.s3.ap-northeast-1.vpce.…

IAMユーザーのクレデンシャルで認証後、スイッチロールして S3 にアクセスする設定

AWS

AWS CLI で IAM ユーザーのクレデンシャルで認証して、スイッチロールして S3 にアクセスする設定。 実行コマンド $ aws s3 ls --profile s3_access --endpoint-url https://bucket.vpce-********-********.s3.ap-northeast-1.vpce.amazonaws.com IAMロール…

筋トレ分割法

ここ数年自重トレーニングしてたけど、久しぶりにジムを再開したので、分割法をメモ。 分割する部位 肩・胸・腕 ダンベル(肩) ダンベル(腕) チェストプレス ショルダープレス アシストディップ アシストチン 腹筋・背筋 アブドミナル トーソ・ローテーシ…

AWS クラウドプラクティショナー

責任共有モデル 継承される統制 物理統制 環境統制 共有統制 パッチ管理 構成管理 意識とトレーニング お客様固有 お客様が特定のセキュリティ環境内でデータをルーティングまたは区分する必要がある、サービスおよび通信の保護またはゾーンセキュリティ。 A…

Redshift で WLM のワークロードキューとアクセス権限を別のグルーピングで設定する

やりたいこと Redshift のユーザーについて、WLM とアクセス権限を別々のグルーピングを行いたい。 WLM のワークロードキューで管理したいユーザー群とアクセス権限が同じユーザー群が異なるグルーピングになるため。 実装方法 WLM(Workload Mangagement)…

Amazon Redsfhit の ra3 インスタンスの最小ノード数は 2 ノード

AWS

Amazon Redsfhit の ra3 インスタンスの最小ノード数は 2 ノード。 参考 https://pages.awscloud.com/rs/112-TZM-766/images/20200218_AWS_BlackBelt_NextGenRedshift.pdf

インターフェース型VPCエンドポイント(PrivateLink)のスループット

AWS

デフォルトでは、各 VPC エンドポイントは、アベイラビリティーゾーンあたり最大 10 Gbps の帯域幅をサポートし、最大 100 Gbps まで自動的にスケールアップします。すべてのアベイラビリティーゾーンに負荷を分散する場合の VPC エンドポイントの最大帯域幅…

Redshift にRedshift-managed VPCE 経由で接続した場合の stl_connection_log.remotehost に接続元ホストの IP アドレスが入るか

結論としてはリモートホストの IP アドレスが入ることを確認した。 通常のエンドポイントと VPCE 経由の両方で接続する 通常のクラスターエンドポイントから接続して、クエリを発行、切断する。 [ec2-user@ip-172-31-0-101 ~]$ curl http://169.254.169.254/…

Redshift で監査ログを有効化する

AWS

マネジメントコンソールで Redshift クラスターを選択し、[プロパティ]-[データベース設定]-[編集]-[監査ログを編集] を選択して設定する。 Amazon Redshift で監査ログ記録をオンにする | AWS re:Post

Redshift Managed VPC Endpoint を使用する

参考 Redshift が管理する VPC エンドポイントの操作 - Amazon Redshift

Redshift でテーブルにカラムを追加できる位置

Redshift でテーブルの末尾にしかカラムを追加できない。ドキュメントを見る限りカラム位置を指定するような構文はない。 接続する $ psql -a "host=redshift-cluster-poc-central.********.ap-northeast-1.redshift.amazonaws.com user=awsuser dbname=dev …

Azure Data Factory から AWS Transfer Family の SFTP への接続時に "no matching host key type found" エラー

事象 Azure Data Factory から AWS Transfer Family の SFTP への接続時に "no matching host key type found" エラーが発生する。 Failed to connect to Sftp server 's-********.server.transfer.ap-northeast-1.amazonaws.com'. An established connectio…

Azure Data Factory から AWS Transfer Faimily の SFTP に公開鍵認証で接続する

AWS Transfer Family の設定 IAM ロールの作成 以下の IAM ポリシーを作成して、IAM ロールにアタッチする。 { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Ef…

Azure Data Factory から AWS Transfer Family の SFTP へ接続しようとすると "Failed to connect to Sftp server '...'. Server HMAC algorithm not found" エラーが発生する

事象 Azure Data Factory から AWS Transfer Family の SFTP へ接続しようとすると以下のエラーが発生する。 Error code: SftpFailedToConnectToSftpServer Details: Failed to connect to Sftp server 's-********.server.transfer.ap-northeast-1.amazonaw…

AWS Transfer Family の SFTP でパスワード認証を使う

AWS

AWS Transfer Family の SFTP でパスワード認証を行いたい場合、こちらの CloudFormation Template を実行し、Transfer Family、API Gateway、Lambda、Secrets Manager のリソースを作成する。あとは、Secrets Manager で以下を設定してやれば OK。 シークレ…

AzureのパブリックIPアドレス範囲

AzureのパブリックIPアドレス範囲 #Azure - Qiita

Amazon Linux 2023 で sshd のログを確認する

AWS

$ sudo journalctl -u sshd Apr 01 00:51:17 ip-172-31-29-44.ap-northeast-1.compute.internal sshd[2155]: Server listening on 0.0.0.0 port 22. Apr 01 00:51:17 ip-172-31-29-44.ap-northeast-1.compute.internal sshd[2155]: Server listening on :: p…

sftp でパスワード認証を有効にする

EC2 インスタンスを作成する パスワードを設定する [root@ip-172-31-29-44 ~]# passwd ec2-user Changing password for user ec2-user. New password: Retype new password: passwd: all authentication tokens updated successfully. パスワード認証を許可…

xargs -P を使って並列で圧縮・ファイル転送する

xargs -P を使って並列で圧縮・ファイル転送する # 10000 行のファイルを作成する perl -le 'printf(qq/%05d\n/, $_) for 1..10000' > total # 1000 行ごとにファイルを分割する split --numeric-suffixes=1 -l 1000 total splited_ # 8 並列で圧縮する find…