2020-01-01から1ヶ月間の記事一覧
シンプルに VPC エンドポイント以外からの読み書きを禁止するS3バケットポリシー。 { "Version": "2012-10-17", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Effect": "Deny", "Principal": "*", "Action": [ "s3:PutObject", "s3:GetObject"…
コントロールプレーンとデータプレーン ECS と EKS はコントロールプレーン。 データプレーンは EC2 タイプと Fargate タイプがある。 https://pages.awscloud.com/rs/112-TZM-766/images/I3-06.pdf https://pages.awscloud.com/rs/112-TZM-766/images/A3-02…
EKS を触ってみる EC2インスタンスを作成して、ssh でログインする。 IAMロールを作成してEC2にアタッチする。 eksctl をインストールする。 $ curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(…
PySpark on Glue で S3 上のファイルをリネームしてみた。 import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.j…
カーネギーメロン大学でコンピュータサイエンス学科でデータベースの研究をされている Andy Pavlo 先生の "History of Database" が素晴らしい。Andy Pavlo 先生を知ったのは一昨年くらいに id:kumagi さんと飲んだときに教えてもらったのがきっかけで、その…
(書きかけ) マイクロサービスとは何か、原点を求め、2014年3月に Martin Fowler と James Lewis が書いたブログエントリ Microservices にあたってみた。 マイクロサービスとは a definition of this new architectural termThe term "Microservice Archit…
Graph Database の物理的なデータ構造の実装例がどうなっているか調べてみた。Graph Databases: New Opportunities for Connected Data作者:Ian Robinson,Jim Webber,Emil Eifrem出版社/メーカー: O'Reilly Media発売日: 2015/07/09メディア: ペーパーバック…
パッケージをインストール $ sudo yum -y install git \ bzip2 \ bzip2-devel \ gcc \ git \ libffi-devel \ make \ openssl \ openssl-devel \ readline \ readline-devel \ sqlite \ sqlite-devel \ zlib-devel pyenv をインストール $ curl -L https://ra…
$ sudo yum -y install python-pip 参考 Amazon Linux 2でpipをインストール - Qiita
EC2 インスタンス(Amazon Linux 2)を作成して、IAMロールをアタッチする。 ssh でログインする。 pyenv をインストールして、Python 3 をインストールして有効化する。 Amazon Linux 2 に pyenv をインストールする - ablog pip をインストールする。 $ su…
マイクロサービス間のやりとりにおいてビジネスロジックと関係ない汎用的機能をプロキシとして提供するのがサービスメッシュ。昔はライブラリとして提供している時代もあったが、汎用機能を変えたときに全アプリの再コンパイル・デプロイが不要、アプリと異…
AWS App Mesh Workshop :: Amazon App Mesh Workshop をやってみた。 EC2 インスタンスを作成する。 EC2 にIAMロールをアタッチする。 Install the required tools :: Amazon App Mesh Workshop からスタートする。 ディレクトリを作成する。 $ mkdir -p ~/e…
TL;TR(まとめ) サービスメッシュのロードバランシング、サーキット・ブレイキング、リトライといった機能自体は新しいものではなく以前はライブラリで提供されていた機能をリパッケージングしたもの。 サービスメッシュの起源は Web 3層モデルのアプリレイ…
RDSのメンテナンス時にDBが再起動されるか? されるときとされないときがある。 ハードウェアメンテナンス メンテナンスの時期と影響を受けるアベイラビリティーゾーンを含む、スケジュールされたハードウェアメンテナンスウィンドウについての E メール通知…
Amazon Redshift 歴史 Amazon Redshift debuted in 2012 as the first cloud data warehouse, and remains the most popular one today. But Redshift wasn't developed in-house. Amazon invested $20 million in a company called ParAccel, and in return…
aws-app-mesh-examples/examples at master · aws/aws-app-mesh-examples · GitHub を試してみた。 sudo yum -y install git docker sudo service docker start git clone https://github.com/awslabs/aws-app-mesh-examples.git export AWS_PROFILE="defaul…
CloudTrail ログ(JSON)をリージョン、年、月でパーティション分割して ORC に変換・マージしてみた。 使用感 東京リージョンの全ログ(2017〜2020年)で S3 の API 発行回数をランキング表示。 スキャンサイズは約62MB、実行時間は約4秒。 S3 のフォルダ(…
事象 Glue の Python Shell から Secrets Manager からパスワードなどを取得して Redshift にクエリを発行するジョブを実行するエラーになり、CloudWtach Logs を確認すると以下のメッセージが出力されている。 urllib3.exceptions.ConnectTimeoutError: (<botocore.awsrequest.AWSHTTPSConnection object at 0x7fb31ea5e128>, </botocore.awsrequest.awshttpsconnection>…
事象 AWS Step Functions および AWS Glue を使用した Amazon Redshift ベースの ETL ワークフローのオーケストレーション | Amazon Web Services ブログ に従って、GlueでRedshiftへの接続を作成して接続テストを行うと失敗する。 VPC S3 endpoint validati…
ジョブ管理システム - Wikipedia 初めての運用管理者が知っておきたい監視・ジョブ管理向けOSS構成例4つの比較まとめ (1/2):Zabbix+JobSchedulerで効果的な運用監視とジョブ管理 - @IT cronの代替になりそうなジョブ管理ツールのまとめ - Qiita JobSchedu…
CloudTrail ログ(JSON)を年月でパーティション化して Parquet に変換した手順。 環境変数をセットする。 $ export S3_PATH_SRC=cloudtrail-awslogs/AWSLogs/<AWS account id>/CloudTrail $ export S3_PATH_DST=cloudtrail-awslogs-analytics S3バケットを作成する。 $ aws </aws>…
AWS Marketplace で "AWS Deep Learning AMI" で検索して、EC2インスタンスを作成する。 セキュリティグループで、ssh と TCP 8888 ポートへの マイIP からのアクセスを許可する。 ssh で接続する。 $ ssh -i .ssh/mykey.pem ubuntu@ec2-35-***-***-20.compu…
事象 Athena で外部テーブル作成時に "no viable alternative at input 'create external'" と怒られる。 line 1:8: no viable alternative at input 'create external' (service: amazonathena; status code: 400; error code: invalidrequestexception; re…
Spark on EMR から Glue Catalog を参照してみたメモ。 前提 Glue カタログにすでにデータベースとテーブルは存在するものとする。 設定 EMRクラスターを作成する際に [ソフトウェア設定]で Spark にチェックを入れ、 [AWS Glue Data Catalog の設定 (オプシ…
S3 に Spark event log 用のパス(例: s3://spark-ui-tokyo-ya/eventlog)を作成し、Glueジョブの[モニタリングオプション]-[Spark UI] にチェックを入れ、[Amazon S3 prefix for Spark event logs]にその S3 のパスを指定し、CloudFormation で Spark Histo…