かべぎわブログ

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

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に変換したものを格納しています。 ↓これをsjisからutf-8に変換 http://www8.cao.go…

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コマンドでよくつかっているコマンドを紹介します。 リージョン内のすべてのインスタンスの情報を取得 特定のインスタンスIDの情報を取得 起動中のインスタンスのみ取得 特定のインスタンスタイプの…