ablog

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

T氏鬼七訓

質問は必要なことのみに厳選する。その時必要でないことはあれもこれも聞くと、お互いの負担になるし、無用に期待値が上がるし、あとから聞けなくなる。なんで前に設計書上げたのに知らないの?みたいな不信感にもつながる。 お客様の知識レベルを理解して、…

確定申告手順

e-TaxでRSUの確定申告とPay-Easyによる納税(令和元年) - nopipiのブログ 6. Foreign tax identifying number (see instructions) アメリカ国外の納税番号記載欄で、日本の場合はマイナンバーを記載します。記載に抵抗があるかもしれませんが、ここはマイナン…

AWS App Mesh とは

AWS

AWS App Mesh はサービスメッシュのコントロールプレーン。OSS でいうと Envoy はデータプレーンで、Istio はコントロールプレーン。自前で Envoy をデータプレーン、Istio をコントロールプレーンとして構築・運用できるが、AWS App Mesh を使うとコントロ…

英語リスニング自習法 "B&M method"

GABA のマン・ツー・マンレッスンで自己紹介をすると「俺、月曜ににUKに帰って、ソフトウェアのプロダクト・マネージャーをするんだ」と言う Bruno から教えてもらった英語リスニング自習法をメモ。日本には1年間いたらしく、「なんで日本来たの?」と聞くと…

Jenkins を起動しようとすると "Job for jenkins.service failed because the control process exited with error code" と怒られる

事象 AWS で EC2 インスタンス(Amazon Linux 2)を作成して、Jenkins を起動しようとすると、"Job for jenkins.service failed because the control process exited with error code. See " と怒られる。 $ sudo systemctl start jenkins Job for jenkins.s…

Jenkis を使ってみる

必要な前提条件 Prerequisites For this tour, you will require: A machine with: 256 MB of RAM, although more than 512MB is recommended 10 GB of drive space (for Jenkins and your Docker image) The following software installed: Java 8 or 11 (e…

GABAで英会話を始めた

2020/2/12 から Gabaマンツーマン英会話を始めた(2/2に体験レッスンに参加)。Hiroshi Sekiguchi  (@discus_hamburg) | Twitterさん、立木のポーズ界のカリスマ (@kumagi) | Twitter さん、ち (@chie8842) | Twitter さんなどの影響で。@chie8842 さんは G…

S3 の VPC エンドポイントポリシーに必要な arn

AWS

Amazon Linux の Yum リポジトリ arn:aws:s3:::repo.{region}.amazonaws.com arn:aws:s3:::packages.{region}.amazonaws.com ECR リポジトリ arn:aws:s3:::prod-{region}-starport-layer-bucket/* RDS RDS Oracle でファイルをアップロード・ダウンロードす…

Organization 配下のアカウントの S3 バケットのみにアクセス許可する VPC エンドポイントポリシー

AWS

Organization 配下のアカウントのS3バケットのみにアクセス許可する VPC エンドポイントポリシー。 { "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": "*", "Condition": { "StringEquals":…

VPC 接続を使った Glue ジョブで VPC エンドポイントポリシーを設定すると "An error occurred (403) when calling the HeadObject operation: Forbidden"

AWS

Glue の「接続」を作ってジョブにアタッチすると、VPC エンドポイント経由で S3 にアクセスできる。VPC エンドポイントポリシーでアクセス可能な S3 バケットを絞りたい場合は、業務で使うバケットに加えて Glue ジョブが使うスクリプトディレクトリ(デフォ…

Glue で閉域網に閉じた構成

AWS

Glue 接続(VPCエンドポイント経由で S3 にアクセスするための接続) タイプ: JDBC JDBC URL: jdbc:mysql://dummy.com:1234/dummy # ダミー VPC ID: vpc-b******1 # 任意のVPC サブネット:subnet-1******b # 任意のサブネット セキュリティグループ: sg-0***…

Lake Formation のアクセス制御設定をクリアする手順

AWS

Lake Formation のアクセス制御設定をクリアする手順。 pyenv をインストールして、Python 3 をインストールする、 Amazon Linux 2 に pyenv をインストールする - ablog EC2 にIAMロールをアタッチする。 AWS CLI で対象リージョンを設定する。 $ aws confi…

STS の VPC エンドポイントポリシーのサンプル

AWS

Lambda in VPC から VPC エンドポイント経由で、STS にアクセスする際のVPCエンドポイントポリシーの例。AWSアカウントID: 123456789012 の Role id: A*******************O からの sts:AssumeRole のみを許可している。 STS の VPC エンドポイントポリシー…

CloudWatch Logs の VPC エンドポイントポリシーでアクセス可能なロググループを絞る

AWS

AWSマネジメントコンソールで、[エンドポイント] から CloudWatch Logs のエンドポイント(com.amazonaws.ap-northeast-1.logs)を選択して、[ポリシー]タブを選択、[ポリシーの編集]をクリックして保存する。以下は特定のロググループのみに制限する VPC En…

Lambda in VPC から VPC Endpoint 経由で CloudWatch Logs の API を実行する

AWS

Lambda in VPC から VPC Endpoint (Private Link) 経由で CloudWatch Logs の API を実行してみた。クロスアカウントで Lambda から CloudWatch Logs にアクセスする - ablog と同じものを in VPC でやってみた。ポイントは以下の通り。 STS と CloudWatch L…

クロスアカウントで Lambda から CloudWatch Logs にアクセスする

AWS

アカウントA(123456789012)の Lambda からアカウントB(234567890123)の CloudWatch Logs の API を実行してみた。 実行結果 戻り値 { "events": [ { "timestamp": 1543366128635, "message": "[940dea18-b6de-4851-a4b1-34cd0ed38541] BENCHMARK : Runni…

VPC エンドポイント以外からの読み書きを禁止するS3バケットポリシー

AWS

シンプルに VPC エンドポイント以外からの読み書きを禁止するS3バケットポリシー。 { "Version": "2012-10-17", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Effect": "Deny", "Principal": "*", "Action": [ "s3:PutObject", "s3:GetObject"…

ECS と EKS

AWS

コントロールプレーンとデータプレーン ECS と EKS はコントロールプレーン。 データプレーンは EC2 タイプと Fargate タイプがある。 https://pages.awscloud.com/rs/112-TZM-766/images/A3-02.pdf ECS EC2タイプ 20190731 Black Belt Online Seminar Amazo…

EKSを触ってみる

AWS

EKS を触ってみる EC2インスタンスを作成して、ssh でログインする。 IAMロールを作成してEC2にアタッチする。 eksctl をインストールする。 $ curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(…

PySpark on Glue で S3 上のファイル名をリネームする

AWS

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…

CMU の Andy Palvo 先生の History of Database が素晴らしい

カーネギーメロン大学でコンピュータサイエンス学科でデータベースの研究をされている 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 Database の物理的なデータ構造の実装例がどうなっているか調べてみた。Graph Databases: New Opportunities for Connected Data作者:Ian Robinson,Jim Webber,Emil Eifrem出版社/メーカー: O'Reilly Media発売日: 2015/07/09メディア: ペーパーバック…

Amazon Linux 2 に pyenv をインストールする

AWS

パッケージをインストール $ 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…

Amazon Linux 2 に pip をインストールする

AWS

$ sudo yum -y install python-pip 参考 Amazon Linux 2でpipをインストール - Qiita

AWS Data Wrangler を使ってみる

AWS

EC2 インスタンス(Amazon Linux 2)を作成して、IAMロールをアタッチする。 ssh でログインする。 pyenv をインストールして、Python 3 をインストールして有効化する。 Amazon Linux 2 に pyenv をインストールする - ablog pip をインストールする。 $ su…

AWS App Mesh とは

AWS

マイクロサービス間のやりとりにおいてビジネスロジックと関係ない汎用的機能をプロキシとして提供するのがサービスメッシュ。昔はライブラリとして提供している時代もあったが、汎用機能を変えたときに全アプリの再コンパイル・デプロイが不要、アプリと異…

AWS App Mesh Workshop をやってみた

AWS

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 のメンテナンス時の再起動とフェイルオーバーについて

AWS

RDSのメンテナンス時にDBが再起動されるか? されるときとされないときがある。 ハードウェアメンテナンス メンテナンスの時期と影響を受けるアベイラビリティーゾーンを含む、スケジュールされたハードウェアメンテナンスウィンドウについての E メール通知…