ablog

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

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

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

Python で DynamoDB で負荷をかける

AWS

DDBGetItem.py import boto3 import json import datetime import threading dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('ycsb8') def getItem(): i = 0 last = datetime.datetime.now() while True: response = table.get_item( Key={ …

pgbench で PostgreSQL に半永久的に負荷をかけ続ける

pgbench で PostgreSQL に半永久的に負荷をかけ続ける手順をメモ。 スクリプト pgbench_infinite_loop.sh #!/bin/bash export LANG=C export PGPASSWORD=<パスワード> ENDPOINT=<ホスト名> BASE_NAME=$(basename $0) STEM="${BASE_NAME%.*}" DATE=`date '+%Y…

JAWS DAYS 2019 に参加してきた

AWS

JAWS DAYS 2019 に参加してきた。 RDBリファクタリングと異種間DB移行の戦い – Amazon DMSを使った止めずにリファクタリングする手法 曽根 壮大さん 所属:株式会社 オミカレ (副社長/CTO) 実践!CloudFormation Best Practice ~CloudFormationで始める組織…

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

AWS

Aurora MySQLとS3間でデータをロード(LOAD DATA FROM S3)&アンロード(SELECT INTO OUTFILE S3)したメモ。 環境 東京リージョンにEC2インスタンス、Auroraクラスター、S3バケットを作成 手順 IAMロールを作成する ロール名: rds-s3-role アクセス権限-Per…

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

AWS

YCSB(Yahoo Cloud Serving Benchmark)で DynamoDB On-Demand に負荷をかける手順。 準備 DynamoDBにテーブルを作成する テーブル名: ycsb1、ycsb2、ycsb3、ycsb10、ycsb100、ycsb1000、ycsb10000 プライマリパーティションキー:firstname(文字列) 読み込…

S3 Object Lock について

AWS

たぶんこんな感じ。 S3 Object Lock とは バージョニングされた過去バージョンを消せなくする機能。オブジェクトの上書きはできるが過去バージョンを消せない。従って、バージョニングを有効化しないと S3 Object Lock を有効化できない。 期間保持と法的保…

S3 へのパブリックアクセスを一切禁止する

AWS

Amazon S3 Block Public Access で S3 へのパブリック・アクセスを一切禁止する設定例。アカウント全体と各バケット毎の設定があるが、各バケット毎の設定はアカウント全体設定でオーバライドされる。つまり、アカウント全体の設定で禁止していると、バケッ…

Amazon Linux で AWS CLI をアップデートする

AWS

Amazon Linux で AWS CLI をアップデートする手順。 現在のバージョンを確認する。 $ aws --version aws-cli/1.15.83 Python/2.7.14 Linux/4.14.77-70.59.amzn1.x86_64 botocore/1.10.82 AWS CLI と SDK(boto) をアップデートする。 $ sudo pip install -U a…