ablog

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

AWS Summit Tokyo 2019 で登壇した

AWS

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

海外出張備忘録

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

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…

AWS CLI を実行すると "ImportError: cannot import name AliasedEventEmitter" と怒られる

AWS

事象 ある日、AWS CLI を実行すると "ImportError: cannot import name AliasedEventEmitter" と怒られるようになった。 $ aws s3 ls Traceback (most recent call last): File "/usr/bin/aws", line 19, in <module> import awscli.clidriver File "/usr/lib/python</module>…

YCSBで DynamoDB に負荷をかけたメモ

AWS

設定 YCSB/dynamodb/conf/AWSCredentials.properties accessKey = <アクセスキー> secretKey = <シークレットキー> YCSB/dynamodb/conf/dynamodb.properties dynamodb.awsCredentialsFile = dynamodb/conf/AWSCredentials.properties dynamodb.primaryKey = …

Redshift のエラーハンドリングとエラーメッセージの確認方法

AWS

copy.sql copy customer from 's3://awssampledbuswest2/ssbgz/customer' credentials 'aws_iam_role=arn:aws:iam::123456789012:role/RedshiftRole' gzip compupdate off region 'us-west-2'; エラー参照用のビューを作成する。 # create schema admin; # c…

AWS CLI でS3バケットのライフサイクル設定を取得する

AWS

AWS CLI でS3バケットのライフサイクル設定を取得する例。 ライフサイクル設定を取得する。 $ aws s3api get-bucket-lifecycle-configuration --bucket az-cp-src { "Rules": [ { "Filter": { "Tag": { "Value": "10y", "Key": "Name" } }, "Status": "Enabl…

EMRFS で KMS のカスタマー管理 CMK で暗号化する

AWS

EMR で KMS のカスタマー管理CMKを利用するには、S3 バケットのデフォルト暗号化で CMK を指定し、S3 と KMS に対する必要な権限を持つロールを EMR にアタッチすればよい。 また、S3 のバケットポリシーで特定の CMK 以外での PUT を禁止すると、「CMK 指定…

「AWS 認定ビッグデータ – 専門知識」試験の準備方法

AWS

「AWS 認定ビッグデータ – 専門知識(AWS Certified Big Data - Specialty)」の試験を受けるにあたっての勉強の仕方をメモ。AWS 認定 – 認定の準備に書かれている通りだが、Linux Academy の模擬試験が効果的だった。 準備方法 AWS 認定ビッグデータ – 専門…

VPCエンドポイントポリシーのサイズ上限

AWS

VPC エンドポイント ポリシーの使用 VPC エンドポイントポリシーは、エンドポイントの作成時または変更時にエンドポイントにアタッチする IAM リソースポリシーです。エンドポイントの作成時にポリシーをアタッチしない場合、サービスへのフルアクセスを許可…

Organization ID を利用してS3のクロスアカウントアクセスを許可する。

AWS

課題 S3 のバケットポリシーでクロスアカウントアクセスを許可する場合、Principal に指定するAWSアカウントIDの数が多くなると、バケットポリシーのサイズの上限に達してしまう。 解決策 S3 バケット内のオブジェクトへのクロスアカウントアクセスを提供す…

CloudTrail で CloudWatch Logs に配信しようとすると「ロールポリシーを検証できません」と怒られる

AWS

事象 CloudTrail で CloudWatch Logs に配信しようとすると「ロールポリシーを検証できません」と怒られる 再現手順 AWSマネジメントコンソールで[CloudTrail]-[証跡情報]から任意の Trail を選択する。 CloudWatch Logs で「次へ」をクリックする。 新しい…

cfnで作成したバケットポリシーを変更後にcfnで元に戻す

AWS

S3バケット作成とバケットポリシー設定を CloudFormation で行った後に、手動でバケットポリシーを変更し、CloudFormation で元に戻してみた。 CloudFormationでS3バケットを作成してバケットポリシーを設定する - ablogの手順で CloudFormation でS3バケッ…

CloudFormationでS3バケットを作成してバケットポリシーを設定する

AWS

CloudFormationでS3バケットを作成してバケットポリシーを設定してみたメモ。 手順 CreateS3Bucket.yml をローカルに作成する。 AWSTemplateFormatVersion: '2010-09-09' Description: This CloudFormation template to create S3 Bucket Parameters: S3Buck…

RHEL7 から EFS をマウントする

AWS

インストールと設定 $ sudo yum -y install git $ git clone https://github.com/aws/efs-utils $ cd efs-utils $ sudo yum -y install rpm-build $ make rpm $ sudo yum -y install build/amazon-efs-utils*rpm $ curl https://bootstrap.pypa.io/get-pip.p…

RHEL7 に pip をインストールする

RHEL7.6 (Kernel 3.10) に pip をインストールしたメモ。 $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ sudo python get-pip.py 参考 python - How to install pip on Redhat Linux - Stack Overflow