My Note

自己理解のためのブログ

AWS

GitHub Actions からCodeBuildを呼び出してdocker build する

概要 github-actions 概要 以前にGitHub Actionsでビルドする内容について書きました。そこで今回はビルドの処理をGitHub ActionsからCodeBuildを呼び出して CodeBuildでビルド処理を実行します。 yhidetoshi.hatenablog.com この記事の DockerビルドとECRへ…

GitHub Actonsで利用するOIDCプロバイダをTerraform(AWS IAM)で作成する

はじめに Terraform はじめに 前回の記事で Github AcrtionsにOIDCでAWS認証してECRにコンテナイメージを登録しました。 前回は手動でAWSコンソールでポチポチ作成したので今回は OIDCをプロバイダをTerraformで作成しました。 terraform以外の部分は前回記…

GitHub ActionsでOIDCを利用してECRにコンテナイメージを登録する

はじめに OIDCプロバイダーを作成 Github Actionsを設定 はじめに Github Actionsで AWSのアークセスキーとシークレットキーを設定しなくてもOIDC ( OpenID Connect) で認証できるようになりました。 鍵情報をセットしなくて済み鍵を管理する必要もないので…

【アップデート】GuardDutyの結果をLambda ( Go ) でSlackに通知する

はじめに SlackAppを利用する パッケージ構成 EventBridgeについて Slack通知について さいごに はじめに 今回は以前に書いた "GuardDutyの結果をLambda ( Go ) でSlackに通知する" 内容をアップデートしました。 主な目的はslack通知に利用するライブラリを…

Lambda@Edge( Nodejs )でリダイレクト設定をする

はじめに Lambda@Edgeについて コードと動作確認 はじめに 今回はLambda@Edge( Python3 )を使ってリダイレクト設定しました。 本記事ではLambda@Edgeについてしか触れないので、構成やCloudFront、Lambda@Edgeの設定については下記の記事に記載しています。 …

CloudFrontとLambda@Edge ( Nodejs )とS3で静的ページにIPアドレス制限とBasic認証を設定する

はじめに Lambda@Edgeについて Basic認証とIP制限について 動作確認について はじめに 今回はLambda@Edge( Nodejs14 )を使ってBasic認証とIP制限を設定しました。 本記事ではLambda@Edgeについてしか触れないので、構成やCloudFront、Lambda@Edgeの設定につ…

CloudFrontとLambda@Edge(Python3)とS3でリダイレクト設定をする

はじめに 構成 リダイレクト設定(Lambda@Edge) パターン1: すべてのリクエストを別ホストにリダイレクト パターン2: 特定のパス配下のアクセスを同じホストの別パスにリダイレクト パターン3: 特定のパス配下のアクセスを別ホストにリダイレクト(同じパス…

CloudFrontとLambda@Edge ( Python3 )とS3で静的ページにIPアドレス制限とBasic認証を設定する

はじめに 構成 CloudFrontについて Lambda@Edgeについて コードについて( Python3 ) CloudFrontとS3について Behaviorの設定 動作確認 Lambdaの機能を使ったテストイベント クライアントからの実行 さいごに はじめに 今回はCloudFrontとLambda@Edge ( Pytho…

EKS ( Kubernetes ) のWorker NodeとContainerのログをDaemonSetのFluentdでS3に保存する

はじめに 環境と構成 保存するログの対象 DaemonSetについて DaemonSetで利用するFluentdについて IRSAについて kustomizeを利用してデプロイする base/ で用意するマニフェスト daemonset.yamlについて overlays/ で用意するマニフェスト fluent.confについ…

Terraform学習メモ1 ( mapとfor_eachでECRを作成 )

mapとfor_eachについて Terraformのコード MapをイメージするためにGoで定義した場合 Terraformが0.12系がリリースされてから使える関数が増えてきているのでTerraformをまた勉強しはじめました。 そのときの "学習メモ" として書いていきます。(あくまで学…

Amazon EKS on EC2 で mackerel-container-agentを使ってPodを監視する

はじめに 環境構築 マニフェストを作成 commonディレクトリについて ServiceAccountとClusterRoleBindingについて nginxディレクトリについて ConfigMapについて ( pluginを利用した監視設定 ) Deploymentについて Mackerelの管理画面 ( モニタリング結果 ) …

ECS FargateでBlue/Greenデプロイをする

Blue/Greenデプロイについて アーキテクチャとデプロイフロー ALBとターゲットグループを作成する ECS Fargateのサービスを作成する CodePipelineについて CodeBuild buildspec.yml taskdef.jsonについて 機密情報の取り扱いについて ( SSM連携 ) CodeDeploy…

ECS FargateでGoコンテナを起動してローリングアップデートする

はじめに アーキテクチャ GitHub ECRに登録するGoコンテナを作成する docker imageを作成 ECRにdocker imageをpushする ECS Fargateのタスクを作成する ECS Fargateのサービスを作成する ALBを作成する サービスをつくる CodePipelineを作成する Source ( Gi…

Google App Engine(Go)とechoを使ってAPIを作ってみた ( 結果の可視化はMackerelで )

はじめに アーキテクチャとフロー Lambda ( Go )のクライアントについて デプロイについて GoogleAppEngine ( Go ) について echoについて echoでやっていること Basic認証 スクレイピングとjson生成 GAEへのデプロイについて 結果 さいごに はじめに Goとec…

AWS請求額をGoとMackerelで可視化して監視・通知する

はじめに アーキテクチャ Lambda ( Go )について 結果 ( Mackerelの画面 ) 監視設定とアラート通知 ( LINE ) デプロイ さいごに はじめに 今回もMackerelを使ってメトリクスを可視化する系の記事です。今回は監視と通知もしています。 AWSの請求額をグラフ化…

金とプラチナの価格をGoとMackerelで可視化する

はじめに アーキテクチャ Lambda ( Go )について デプロイ 結果 ( Mackerelの画面 ) さいごに はじめに 今回は、Goでスクレイピングして金とプラチナの価格をMackerelで可視化します。 yhidetoshi.hatenablog.com こちらと同様にMackerelを使った可視化です…

GoogleAnalyticsのPV数をGoとMackerelで可視化する

はじめに アーキテクチャ Google Cloud Platformについて GoogleAnalyticsについて Lambda ( Go )について 認証ファイル(json)のセット方法 認証ファイルを環境変数にセットできるように加工 GoogleAnalyticsから欲しい情報を取得する Lambdaの定期実行 Mack…

GuardDutyの結果をLambda ( Go ) でSlackに通知する

はじめに Slack通知を設定 アーキテクチャ 通知結果 CloudWatchの設定 Lambda関数 ServerlessFrameworkを利用したデプロイ まとめ はじめに AWSのセキュリティ対策のひとつにGuardDutyというサービスがあります。 aws.amazon.com GuardDuty はインテリジェン…

AWS アベイラビリティゾーン名とAZ-IDのマッピングを確認する

AWSの大障害がありアベイラビリティーゾーン名とAZ-IDのマッピングを確認した事があったので備忘録的に書きます。 ■ aws-cli docs.aws.amazon.com aws-cliを利用します。バージョンが1.15系だと ZoneId が取得できなかったので、アップデートしました。 $ aw…

S3バケットにアクセス制限を設定する

S3バケットに対してアクセス制限を実施したのでその備忘録です。 以下の接続元を除き(だけを許可)、それら以外はトラフィックを拒否する。という設定をします。 VPC内のリソース (aws:sourceVpce) VPCエンドポイントを指定 特定のGIP (aws:SourceIp) ■ バ…

CodeBuildの実行結果をLambda(Go)でSlackに通知する

目的 アーキテクチャについて 実装について Lambda関数とCloudWatchEventの作成 Lambda関数の実装 Slackの通知結果 デプロイ方法 まとめ 目的 AWS CodeBuildの実行結果をLambdaを使ってSlackに通知するようにしました。 前回のブログで、CodeBuildでMackerel…

TerraformでAWSの環境構築 ( IAM-Role/Policy )

やったこと 実行環境 IAMロールを作成する Terraformのコード全体 追加 (IAMポリシーの作成) コード全体 まとめ やったこと Terraformを利用してAWS環境のIAMロールを作成する。 IAM-Role lambda-functionに付与するロール 信頼されたエンティティ(ID プロバ…

TerraformでAWSの環境構築 ( Lambda )

やったこと 実行環境 lambda-functionをつくる Terraformのコード全体 まとめ やったこと Terraformを利用してAWS環境のlambda-functionを作成する。 lambda-functionの設定 ラインタイム: go1.x ハンドラー: main 環境変数をセット Goのコードをアップロー…

TerraformでAWSの環境構築 ( S3 )

やったこと S3バケットを作成する バージョニングを設定 デフォルト暗号化 ライフサイクルを設定 ブロックパブリックアクセス バケットポリシーを設定 ( dataリソースを使う ) バケットポリシーを設定 ( JSONを使う ) Terraformのコード全体 まとめ やったこ…

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…