ablog

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

Ubuntu に psql をインストールする

$ sudo apt-get install -y postgresql 参考 UbuntuでPostgreSQLをインストールからリモートアクセスまでの手順 - Qiita

Athena で CloudTrail から S3 イベントを集計する

AWS

クエリ select eventname, count(1) cnt from cloudtrail_logs where eventsource = 's3.amazonaws.com' group by eventname order by cnt desc 実行結果 eventname count ListObjects 263702 PutObject 200075 GetObject 134911 HeadObject 83034 UploadPar…

Amazon Redshift の監査ログの種類

AWS

デフォルトで Amazon Redshift の監査ログは設定したバケットに以下のパスで出力されるが、 AWSLogs/AccountID/ServiceName/Region/Year/Month/Day/ AccountID_ServiceName_Region_ClusterName_LogType_Timestamp.gzLogType は connectionlog、useractivityl…

S3 のアクセスログのオペレーションを集計する

AWS

ちょっとした量のS3 のアクセスログのオペレーションを集計する。 S3 のアクセスログを EC2 にダウンロードする。 $ aws s3 cp --recursive s3://s3-accesslog-az/ ./ オペレーションで集計する。 $ find . -type f -print0|xargs -0 -I{} perl -lane 'print…

アカウント毎にアクセス可能な S3 Prefix を制御する S3 バケットポリシー例

AWS

やりたいこと データレイクアカウントと連携相手の複数アカウントの間で1対多のクロスアカウントアクセス制御を行う。 連携相手のアカウントから特定S3バケットの特定 prefix 以下のみへの Put/Get/Delete を許可。 連携相手のアカウント毎に Put/Get/Delete…

AWS CLI で IAM Role の Unique ID を取得する

AWS

$ aws iam get-role --role-name EC2AdminRole { "Role": { "Description": "Allows EC2 instances to call AWS services on your behalf.", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect…

特定のVPC EndpointからのみPut/Get/Deleteを許可するS3バケットポリシー

AWS

特定のVPC EndpointからのみPut/Get/Deleteを許可するS3バケットポリシーの記述例。 { "Version": "2012-10-17", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Effect": "Deny", "Principal": "*", "Action": [ "s3:PutObject", "s3:GetObject…

AWRレポートを一括出力する

set pages 0 spool awr_tmp.sql select 'define report_type=html' || chr(10) || 'define dbid=2144341034' || chr(10) || 'define inst_num=1' || chr(10) || 'define num_days=40' || chr(10) || 'define begin_snap=' || SNAP_ID || chr(10) || 'define …

Oracle Database 12.1 EE on EC2 をサクッと作る

AWS Marketplace: Oracle Database 12.1 Enterprise Edition - Oracle Enterprise Linux 7.5 でEC2インスタンスを作成する。 ssh で接続する。 $ ssh -i ~/mykey.pem clckwrk@ec2-*-***-***-**.ap-northeast-1.compute.amazonaws.com Oracle Database を起動…

RDS Oracle で DataPump のダンプファイルをS3にアップロードする

RDS Oracle で DataPump のダンプファイルをS3にアップロードするには rdsadmin.rdsadmin_s3_tasks.upload_to_s3 を使うとよい。 例 SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3( p_bucket_name => 'mys3bucket', p_prefix => '', p_s3_prefix => '', p…

AWRのリポジトリデータをまるっとエクスポートして他のDBにインポートする

AWRのリポジトリデータを Data Pump export file にエクスポートして他のデータベースにインポートする手順。 インポート ダンプファイルをEC2にアップロードする。 $ scp -i ~/mykey.pem awrdump.dmp clckwrk@ec2-*-***-***-**.ap-northeast-1.compute.amaz…

ThinkPad X280 でタッチパッドを無効化する

手順 ThinkPad をシャットダウンしてから電源オンにする。 ThinkPad ロゴが表示されたら、「 F1 」キーを連打して BIOS設定ユーティリティに入る。 「Config > Keyboard/Mouse」を選択する。 TrackPad/TouchPad を選択して、設定を有効から無効に切り替える…

DataPumpでメタデータ(DDL)のみエクスポートする

書式 $ expdp <username>/<password> directory=<directory object> content=metadata_only schemas=<schema name> dumpfile=<dump file name> LOGFILE=<log file name> 実行例 $ expdp system/manager directory=pump_dir content=metadata_only schemas=scott,hr dumpfile=ddl_scott_hr.dmp LOGFILE=exp_ddl_scott_hr.log 参考 h…</log></dump></schema></directory></password></username>

AWS Summit Tokyo 2019 で登壇した

AWS

AWS Summit Tokyo 2019で「データレイク構築における成功の秘訣~マインドと進め方、設計ベストプラクティス~」というタイトルで登壇した。 パワポ界のアントニ・ガウディよろしく、スライドがサグラダファミリア状態でぎりぎりまで固まらなかった。プレゼ…

海外出張備忘録

事前準備 アメリカの ESTA など 通常は申請から約3日間(72時間)以内に審査結果が出る*1。早めに申請して審査結果の確認も忘れずに。 Netflix や Kindle などで iPad や iPhone にダウンロードしておく。 航空券のオンラインチェックイン 空港へ向かう 羽田…

Java アプリから S3 にアクセス時に必要な証明書がない場合に発生する例外

発生する例外 証明書ファイルが存在しない、もしくは存在するが中身が空の場合 java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty 証明書ファイルが存在する…

AWS SDK for Java v1.11 を使った Java サンプルプログラムを実行してみる

AWS

aws-doc-sdk-examples/java at master · awsdocs/aws-doc-sdk-examples · GitHub をビルドして、S3 バケットをリスト表示する Java サンプルプログラムを動かしてみた。 インストール git をインストールする。 $ sudo yum -y install git OpenJDK をインス…

Linux で Java のバージョンを切り替える

手順 java のバージョンを切り替える $ sudo update-alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- * 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java + 2…

AWS CLI で 1TB の S3 オブジェクトをリスト表示する

AWS

準備 EC2インスタンス作成 インスタンスタイプ: m5.4xlarge AMI: Amazon Linux 2 AMI 2.0.20190508 x86_64 HVM gp2 6000GiBのEBSをアタッチ ボリュームタイプ: io1 IOPS: 64000 暗号化なし S3バケット作成 バケット名: az-20190609 オブジェクトレベルのログ…

JREに同梱されている証明書を確認する

Javaのバージョンを確認 $ JAVA_HOME/bin/java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) 証明書をリスト表示する $ keytool -list -keystore $JA…

Amazon Linux に node.js をインストールする

AWS

# curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - # yum install -y nodejs $ npm install aws-sdk 参考 AmazonLinuxへのシステムワイドなNode.jsインストール方法(yum編) - Qiita

DynamoDB->DynamoDB Streams->Lambda->Amazon Kinesis Firehose->Aurora に連携する

AWS

Amazon DynamoDB からのデータストリームを AWS Lambda と Amazon Kinesis Firehose を活用して Amazon Aurora に格納する | Amazon Web Services ブログ を試してみた。 必要なファイルをダウンロードする。 $ git clone https://github.com/awslabs/dynamo…

iPhone 7 から iPhone Xs に移行した

iPhone 7 (128GB) から iPhone Xs (64GB) に移行したメモ。auショップで iPhone Xs を購入して機種変更手続きを行った後にしたことは以下の通り。 手順 iCloud から iPhone 7 のバックアップを復元 ezweb.ne.jp のメールの初期設定 au のサイトからプロファ…

AWS CLI で Redshift クラスターを作成する

AWS

AWS CLI で Redshift クラスターを作成したメモ。 手順 サブネットグループ作成 $ aws redshift create-cluster-subnet-group --cluster-subnet-group-name sys01-dev-subnet001 --description 'test' --subnet-ids subnet-02a4f85a パラメータグループ作成 …

RDSのパラメータグループ作成してパラメータを変更時の CloudTrail イベント

AWS

RDS MySQL でパラメータグループ作成時のイベントは CreateDBParameterGroup、パラメータ変更時のイベントは ModifyDBParameterGroup。発生するイベントは Aurora でも同じ。 パラメータグループ作成 パラメータグループファミリー: mysql5.7 グループ名: my…

AWS CLI で Redshift のスナップショットを共有する

AWS

AWS CLI で Redshift のスナップショットを共有してみたメモ。 スナップショットを共有する 共有元AWSアカウント スナップショットを作成する。 $ aws redshift create-cluster-snapshot --snapshot-identifier redshift-cluster-1-snapshot --cluster-ident…

AWS CLI で Aurora のスナップショットを共有する

AWS

AWS CLI で Aurora PostgreSQL互換 のスナップショットを共有してみたメモ。 Aurora のスナップショットを共有する 共有元AWSアカウント RDSのスナップショットを作成する $ aws rds create-db-cluster-snapshot --db-cluster-snapshot-identifier aurora-po…

AWS CLI で RDS のスナップショットを共有する

AWS

AWS CLI で RDS Oracle のスナップショットを共有してみたメモ。 RDSのスナップショットを共有する 共有元AWSアカウント RDSのスナップショットを作成する $ aws rds create-db-snapshot --db-snapshot-identifier oracle-ee-112-snapshot --db-instance-ide…

gRPC と Protocol Buffers について

gRPC と Protocol Buffers とは gRPC は、RPC (Remote Procedure Call) を実現するためにGoogleが開発したプロトコルの1つです。Protocol Buffers を使ってデータをシリアライズし、高速な通信を実現できる点が特長です。gRPCでは、IDL(インターフェース定…

YCSB で Memcached に負荷をかける

AWS

YCSB で Amazon ElastiCache(Memcached) に負荷をかけてみたメモ。 準備 EC2インスタンスを作成する AMI ID: amzn-ami-hvm-2018.03.0.20181129-x86_64-gp2 (ami-00a5245b4816c38e6) インスタンスタイプ: m4.xlarge アベイラビリティーゾーン: ap-northeast-1…