My Note

自己理解のためのブログ

GKEでコンテナ ( Nginx-Proxy + Go )を動かす

やること Nodeの確認 DeploymentでPodとコンテナを作成する リソースを確認する サービスを作成する やること GKEクラスタを作成以下の前ブログで作成済み yhidetoshi.hatenablog.com Deploymentを作成 imageは自身のDocker Hubから取得 yhidetoshi.hatenabl…

GKEで実行するコンテナ ( Nginx-Proxy + Go ) を作成する

GKEで動かすコンテナ環境を用意する コンテナを作成して起動する DockerHubに登録する 次にやること GKEで動かすコンテナ環境を用意する ■ Nginx-Proxy + Golang のコンテナを作成する ■ ローカルディレクトリ構成 tree . . ├── docker-compose.yml ├── gola…

Google Kubernetes Engine ( GKE ) クラスタを作ってみる

クラスタを作る Podを作る まとめ GKEのクラスタを作ってみる。 今回はクラスタをwebコンソールから作成した。 クラスタを作る ■ コンソールからクラスタを作成する ■ クラスタが作成された ■ GCEインスタンスが作成されている ■ kubectlセットアップ $ gclo…

DockerのGoコンテナをGCPのCloud Runで動かしてみる

Goのdockerコンテナを用意する Container Registryにイメージを登録する cloud runに作成したコンテナをデプロイする 実行結果 DockerのGoコンテナをGCPのCloud Runで動かしてみる。 ■ Cloud Runが発表された www.publickey1.jp Dockerコンテナをcloud runに…

Go製のツール ( MackerelCPUAlertTool ) をAnsibleでEC2インスタンスにデプロイする

目的 Goで作成したインフラツールをAnsibleを使ってサーバにデプロイしたときの方法をまとめる。 今回デプロイするGoツールは以前に作成した以下のブログのものを利用する。 yhidetoshi.hatenablog.com 実行方法 systemdでservice/timerを作成してmackerel-a…

Google App Engine( GAE )にGoAppをデプロイする

GAEにGoをデプロイして動作確認をする。 GAEにデプロイする 動作確認 参考 GAEにGoをデプロイして動作確認をする。 ■ App Engine extension for Goをインンストール $ gcloud components install app-engine-go $ mkdir myapp && cd myapp ■ googleアカウン…

Cloud FunctionにgcloudでGoコードをデプロイする

CloudFunctionにGoをgcloudを利用してデプロイする デプロイ結果 CloudFunctionにGoをgcloudを利用してデプロイする $ gcloud components install beta $ export GO111MODULE=on ■ create repo of github ( github.com/yhidetoshi/gcloud-cloud-function-hel…

Macにgcloudをインストールする

やったこと まとめ やったこと Macに brew caskでgcloudにインストールする。 ■ 実行コマンド $ brew tap caskroom/cask $ brew cask install google-cloud-sdk ■ zshの場合、.zshrcに以下を追加する source '/usr/local/Caskroom/google-cloud-sdk/latest/g…

Stackdriver Loggingにnginxとjournalログを転送する

やったこと google-fluentdのインストールとjournalログの転送は以下のブログで実施しました。 yhidetoshi.hatenablog.com NginxのAccess/Errorログを転送する。 Ansibleで設定を行う。環境はUbuntu16.04で行った。 roles/nginx/ ├── handlers │ └── main.ym…

Ansibleでgoogle-fluentdをインストールし、Stackdriver Loggingでログを確認する

やったこと Ansibleのコード key.json(暗号化前)に記載する情報を取得する Stackdriver Loggingで転送ログを確認する やったこと Ansibleでgoogle-fluentdをインストールして、GCPのStackdriver-Loggingでログの転送を確認する。 Ansibleで設定を行う。環…

AWSの正規ユーザIDを確認する方法

やったこと 正規ユーザーIDとは 確認 実行コマンド 実行結果 まとめ やったこと AWS S3の正規ユーザIDを確認する方法を記載します。 正規ユーザーIDとは 正規ユーザーIDとは 正規ユーザー ID は、79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd…

MackerelCPUAlertToolを作った

目的 実装 GitHub (ソースコード) Usage Slack通知の結果 まとめ 目的 MackerelでCPU使用率のアラートが発生した場合にSlackにCPU使用率の高いプロセスリスト、ホスト名、CPU使用率の内訳をPostさせる 実装 mackerel-client-go を利用してツールを作成 macke…

TerraformでAWSの環境構築 ( RDS )

やったこと Terraformを利用してAWS環境を構築する。 terraformを使って、dev/stgはシングル構成で、prodはマルチAZ構成のauroraクラスタを構築する。 Envはworkspaceをして使い分ける。 ■ 改修版 ( ssmパラメータの利用 )はこちらです。 yhidetoshi.hatenab…

Ansibleの備忘録(モジュール編 Centos7)

やったこと Ansibleコード ディストリビューションチェック SELinux PATH追加 (sudoers) /usr/local/bin yum update epel-repo追加 Python3.6のインストール by yum Install pip3 pip3 install pkg pip install pkg sudo passwordのNOPASSWD化 Install Ruby …

TerraformでAWSの環境構築 ( VPC・NW )

やったこと Terraformを利用してAWS環境を構築する。 今回は、VPCとNW周り(Subnet / RouteTable / NATGW / S3エンドポイント)をENVを3つの場合に分けて作成する。 Envはworkspaceを利用する。今回構築する環境は以下。 ■ 構築する構成図 (workspace=prod) te…

GoでAWSのAMIとSnapshotとLaunchConfigを自動削除するツールを作った

目的 削除ツールの作りと実行条件 GitHub ( ソースコード ) ターミナルで実行した結果 SSMパラメータのAMI-ID (削除しないAMI) Lambdaへのデプロイ手順 Lambdaに必要な設定 Lambdaでの環境変数値をセット Slack通知 GitHubにリリースする まとめ 目的 AWSでP…

GolangCIを使ってみる

使ってみる まとめ golangCI GolangCIとはGitHubのPullRequestに対してlintをかけてくれるGo言語用のCIサービス。 デフォルトで適用されるLint https://github.com/golangci/golangci-lint#enabled-by-default-linters 使ってみる https://golangci.com/ に…

Goでシステムリソース情報を取得するcloudfoundry/gosigarのコードをみてみる

Go

cloudfoundry/gosigarのコードをみる まとめ cloudfoundry/gosigarライブラリを使ってuptimeを取得するプログラム package main import ( "fmt" "github.com/cloudfoundry/gosigar" ) func main(){ uptime := sigar.Uptime{} uptime.Get() // UPTIME fmt.Pri…

Goでシステムリソース情報を取得する

Go

やること ソースコード まとめ やること Goでシステムリソースを取得してみる。 今回はライブラリを利用して取得してみる。利用したライブラリは以下です。 cloudfoundry/gosigar https://github.com/cloudfoundry/gosigar このライブラリを利用してリソース…

GoでAWSのBilling情報をグラフ化するmackerel-pluginを作った

明けましておめでとうございます。2019年最初の記事です。 Mackerelの公式サイト 開発環境と実行環境 今回作ったmackerel-plugin-awsbillingのソースコードは以下 EC2のUbuntuサーバに設定 mackerel-agentを設定 Mackerelダッシュボードのグラフを確認 まと…

MackerelにPython3とboto3を使ってagent経由でカスタムメトリクスをPostしてグラフ化する

やりたいこと 作成したコード ( Python3 ) mackerel-agentの設定 結果 まとめ やりたいこと mackerel-agentを利用して、Mackerelのダッシュボードに独自 ( カスタム )メトリクスを投稿してグラフ描画する。 awsアカウントのEC2インスタンスの起動中・停止中…

AWS LambdaでClamAVのスキャン結果をSlackに通知する

環境 CloudWatch Logsのログデータ Lambdaの設定 CloudWatch Logsのフィルタ Lambdaのソースコード ( slack_post.py ) Slackへの通知結果 まとめ 環境 AWS Lambda ランタイム: Python3.6 連携: CloudwatchLogs (Filter有) 環境変数: SLACK_WEBHOOK_URL webho…

GoでSlackにPostする

SlackにGo言語でMessageをPostするコードを書いたので備忘録です。 Slackにエラーログを送ったり、アラート通知やリソース情報通知などに活用する。 開発環境 Mac go1.11.2 Slack: WebHookURLが必要 SlackにPostするときにAPI仕様を確認する ( Attachment st…

Serverless Framework GoでLambda-Functionをデプロイする

Macにnpmをインストールする MacにServerlessFrameworkをインストールする デプロイしたLambdaの一部抜粋 実行結果 まとめ Macにnpmをインストールする $ brew install nodebrew $ mkdir -p ~/.nodebrew/src $ nodebrew install-binary latest $ nodebrew li…

vimのセッティング備忘録(NeoBundleとvimのプラグイン)

Vim

NeoBundleのセットアップ pluginをインストールする まとめ NeoBundleのセットアップ $ mkdir -p ~/.vim/bundle $ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim pluginをインストールする .vimrc に以下を貼り付けて、vim…

Python3でSlackにPostする

SlackにPython3でMessageをPostするコードを書いたので備忘録です。 Slackにエラーログを送ったり、アラート通知などに活用する。 開発環境 Mac Python3.7.0 Slack: WebHookURLが必要 SlackにPostするときにAPI仕様を確認する ( Attachment structure ) http…

AnsibleでUbuntuにdockerとdocker-composeをインストールする

やること Ansible 結果 やること UbuntuOSにAnsibleでdockerとdocker-composeを一般ユーザ(ubuntu)で実行できる環境を構築する 環境 OS: Ubuntu16.04 kernel: 4.4.0-1072-aws ansible 2.7.1 docker-compose version: 1.23.1 docker-composeのダウンロード ht…

Ansibleのfactを使ってシステム変数を取得する

Ansibleのfactsを使って、システム変数を色々と取得してみたのでその備忘録です! 公式ドキュメント https://docs.ansible.com/ansible/2.7/user_guide/playbooks_variables.html playbookで gather_facts: yes に設定する - hosts: role_bastion user: ubun…

Chrome拡張のVimiumでVimライクに使う

VimimuというツールがVimライクにChromeを操作できて便利なので設定メモの備忘録です。 インストール インストールリンクへ https://chrome.google.com/webstore/category/extensions?hl=ja 検索で Vimium と検索する Chromeに追加を押す Chromeの右上に V …

AnsibleにLintを導入する

インストール まとめ インストール $ sudo pip install ansible-lint ./ansible ディレクトリに lintのファイルを作成する /home/ubuntu/yhidetoshi-infra/ansible cat .ansible-lint parseable: true quiet: false use_default_rules: true skip_list: - AN…