かべぎわブログ

ブログです

Ansibleのshellではif文とかもつかえる

概要

しらなかったのでメモ。
つかいどころがあるのかどうかはわからぬ。

playbook

たとえばこんなかんじのplaybookがあったとする。

実行してみる

こんなかんじでifが実行されていることがわかる。

$ ansible-playbook ./wawawa.yml --extra-vars="hensuu=wawawa" -v
Using /etc/ansible/ansible.cfg as config file

PLAY [target] *******************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************
ok: [ec2-18-179-38-201.ap-northeast-1.compute.amazonaws.com]

TASK [shell] ********************************************************************************************************
changed: [ec2-18-179-38-201.ap-northeast-1.compute.amazonaws.com] => {"changed": true, "cmd": "if [ \"wawawa\" = \"wawawa\" ]; then\n echo \"いいね\"\n else\n echo \"よくないね\"\n fi", "delta": "0:00:00.005598", "end": "2019-01-29 05:29:56.713565", "rc": 0, "start": "2019-01-29 05:29:56.707967", "stderr": "", "stderr_lines": [], "stdout": "いいね", "stdout_lines": ["いいね"]}

PLAY RECAP **********************************************************************************************************
ec2-18-179-38-201.ap-northeast-1.compute.amazonaws.com : ok=2    changed=1    unreachable=0    failed=0   
$ ansible-playbook ./wawawa.yml --extra-vars="hensuu=sasasa" -v
Using /etc/ansible/ansible.cfg as config file

PLAY [target] *******************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************
ok: [ec2-18-179-38-201.ap-northeast-1.compute.amazonaws.com]

TASK [shell] ********************************************************************************************************
changed: [ec2-18-179-38-201.ap-northeast-1.compute.amazonaws.com] => {"changed": true, "cmd": "if [ \"sasasa\" = \"wawawa\" ]; then\n echo \"いいね\"\n else\n echo \"よくないね\"\n fi", "delta": "0:00:00.008033", "end": "2019-01-29 05:30:11.312959", "rc": 0, "start": "2019-01-29 05:30:11.304926", "stderr": "", "stderr_lines": [], "stdout": "よくないね", "stdout_lines": ["よくないね"]}

PLAY RECAP **********************************************************************************************************
ec2-18-179-38-201.ap-northeast-1.compute.amazonaws.com : ok=2    changed=1    unreachable=0    failed=0   

おわりに

つかいみちがあるのかないかでいったらわからないっす。

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)

CloudFormationでDependencyViolationが出たときの対処法

CloudFormationでもう使わないスタックを削除しようとしたらこんなかんじのエラーがでて、セキュリティグループが削除できなかった。

resource sg-XXXXXXXX has a dependent object (Service: AmazonEC2; Status Code: 400; DependencyViolation; Request ID: XXXXXXXXXX)

原因としてはCloudFormationで作成したセキュリティグループを手動で他のリソースにアタッチしたりすると発生する可能性がある。
そのリソースと依存関係になって削除できなくなっちゃたりとか。

消せないセキュリティグループをデタッチしてあげればこのエラーも解消される。

AWSによるサーバーレスアーキテクチャ

AWSによるサーバーレスアーキテクチャ

VagrantでDockerホスト(Docker入りCentOS)を作成する

概要

VagrantでDocker入りのCentOSを作成してみたいと思います。
なんかWindows環境でDockerつかうのがめんどくさくなったのでLinux動かしてその上で動かしたくなった。

Vagrantfile

こんなかんじ。
まあshellでいろいろ書いてあげているだけだけれど。

おわりに

WindowsでDockerつかうのがめんどくさいねん。

Dockerによるアプリケーション開発環境構築ガイド

Dockerによるアプリケーション開発環境構築ガイド

Monosnapのアイコンを表示させたりさせなかったりする方法

Monosnapのアイコンを出たり入ったりさせる方法です。
なんて表現を使ったらいいかわからなかったけどこれをデスクトップ上に表示させたりさせなかったりしたい。

f:id:kabegiwakun:20190218223013p:plain

Alt+Ctrl+Fで表示させたりさせなかったりできるよ。



おわり。

CodePipelineでGitHub上のコードをS3にデプロイする

概要

CodePipelineを利用してGitHub上のコードをS3にデプロイしてみたいと思います。

やりたいことはだいたい以下のようなかんじ。
f:id:kabegiwakun:20190215132001p:plain

手順

こんなかんじでできます。

マネジメントコンソールのCodePipelineから「パイプラインの作成」を選択します。
f:id:kabegiwakun:20190216161541p:plain

適当にパイプライン名をつけてあげて「次へ」を選択します。 f:id:kabegiwakun:20190216161713p:plain

ソースプロバイダをGitHubにし、「GitHubに接続」します。
f:id:kabegiwakun:20190216161925p:plain

新たにウインドウが立ち上がるので「Authorize aws-codesuite」を選択してAWSとGitHubを接続してあげます。

f:id:kabegiwakun:20190216162101p:plain

デプロイしたいリポジトリとブランチをえらんで「次へ」を選択します。
f:id:kabegiwakun:20190216162253p:plain

今回はビルドは行わないのでスキップします。
「ビルドステージのスキップ」を選択します。スキップしますか?みたいな確認メッセージが出ますが、かまわずスキップします。
f:id:kabegiwakun:20190216162356p:plain

デプロイプロバイダにS3を選択し、デプロイしたいバケットを選びます。
また、「デプロイする前にファイルを展開する」にチェックを入れておきます。これにチェックをしておかないと、リポジトリの中身がzip圧縮されてS3にデプロイされます。
えらんだら「次へ」を選択します。
f:id:kabegiwakun:20190216162623p:plain

内容に間違いがないことを確認して「パイプラインを作成」します。
f:id:kabegiwakun:20190216162832p:plain

作成が完了すると自動でデプロイが開始されます。
GitHubからS3にデプロイが行われたようです。
以後、このリポジトリにPushされるたびに自動でS3にデプロイしてくれます。
f:id:kabegiwakun:20190216163325p:plain

S3を見に行くと、デプロイされていることがわかります。
f:id:kabegiwakun:20190216163516p:plain

ちなみにつかったリポジトリはこれ。

GitHub - takakabe/blog_python

おわりに

べんりよねー

DevOps導入指南 Infrastructure as Codeでチーム開発・サービス運用を効率化する (DEV Engineer’s Books)

DevOps導入指南 Infrastructure as Codeでチーム開発・サービス運用を効率化する (DEV Engineer’s Books)

  • 作者: 河村聖悟,北野太郎,中山貴尋,日下部貴章,株式会社リクルートテクノロジーズ
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/10/14
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

CloudFormationでIAMロールアタッチしたEC2インスタンスを作成する

概要

CloudFormationを利用してIAMロールをアタッチした状態のEC2インスタンスを構築してみたいと思います。

template

CloudFormationのテンプレートはこんなかんじ。

ちょっとした説明

マネジメントコンソールをポチポチしているとなにも意識しませんが、EC2インスタンスに紐付けられるのはIAMロールではなく、インスタンスプロファイルです。

おわりに

たまにハマる。

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

  • 作者: ??部昭寛,宮?光平,菖蒲淳司,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2019/01/18
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

最近読んだ本とか見た映画とか漫画とか③

ここ1週間で読んだ本と映画とか漫画とか

よんだ。

フェルマーの最終定理

フェルマーの最終定理とはなんぞや?ということは一切書いてない。
数学の歴史物語的な

フェルマーの最終定理(新潮文庫)

フェルマーの最終定理(新潮文庫)

映画

マルホランド・ドライブ

よくわかんなかった。

マルホランド・ドライブ 4Kリストア版 [Blu-ray]

マルホランド・ドライブ 4Kリストア版 [Blu-ray]

バスターのバラード

よくわかんなかった。

www.netflix.com

ゲーム

クリアした。

奪われし玉座:ウィッチャーテイルズ

30時間くらい。
グウェントであってグウェントじゃない。
そんなかんじ。
おもしろかったす。
thewitcher.com



がんばり。

CentOS7にPython3のpipをインストールしてデフォルトバージョンも変更する

概要

Python3.6がインストールされているCentOS7の環境にPython3用のpipをインストールしてみたいと思います。

手順

こんなかんじの手順でできます。

pipをインストールする

以下コマンドを入力します。

$ sudo yum install -y python36-pip

デフォルトを設定する

以下コマンドを入力します。

$ sudo python -m ensurepip --upgrade

無事にできました!!!!!!

$ pip --version
pip 9.0.1 from /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages (python 3.6)

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

CentOS7にPython3をインストールしてデフォルトバージョンも変更する

概要

CentOS7の環境にPython3.6をインストールして、デフォルトで利用されるPythonも3.6のものに変更してみたいと思います。

手順

こんなかんじの手順でできます。

Python3.6をインストールする

以下コマンドを入力します。

$ sudo yum install rh-python36

デフォルトを設定する

以下コマンドを入力します。

$ scl enable rh-python36 bash

無事にできました!!!!!!

$ python --version
Python 3.6.3

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

Ansibleで実行失敗したときにretryファイルがでないようにする

Ansibleでエラーになったときにでる.retryファイルがなんかうざいなーとおもってきたので出ないように設定してみます。

ansible.cfgに以下を設定してあげます。

retry_files_enabled = False

こうすればでなくなります!!!!!!!


Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)

最近読んだ本とか見た映画とか漫画とか②

ここ一週間で消費した本とか映画とか漫画とか
ドキュメンタリーもあるよ

よんだやつ

AI vs. 教科書が読めない子どもたち

ぼくも教科書が読めない側のひとです。

AI vs. 教科書が読めない子どもたち

AI vs. 教科書が読めない子どもたち

映画

映画とか

パシフィック・リム/アップライジング

2クールのアニメを2時間にまとめた。
みたいなかんじだった。

新感染/ファイナル・エクスプレス

ベタな展開と伏線を全回収していくかんじ。
よかった。

ドキュメンタリー

さいきんはまっている。

FYRE: 夢に終わった史上最高のパーティー

大変だなーとおもった。
www.netflix.com

潜入! 世界の危険な刑務所

シーズン3みた。
ノルウェーの刑務所が快適そうだった。
www.netflix.com

世界の"現実"旅行

ようやくぜんぶみた。
さいごのアメリカのやついやだった。
www.netflix.com

汚れた真実

トランプ大統領あれだなー情報商材屋みたいなことしてんなーとおもった。
www.netflix.com

漫画

きほんてきにおふろでよむ。

アルスラーン戦記

完結したって聞いたので読んでみたら完結したのは原作の方だった。

アルスラーン戦記(1) (週刊少年マガジンコミックス)

アルスラーン戦記(1) (週刊少年マガジンコミックス)



なんだかんだで3連休ひまになってしまったのでいろいろみてしまった。

Cannot delete entity, must detach all policies firstの対処法

CloudFormation Stackを削除しようと思ったらこんなかんじのエラーがでてスタックが削除されなくなった。(DELETE_FAILEDになった)

のでその対処法です。

Cannot delete entity, must detach all policies first. (Service: AmazonIdentityManagement; Status Code: 409; Error Code: DeleteConflict; Request ID: d1eaf41d-2aa)

原因

CloudFormationのIAMロールの内容と、実際のIAMロールの内容がちがうときにこのエラーがでます。

CloudFormationで作成したあとにマネジメントコンソールで新たにIAMポリシーをアタッチするとか。

対処法

手作業で追加したであろうポリシーをマネジメントコンソールかなにかでデタッチしてあげる。
そうすればOK!!!!!!

おわりに

書いてあることそのままだけどね。

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

  • 作者: ??部昭寛,宮?光平,菖蒲淳司,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2019/01/18
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Ansibleでgoofysをインストールする

概要

AnsibleでgoofysをインストールするPlaybookを書いた。

playbook

こんなかんじ。

おわりに

epel-releaseとfuse,golangを分けたのはなんかそうしないとうまくいかなかったんだよね。

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)

Linuxでコマンド一撃で1GBのファイルを作成する

Linux環境で1GBとかそれ以上の大容量ファイルをコマンド一撃で作成してみたいと思います。

コマンド

こんなかんじでできます。

$ fallocate -l 1G wawawa.txt

確認してみるとこんなかんじ。

$ ls -lh 
total 1.0G
-rw-rw-r--. 1 vagrant vagrant 1.0G Feb  5 11:28 wawawa.txt

なんか転送速度とかはかるときとかにつかうとか?
ストレージをパンパンにしたいときにつかうとか?
いろいろあります。
ないかも。

覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54

覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54

CentOS7にgoofysをインストールしてS3をマウントしてみる

概要

CentOS7にS3をマウントできるツールであるgoofysをインストールして、S3バケットをマウントしてみたいと思います。

インストール手順

epelリポジトリを追加する

$ sudo yum install epel-release

fuseをインストールする

$ sudo yum install fuse

goをインストールする

$ sudo yum install golang

GitHubからgoofysをもってくる
(ちょっとじかんかかります)

$ go get github.com/kahing/goofys

goofysをインストールする
(ちょっとじかんかかります)

$ go install github.com/kahing/goofys

無事にgoofysがインストールできました!

$ ls -l ~/go/bin/goofys 
-rwxrwxr-x. 1 vagrant vagrant 15201906 Feb  5 12:00 /home/vagrant/go/bin/goofys

goofysでS3をマウントする

マウントする場所用にディレクトリをつくります。

$ mkdir kabegiwa-bucket

goofysでS3バケットをマウントします。
goofys バケット名 マウント先です。

$ ~/go/bin/goofys kabegiwa-bucket ./kabegiwa-bucket/

無事にマウントできました!!!

$ df -h | grep kabegiwa
kabegiwa-bucket  1.0P     0  1.0P   0% /home/vagrant/kabegiwa-bucket

バケットの中身をいじることもできます

$ ls -l kabegiwa-bucket/
total 1
-rw-r--r--. 1 vagrant vagrant 6 Feb  5 11:53 wawawa.txt

おわりに

べんりだよね。

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

  • 作者: ??部昭寛,宮?光平,菖蒲淳司,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2019/01/18
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る