My Note

自己理解のためのブログ

AWS

Terraform ( v0.12.0 ) でSSMパラメータと連携してAurora ( MySQL ) を構築する

やったこと yhidetoshi.hatenablog.com で書いたコードをTerraformのバージョンを0.11.14から0.12.0アップデートして書き直してみた。 RDSクラスターを作成する説明については上記リンクのブログに記載しています。 ■ 構築する構成図 (workspace=prod) terra…

Terraform ( v0.12.0 ) でAWSの環境構築 ( Redis )

やったこと yhidetoshi.hatenablog.com で書いたコードをTerraformのバージョンを0.11.14から0.12.0アップデートして書き直してみた。Redisクラスターを作成する説明については上記リンクのブログに記載しています。 ■ 構築する構成図 (workspace=prod) 変更…

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

やったこと 変更点 Terraformのコード全体 まとめ やったこと yhidetoshi.hatenablog.com で書いたコードをTerraformのバージョンを0.11.14から0.12.0アップデートして書き直してみた。 今回構築する環境は以下です。 ■ 構築する構成図 (workspace=prod) 変…

Terraform ( v0.11.14 ) でSSMパラメータと連携してAurora ( MySQL ) を構築する

やったこと TerraformのSSMパラメータについて vpc-id / subnet-id / db-passowd / securit-group-id を参照してサブネットIDを取得する Terraformのコード全体 まとめ やったこと yhidetoshi.hatenablog.com の以前に書いたブログ ( Terraformのコードの改…

TerraformのCI環境をGitHubとCodePipeline/CodeBuildで構築する

やったこと 環境 CodePipelineのフロー CodeBuildでの処理内容を定義する ssmパラメータでAPIの鍵情報を管理する tfstate-fileの保存先をS3に設定する やったこと Terraformのコーディングに集中するため、複数人で作業するためにTerraformの実行環境(CI)をA…

AWS LambdaでGoツールを作成したときにタイムゾーンに嵌った

やったこと AWS Lambdaはap-northeast-1(東京リージョン)でLambdaを作成してもタイムゾーンはUTCだった。 Go( Lambda )で現在時刻を利用する場合に参照するために備忘録的に残します。 Lambdaのタイムゾーンを東京にする 環境変数にセットする KEY: TZ VALUE…

AWS Lambda ( Go )でNatureRemoのセンサー情報をMackerelで可視化・監視して、アラートをLINEに通知してみた

やったこと ソースコード ( GitHub ) NatureRemoについて まずはAPI ( curl ) でデバイスのセンサー情報を取得する Goでデバイスのセンサー情報を取得する Mackerelにカスタムメトリクスを投稿する AWS LambdaにGoコードをデプロイしてMackerelにデータを投…

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

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

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

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

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…

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

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

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

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

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…

AWSのCode3兄弟とAnsible+PackerでAMI作成までを自動化する

AWSのCI/CDサービス(CodePipeline/Deploy/Build)と構成管理ツールのAnsible + Packerを利用してEC2インスタンスのイメージを自動構築する。 コードはGitで管理するが今回はバージョニングを有効にしたS3に保存し、そのイベントをフックにインスタンスのイメ…

Route53の管理にRoadworkerを使う

Roadworkerとは セットアップ Roadworkerを使う まとめ 参考 Roadworkerとは rubyで作成されたRoute53をコマンドラインで管理することができるツール。 Route53のGitHub セットアップ IAMロールで権限を付与 or IAMキーを実行環境にセットする Roadworkerを…

AnsibleでSSMパラメータを管理する

AnsibleでSSMパラメータを管理する ssmパラメータに登録(Valueが平文の場合) ssmパラメータに登録(Valueを暗号化する場合) SecurityGroup-IDとSubnet-IDとIAMロールARNを動的にssmパラメータに登録する AnsibleでSSMパラメータを管理する ssmパラメータに登…

SecurityGroupの管理にPiculetを使う

Piculetとは セットアップ piculetを使う まとめ Piculetとは rubyで作成されたSecurityGroupをコマンドラインで管理することができるツール。 PiculetのGitHub セットアップ IAMロールで権限を付与 or IAMキーを実行環境にセットする piculetを使う 現在のS…

ore-awsというおれおれAWS-CLIツールをGoで作った

目的 活用したもの ツールを使うための準備 使い方(コマンドオプション) EC2 RDS ELB S3 Route53 Cloudwatch IAM おわりに 目的 AWSアカウント複数管理していると、個別にwebコンソールにログインするのが大変でwebコンソールでぽちぽちするのが手間だったり…

JavaScriptを勉強しながら独自のaws-cliツールを作ってみた

背景 AWS LambdaやGCPのCloud Functionでjavascriptにふれる機会が増えてきた javascriptを書いたことがほとんどなかったので、学習しながらaws-cliを作ってみようというのがきっかけ 開発環境 Mac node.js: v10.6.0 was-cliを実行できる環境が必要 自分用の…

Pythonを勉強しながらaws-cliツールを作ってみた

準備 コマンド コマンド help1 コマンド help2 EC2 AutoScaling RDS Route53 S3 参考 準備 localでaws-cliを実行できるようにする python 3系をインストール $ git clone https://github.com/yhidetoshi/python-awscli-tool $ pip install prettytable click…

運用ツールとしてGo言語を使ってAWSの起動設定とAMI数を返すツールを作った

背景 課題 実行環境 main.go 実行結果 背景 AWS環境でインフラCIとして、CodePipeline + CodeBuild + CodeDeployを使っている CodeDeployでBlue/Greenデプロイをしていると起動設定がどんどん増えていく CodeBuildでPackerを動かしており、AMIがどんどん増え…