かべぎわブログ

技術的なことについてかけたらいいな…

オフライン環境でZabbixエージェントをインストールする

今回はオフライン環境のLinuxサーバにZabbixエージェントをインストールしてみます。 手順 なんらかの方法で以下からZabbixエージェントをインストールしてきます。 http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/ なんらかの方法でZabbixエージェントを…

コマンドでWindows Serverの起動時に自動ログオンするよう設定する

今回はWindows Serverを起動した際の自動ログオンを実現してみます。 事前準備 マイクロソフト公式からAutoLogonをダウンロードしてきます。 ダウンロードできたら任意の場所に解凍しておきます。 technet.microsoft.com 自動ログオンの設定をする さて、実…

AnsibleでWindowsにAWS CLIをインストールする

今回はAnsibleでWindows環境にAWS CLIをインストールしてみたいと思います。 事前準備 AWS公式からAWS CLIのインストーラをダウンロードしてきます。 aws.amazon.com 以下の赤枠から32ビットまたは64ビットのものをダウンロードします。 Ansibleを実行する …

Windows環境でPythonをコマンドでサイレントインストールする

今回はWindows環境でPythonをコマンプロンプトなどを利用してサイレントインストールしてみたいと思います。 コマンド 以下のコマンドをコマンドプロンプトで実行することでPyhtonをインストールすることができます。 C:\\python-3.6.3.exe /quiet InstallAl…

AnsibleでEC2インスタンスを作成してみる

AnsibleでEC2インスタンスを作成してみようと思います。 環境 Ansible 2.4.2 python 2.7 インスタンスを作成してみる インスタンスを作成してみます。 実行コマンド $ ansible-playbook -i ansible_hosts instance_create.yml playbookは以下のようにしてい…

Ansibleのホストパターンは正規表現も利用できる

知らなかったので備忘録的メモです。 Ansibleのホストパターンは正規表現でも利用できました。 例えば以下のように指定が可能です。 正規表現の前には~を忘れないであげてください。 $ ansible -i ansible_hosts "~(test|wawawa)_server" -m ping このとき、…

Ansibleのホストパターンにはワイルドカードが利用できる

知らなかったので備忘録的メモです。 例えば、以下のように指定が可能です。 $ ansible -i ansible_hosts *_server -m ping このとき、インベントリとして利用しているansible_hostsがこのような内容のとき、test_serverとwawawa_serverにpingが実行されます…

Auto Scalingでスケールインしたときの動作まとめ

AWS

概要 Auto Scalingを利用していて、スケールインしたときの動きについてまとめてみます。 AWSドキュメントによると、スケールイン時のうごきが以下の通り。 Auto Scaling は、選択したアベイラビリティーゾーンで、保護されていないどのインスタンスが最も古…

boto3でDynamoDBのテーブルの内容をscanしてすべて取得してみる

boto3を利用してDynamoDBのテーブルの内容をscanしてすべて取得してみたいと思います。 前提 以下のようなテーブルを用意しています。 これをすべてscanして取得します。 コード コードは以下の通りです。単純ですね! python 以下のような結果が返ってくる…

PackerでWindowsServerのAMIを作成する

PackerでWindowsServerのAMIをつくってみます。 これが考えられる最小構成だと思います。 これに肉付けすることでカスタムAMIを作成することができると思います。 環境 Packer v1.1.3 Packerが動いているサーバ : Amazon Linux 2 PackerがつくるWindowsServe…

Amazon Linux 2でPacker を実行したところ/usr/share/cracklib/pw_dict.pwd: Permission deniedのエラーがでる

事象 Amazon Linux 2 でPackerを実行しようとしたところ、以下のようなエラーが出てしまいました。 $ packer /usr/share/cracklib/pw_dict.pwd: Permission denied /usr/share/cracklib/pw_dict: Permission denied 原因 どうやら以下のPackerを実行してしま…

PackerでカスタマイズしたAMIを作成してみる

Packerを利用してすこしカスタマイズしたAMIを作成してみたいと思います。 そもそもPackerとは? JSON形式で記載した設定ファイルのとおりにマシンイメージ(AWSであればAMI)を管理、作成することができるツールです。 たとえば、なにか共通の設定を入れたAMI…

pi-top SPEAKER の接続とセットアップ方法

pi-top SPEAKERをpi-top CEEDに接続する方法をご紹介します。 環境 pi-top OS pi-top CEED pi-top SPEAKER v2 接続方法 pi-top SPEAKERを箱から取り出します。 以下の端子にさしこみます。 さしこみました。 基本的にはこれでもう音が出るようになっているは…

pi-top CEED 買ったので開封レビューと組み立て

いまさらですがpi-top CEEDを買いましたので開封、組み立てていきます。 開封してみる イギリスからものが届きました。 これをあけるとこんなかんじです。 いいかんじの箱があらわれました。 箱の裏面はこんなかんじ。 箱を開けてみると箱いっぱいに本体がは…

EC2 External InventoryでプライベートIPで取得したい

AnsibleのEC2 External InventoryでEC2インスタンスの情報を取得したとき、デフォルトのままだと以下のようにIPアドレスがパブリックIPで表示されるかと思います。 $ ./ec2.py { "_meta": { "ap-northeast-1a": [ "54.xxx.xxx.xxx", "13.yyy.yyy.yyy" ], "ta…

Amazon LinuxにPackerをインストールする

Amazon LinuxにPackerをインストールしてみたいと思います。 環境 以下の環境で実施 Amazon Linux AMI 2017.09.1 (HVM), SSD Volume Type (ami-ceafcba8) Packer 1.1.3 linux 64bit インストール手順 Packerのダウンロード まずwgetでPackerをダウンロードし…

AnsibleのEC2 External Inventory で ERROR: "Forbidden", while: getting ElastiCache clusters エラーの解決法

事象 AnsibleでEC2 External Inventoryを試そうとしていたところ、以下のようなエラーがでてしまいました。 $ ./ec2.py ERROR: "Forbidden", while: getting ElastiCache clusters 解決法 ec2.iniのElastiCacheを無効にしたらうまくいきました。 以下のとこ…

EC2 External Inventoryを利用してAnsibleのhostsを動的に管理する

Ansibleを利用した構成管理では、実行対象のホストをインベントリファイルと呼ばれるファイルに記載しておく必要があります。 以下のようなかんじ [local] localhosts [test_server] 192.140.1.1 192.140.1.2 [web_server] 192.140.2.1 これだと、AWSでAutoS…

Ansibleでgit cloneを実行する

今回はAnsibleでgit cloneを実行する方法をご紹介します。 今回はテスト用に以下のリポジトリを利用してみます。 https://github.com/takakabe/blog_RaspberryPi 前提条件 各ターゲットノードに以下のモジュールが必要です。 git>=1.7.1 (the command line t…

AnsibleでS3からファイルをダウンロードする3つの方法

AnsibleでS3からファイルをダウンロードする方法を紹介します! ① s3_getを利用する AnsibleのCloudModuleであるs3_getを利用する方法です。 前提条件 ターゲットノードにS3へのアクセス許可が必要 実行コマンド $ ansible-playbook -i ansible_hosts s3_get…

Ansibleでboto3 and botocore required for this moduleというエラーがでたときの対処法

事象 AnsibleでS3を操作しようとしていたところ、以下のようなエラーが出てしまいました。 PLAY [s3_get] ***************************************************************************************************** TASK [Gathering Facts] ***************…

AnsibleからWindowsServerへファイルをコピーする方法

Ansibleを利用してWindowsServerへファイルをコピーする方法をご紹介します。 設定手順 AnsibleからWindowsを操作するためにはWindows側とAnsible側の両方にすこし準備が必要です。 AnsibleはターゲットのサーバにWindows Remote Manager(WinRM)を利用してア…

AnsibleでFailed to connect to the host via ssh: Permission denied (publickey).\r\nというエラーが表示されたときの対処法

Ansibileの勉強をしていたところ、以下のようなエラーが表示されてしまいました。 $ ansible -i test01_inventory.ini test_servers -m ping localhost | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission d…

S3上のテキストファイルをLambda(Python)で取得する

今回はS3の中に入っているテキストファイルの内容をLambda(Python)で取得してみたいと思います。 S3上には内閣府が公表している国民の休日のcsvファイルの文字コードをutf-8に変換したものを格納しています。 ↓これをsjijsからutf-8に変換 http://www8.cao.g…

PythonでHHMM形式の時刻の差分を取得する

PythonでHHMM形式同士の時刻の差分を取得する方法を備忘録的に残しておきます。 python 実行すると以下のように差分が取得できます。 takakabe@MyComputer:~$ python time_diff.py 0:30:00 入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メー…

LambdaのトリガにCloudWatchを設定した際にWe currently do not support adding policies for $LATEST. のエラーがでた場合の対処法

AWS

LambdaのトリガにCloudWatchを設定した際にWe currently do not support adding policies for $LATEST.のエラーがでた場合の対処法をご紹介します。 事象 バージョンが$LATESTのLambda関数のトリガにCloudWatch Eventsを追加しようとしたところ以下のような…

停止中のインスタンスのIAMロールを置換するとエラーになる

AWS

だいたいタイトルのとおりです。 停止中のEC2インスタンスのIAMロールを置換しようとするとエラーがでて、置換することができません。 以下のようなエラーがでます。 when calling the ReplaceIamInstanceProfileAssociation operation: The association iip…

AWSCLI describe-instances でよく使うコマンドまとめ【随時更新】

AWS

EC2インスタンスの一覧を見るAWS CLIのdescribe-instancesコマンドでよくつかっているコマンドを紹介します。 リージョン内のすべてのインスタンスの情報を取得 aws ec2 describe-instances 特定のインスタンスIDの情報を取得 aws ec2 describe-instances --…

IPアドレスを2進数に分解するシェルスクリプト

IPアドレスとサブネットマスクでどこまでがネットワークアドレスなのかがわからなくなることが多かったので作りました。 ちょっとしたひまつぶしに作成したのでエラー処理等まじめにやっていないです。 実行例 こんなかんじで引数にIPアドレスをCIDR表記でわ…

冷蔵庫の中身をTrelloでゆるく管理する

さて、今回は我が家のTrello活用法をご紹介します。 我が家ではタイトルにも書いたとおり冷蔵庫の中身をTrelloでゆるーく管理しています。 うまく説明できないのでTrelloの画面をそのままみせるとこんな感じ。 冷蔵庫、冷凍庫、常温保存している食材をそれぞ…