y-ohgi's blog

TODO: ここになにかかく

Docker Tips

概要 Dockerについて知見が溜まってきたので雑に書き書き Dockerとは Linuxカーネルの技術を使ってコンテナという仮想化の1手法を実現するための技術。 仮想化の領域 コンテナはカーネルの機能によって仮想化されます。 VMはハードウェアのような低いレイヤ…

DatadogでAPMとLogsを良い感じに連携させる

TL;DR Laravelでロギングする時のTips アクセスログはAPMがあるのであえて取得しないように書いた Components Laravel Datadog APM Logs 概要 DatadogでAPMとLogを連携できるらしいので、試した。 だいぶハマった。 完成図 Laravelプロジェクトの作成 $ comp…

Terraformを使用した際の環境差分の表現方法

TL;DR プロダクションでは往々にして複数環境を構築する Terraform単体だとworkspaceを使用すると良い感じになる 概要 Terraformのサンプルでは -var-file オプションで環境を切り替えることがあります。 例えば以下のように。 $ terrafrom plan -var-file=s…

Cloud Run でNuxtを動かす

TL;DR Cloud Nextで発表された新サービス "Cloud Run" でNuxt.jsを動かした そもそもCloudRunとは httpリクエストを待ち受けるコンテナを動かすためのサービス。 GCRに上げたコンテナを選択すると良い感じに動かしてくれる。 GCPって他にもコンテナ動かすサ…

GKEへExpressを立ち上げる

概要 社内LT会でK8sのライブデプロイをするためのチートシート 構成 手順 Expressプロジェクトを作成 Express作成用Dockerを立ち上げ $ docker run -it -p 3000:3000 -v `pwd`:/data -w /data node:10-alpine ash express コマンドをインストールし、プロジ…

K3sをAWSのA1インスタンスで動かす

About AWSのARMインスタンス(a1系)でk3sを動かしてみる。 Raspberry Pi でk3sを動かしたいので、その前の動作確認としてAWS K3sとは K8sの軽量版。 K8sから以下の5つを減らしてk3sらしい Legacy and non-default features Alpha features In-tree cloud prov…

Raspberry Pi x Hypriot OSへDatadogをインストールする

概要 Raspberry PiもDatadogで監視しようという話 環境 Raspberry Pi 3 B HypriotOS 1.9.0 インストール $ sudo su - # apt-get install sysstat supervisor # DD_API_KEY=<API_KEY> sh -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/pac</api_key>…

Raspberry Pi + DockerでLEDを光らせる

概要 ラズパイことはじめな記事 Components Raspberry Pi 3 B+ microSD 16GB Hypriot 1.9.0 Docker Hypriotにデフォルトで入っているバージョン Python 3.7.2 手順 1. LEDを光らせるコードを用意する led.py # -*- coding: utf-8 -*- import time import RPi…

Cloud Speech APIでPodcastの文字起こし

TL;DR Podcastの文字起こしをしたい GCPのCloud Speech APIで試してみる 精度的にはまだダメそう ことのはじまり 某所でPodcastの文字起こしをしたい気運が高まり、ちょうどそこに居たPodcast( https://ningengaheta.me )をやってる人( @akazunoma )から遊ぶ…

AWSにおける本番環境を想定したCI/CD実践

この記事は DMM.com Advent Calendar 2018 - Qiita の25日目です。 About CircleCIとCode兄弟を使いCI/CDを作っていこうというものです。 単純に環境を作るわけではなく、CloudFormationを使って本番環境を想定した構成にしていきます。 ターゲットとしては…

Play with DockerでSwarmクラスターことはじめ

TL;DR ブラウザでSwarmのクラスタを試す Play with Docker ブラウザ上でDockerを試せるサイト 特徴としては以下 複数台インスタンスを建てれる クラスター構成にすることが可能 起動した環境は4時間しか使えない 使用するためにはDockerHubのIDが必要 Swarm …

HerokuでRailsの本番環境を作成する

概要 Components localの構築 railsの用意 docker-composeの用意 Herokuの操作 アドオンの導入 Databaseの導入 ログ監視のためにPapertrailを導入 アプリケーションの性能監視のためにNewRelicを導入 Herokuの設定変更 環境変数へタイムゾーンを登録 Procfil…

スプレッドシート上のデータをseedへ変換するrakeタスクを作成する

概要 やったこと 環境 手順 スプレッドシートの用意 スプレッドシートからtsvを出力 Gemfileへgemの追加 Taskの作成 Taskの編集 seedデータの生成 データのインポート 概要 ビジネスサイドの人とサービス作るお仕事してるとよくスプレッドシートでマスターデ…

個人事業主として副業を受けるために調べたこと

TL;DR 主観がご多分に含まれています。 僕(20代ソフトウェアエンジニア)が副業を個人事業主として受けるために色んな人に話を伺ってまとめたテキストです。 マサカリは大いに歓迎。 収入が20万以上になると確定申告が必要 確定申告を行う際に一括で税金を支…

BEMについて調べた

概要 フロントエンド設計方法の1つのBEM(ベム)について。 クラス命名によって汎用的かつ保守的なコードにすることが目的。 要するにclass名の命名規則。 BEMについて Block , Element , Modifier という3つコンポーネントによってなりたつ。 BEMという名前も…

Cloud BuildとkustomizeでGKEのCDパイプラインを作る

概要 Cloud BuildでCDをしたいので、する。 ついでにkustomizeも組み合わせる。 ※プロダクションに導入するには権限がガバガバなので適宜修正。 今回のリポジトリ github.com 目次 概要 今回のリポジトリ 目次 やること スタック CDの流れ 1. CircleCIでGitH…

Google App EngineでPHP7.2が使えるようになったので試す

概要 GAEにphp7.2のランタイムktkr やるぞ Google Cloud Platform Blog: Bringing the best of serverless to you とりあえずphp7系を試す phpを書く ルーティング用コードを記述 app.yaml の handlers はphp7では効かないので index.php へ記述する // info…

社内LT会でKnativeについて発表した

概要 LTやったよ 次回勉強会に向けての反省 社内LT会について クラウドインフラ系で社内勉強会をいくつか主催させていただいています。 クラウドインフラLT会 クラウドインフラランチ会 Kubernetes輪読会 この3つを定期的にやっていて、今回は「CloudNext'18…

標準入力でDockerfileを渡してイメージをビルドする

単純に、「できるんじゃね?」って思って試したらできたっていう小ネタ $ cat <<EOL | docker build - > FROM node:10-alpine > > RUN npm install -g aws-cdk \ > && apk add --no-cache git > EOL カジュアルに書き捨てイメージが作れるので更にDockerライフが捗る</eol>

aws-cdkを試す

概要 awslabs/aws-cdk を試した。 一言で言うと「CloudFormationをコード(JavaScript/Java)で記述するためのライブラリ」。 試す 公式のGetting Startedをやってみる Hello, AWS CDK! — AWS Cloud Development Kit 0.8.0+0eede70 documentation 0. 環境を用…

Knativeを試してみる

概要 Kubernetes上でサーバーレスを動かすためのOSSフレームワークのKnativeを試した 概要 Knativeとは Serverless コンポーネント 試す 0. 前提 1. GKE Clusterの作成 2. cluster-admin権限を現在のユーザーへ与える 3. Istioのインストール 4. Knativeのイ…

Application Load BalancerでHSTSを試す

AWS

概要 HSTS(httpをhttpsへリダイレクトさせる機能)がALBで提供されたので試す。 Elastic Load Balancing Announces Support for Redirects and Fixed Responses for Application Load Balancer 試す 準備 ECSでnginxを立てる ALBとnginxを紐付ける ACMでTLS…

Amazon EKSをDockerでいいかんじに始める

概要 Amazon EKS の getting started の工程がそこそこ多い。 その上AWS力(IAMだったりVPCだったりCloudFormationだったりの理解)を求められるので、そこら辺すっ飛ばしてGKEライクに「1コマンドでEKSはじめたい!」が動機 それだけだと残念なので、ついで…

macOSの環境設定と運用方法が整ってきたので晒す

目次 概要 TL;DR dotfiles 実行環境 ターミナル Terminal bash .bash_profile alias/function pbcopy cdf プロンプト syslogの削除 tmux Spacemacs packages multiple-cursor undo-tree Applications Google 日本語入力 Google Chrome Chrome Extension Alfr…

Golang環境を整える

概要 Golangをはじめるためにローカルの環境を整える いつもどおりDockerに固めちゃろって思ってたけど、 $ go get やら $GOPATH やらが面倒そうなのと最近 $ go get を要求されることが度々あるのでこの際ローカルに直接。 構築する環境 macOS High Sierra …

Amazon EKSことはじめ

やたらControl Planeの作成にハマったので備忘録 環境 使うのはMacとDocker。 あとローカルのAWS CLIのクレデンシャル mac OS Sierra 10.12.5 docker 18.03 Docker version 18.03.1-ce, build 9ee9f40 aws-cli 1.15.30 EKS対応は 1.15.32 から 18/06/06時点…

Pull Request毎にGAEでSwaggerをプレビューさせる

概要 APIの量産が必要になったものの、複数人でAPIを量産しているとSwaggerのPRも量産されてく。 Swaggerのレビューはyamlを見てレビューするわけだけど、わざわざSwaggerのプレビューをするためにブランチにチェックアウトしてpullしてサーバー立てるのはし…

GKEでhttps

概要 GKEでhttpsを用いるために、Let's Encrypt cert-managerを試した覚え書き。 jetstack/cert-manager: Automatically provision and manage TLS certificates in Kubernetes 環境 macOS Sierra GKE v1.9.6 helm v2.9.1 $ kubectl version Client Version:…

helm覚書

概要 Kubernetesのパッケージ管理ツール。LinuxでいうaptやyumのKubernetes版のイメージ。 公開されているManifestファイル(HelmではChartと呼ぶ。)をもとにアプリケーションをデプロイすることが可能 デフォルトで使用可能なChartは kubernetes/charts の…

GCPを複数プロジェクト触るのでbashを良い感じにする

GCP

概要 お仕事でGCPを複数プロジェクト扱うことになった 操作は基本 gcloudコマンドから行っているので、shellを良い感じにしたいのがモチベーション。 // あとGAEのデプロイ先GCPプロジェクトを間違えたのもモチベーション... それと、GKEも使うのでそっちも…