tk_ch’s blog

インフラエンジニアのブログ

ansible_specでAnsibleとServerspecを連携させる

環境 バージョン Ansible実行対象のサーバ 商用環境 ステージング環境 実施内容 Ansibleのファイルを準備する ansible_spec実行用のDockerイメージをビルドする ansiblespec-initの実行 タスクを確認する 注意:Ansibleのディレクトリ構成がansible_specのデ…

Ansibleのベストプラクティスなディレクトリ構成を試す

環境 Ansibleバージョン Ansible実行対象のサーバ 商用環境 ステージング環境 実施内容 ディレクトリ構成 構成のポイント 各ファイルの内容 ロール role00 role01 role02 環境面ごとのインベントリ・変数定義 商用環境(production) ステージング環境(staging…

Serverspecを複数のサーバに対して実行する

環境 実施内容 変更前のディレクトリ構成と 変更後のディレクトリ構成とファイル 実行してみる まとめ 参考文献 以下の記事で、Serverspecの実行コンテナを作成した。 tk-ch.hatenablog.com 今回、複数のサーバに対してServerspecでテストを実行したい。 し…

Serverspecの実行環境をDockerコンテナにする(Serverspec2.42.2、RockyLinux8、SSHパスワード認証)

環境 実施内容 使用するServerspecのバージョンを決める Serverspec実行用のDockerイメージをビルドする ビルドしたイメージを使ってServerspecを実行する SSHの認証パスワードを自動入力するよう設定する aliasの設定 まとめ 参考文献 Serverspecを使う際に…

AWS MediaConvertで作成したHLS形式動画とAES鍵へのアクセスを、CloudFront署名付きCookieでユーザグループ単位に制限する

環境 構成 構成図 説明 補足:CloudFrontの構成について 実施内容 Terraformでのリソース変更・追加 変更・追加するリソース Terraformコード MediaConvertジョブ登録用Lambda関数の修正 処理概要 関数作成時の注意点 関数コード mp4動画をAES鍵で暗号化され…

AWS MediaConvertで作成したHLS形式動画へのアクセスを、CloudFront署名付きCookieでユーザグループ単位に制限する

環境 構成 構成図 説明 補足:CloudFrontのアクセス制限方法について 実施内容 CloudFrontの署名付きCookie用キーペアの作成 キーペア作成 Terraformでのリソース作成 作成するリソース Terraformコード MediaConvertのジョブテンプレートの作成 MediaConver…

Knative(v1.7)を触ってみる(インストール・チュートリアル)

環境 Knativeとは インストール インストール方法 Knative CLIのインストール Knative Servingのインストール Knative Serving コンポーネントをインストールする ネットワーク層をインストールする インストールされたことを確認する DNSの構成 Knative Eve…

GCP 検証用GKEクラスタを作成する(K8s v1.25)

環境 実施内容 作成するGKEクラスタの運用モードを検討 GKEクラスタを作成する Cloud ShellからGKEクラスタに接続する GKEクラスタの動作確認をする GCEのVMインスタンス(CentOS7)からGKEクラスタに接続する まとめ Kubernetes(K8s)の検証をしたいけど自分で…

GCP Compute Engine インスタンス(無料枠)を作成してSSH接続する

環境 実施内容 インスタンスを作成する インスタンスの外部IPを固定する インスタンスのファイアウォール設定 SSH接続の設定をする gcloud CLI の設定 おまけ:インスタンスの初期設定 参考文献 Google Cloud Platform(GCP)のIaaSサービスであるGoogle Compu…

Prometheus Node Exporter をAnsibleでインストールする(Rocky Linux 8)

環境 実施内容 Ansibleのplaybookを準備 ansibleの実行 まとめ 参考文献 PrometheusのExporterのひとつである、Node ExporterをAnsibleでインストールした時のメモ。 PrometheusやNode Exporterの設定は以下記事に記載してある。 tk-ch.hatenablog.com 環境 …

Ansibleの実行環境をDockerコンテナにする

環境 実施内容 Ansibleの最新バージョンを確認 Ansible実行用のDockerイメージをビルドする ビルドしたイメージを使ってansible-playbookを実行する まとめ 参考文献 Ansibleを使う際に、以下のような環境面での悩みが出てくるケースがある。 複数の構成管理…

Node ExporterのTextfile Collectorで独自メトリクスを収集する

環境 実施内容 コマンド実行で試してみる シェルスクリプトで独自メトリクスの値を定期更新する Pythonスクリプトで独自メトリクスの値を定期更新する まとめ Node Exporterでハードウェア・OSのメトリクスを収集して、Prometheus、Grafanaで可視化している…

サーバーのメトリクスを可視化する(Prometheus、Grafana、Node Exporter、cAdvisor)

環境 構成図 モニタリングサーバを構築する DockerとDocker Composeインストール PrometeusとGrafanaを起動する 動作確認と初期設定 Node Exporterでハードウェア・OSのメトリクスを収集する Node Exporterのインストール・起動 Prometheusの設定変更 Grafan…

NetdataをRockyLinux8にインストールする

環境 実施内容 Netdataというサーバのメトリクスを取得・可視化するOSSをRockyLinux8にインストールした時のメモ。 環境 ・OS:Rocky Linux 8.6 ・Netdata:v1.36.1 実施内容 インストール手順は以下に記載されている。 learn.netdata.cloud デフォルトの挙…

kubeadmでKubernetes HAクラスタを構築する(CentOS7、k8s v1.17)

構成の検討 構成図 環境 構築作業 kubeadmのインストール ロードバランサー(LBノード)の構築 Masterノードの構築 Workerノードの構築 動作確認 機能を色々試す テストツール(sonobuoy)で評価する 可用性の確認 Masterノード1台ダウン Masterノード2台ダウン …

AWS CodeCommitリポジトリへのアクセスを除きMFA強制するIAMポリシー

実施内容 CodeCommitへのアクセスに必要なアクションを許可する KMS関連アクションの許可対象リソースを制限する 最終的なIAMポリシー 補足 CodeCommitへMFAを使ってアクセスする方法 IAMユーザー払い出し時の注意点 ユーザ作成時は「パスワードのリセットが…

【NETGEAR M4300-52G】ポートVLANとLAG(リンクアグリゲーション)を設定する

環境 実施内容 ログイン ポートVLAN設定 LAG(リンクアグリゲーション)設定 参考文献 NETGEARのネットワークスイッチ「M4300-52G」のポートVLANとLAG(リンクアグリゲーション)を設定した時のメモ。 GUI(ブラウザアクセスする管理画面)があるようなので、これを…

【HPE 6125G Blade Switch】DHCPを無効にする

環境 実施内容 HPE 6125G Blade SwitchのあるポートでDHCPが意図せず有効になっていたので、無効にした。 その際のメモ。 環境 ・機種:HPE 6125G Blade Switch ・ホスト名:DEV_SWITCH 実施内容 特権モードになる <DEV_SWITCH> super configurationモードに入る <DEV_SWITCH> system</dev_switch></dev_switch>…

RockyLinux8のkernelをアップグレードする

環境 実施内容 RockyLinux8のカーネルを、2022年7月現在の最新安定版である5.18にアップグレードしたときのメモを残しておく。 elrepo.org 環境 ・RockyLinux8.6(4.18.0-372.9.1→5.18.9-1) 実施内容 OSとカーネルバージョンの確認 # cat /etc/redhat-release…

AWS 同一ECSクラスタ内で、ECSインスタンスを特定の利用者(ECSタスク)に占有させる(Terraform使用)

環境 やりたいこと 実現方法の検討 方針 ECSインスタンスに属性を付与する方法 タスクの配置先を、特定の属性を持つECSインスタンスに制限する方法 実現方法まとめ 動作確認環境の構築 動作確認 ECSインスタンスの属性を確認する 配置制約を指定してタスクを…

AWS ECSクラスタをTerraformで構築する(EC2、Auto Scaling、GPU利用)

環境 やりたいこと 構築 動作確認 タスクの起動 結果 何が起きていたのか 前提知識 考察 タスク開始までのリードタイムを短縮する キャパシティプロバイダの「minimumScalingStepSize」 説明 Terraformでの設定箇所 ASGの「最小キャパシティ」 説明 Terraformで…

【Linux】日時をファイル名に含める

環境 実施内容 参考文献 コマンド実行の手順書を作成したり、簡単なログファイルを出力するときに、実行時の日時をファイルやディレクトリの名前に入れたくなることがある。 いつも忘れてググることになるので、メモしておく。 環境 ・CentOS 実施内容 ファ…

Kubernetesクラスタ(kubeadmで構築)の証明書期限切れ

環境 Kubernetes構成 原因調査 状態の確認 原因 証明書を手動更新する クラスタの証明書を更新(マスターノード#1での作業) kubectlの証明書を更新(マスターノード#1での作業) 残りのマスターノードでの作業 作業後の確認 まとめ 参考文献 1年以上前に作成し…

AWS IAMユーザのマネジメントコンソールへのログインを無効にする(AWS CLI)

環境 実施内容 コンソールログインを無効にする ログインできなくなっているか確認 コンソールログインを有効にしたい場合 参考文献 IAMユーザのマネジメントコンソールへのアクセスが不要な場合、無効にしておくことが望ましい。 マネジメントコンソールか…

KVMゲスト(qcow2)のルートボリュームを拡張する(LVM利用)

環境 現状の確認 拡張作業 1. VMイメージのサイズを拡張する 2. 拡張されたデバイスからパーティションを作成する 3. PV(物理ボリューム)を作成する 4. PVG(物理ボリュームグループ)を拡張する 5. LV(論理ボリューム)を拡張する 6. ファイルシステムを拡張す…

RedashV8をCentOS7にインストールする

環境 セットアップ方法の検討 方法1Dockerイメージのビルドから行う方法 方法2 Ubuntu 18.04上にDockerComposeで展開する方法 セットアップ作業 セットアップスクリプトの確認 install_docker()相当の作業:Docker、Docker Composeのインストール create_d…