かべぎわブログ

ブログです

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
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

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

CentOS7の環境にGo言語をインストールしてあげます。

手順

まず、epelリポジトリを追加してあげます。

sudo yum install epel-release

そのあと、yum installすることでインストールできます。

sudo yum install golang

インストールできました!!!

$ go version
go version go1.11.4 linux/amd64



スターティングGo言語 (CodeZine BOOKS)

スターティングGo言語 (CodeZine BOOKS)

Vagrantで構築したサーバにRLoginでssh接続する

概要

Vagrantで構築したサーバにローカルのRLoginからssh接続してみたいと思います。

環境

  • Windows 10 Home
  • RLogin 2.24.0

手順

こんなかんじです。

Vagrantの設定

vagrant initして

vagrant init

作成されたVagrantfileを編集してプライベートIPアドレスが設定されるよう記載してあげます。
具体的には以下のようなかんじのものを追加します。
IPアドレスはてきとーなものに。

config.vm.network "private_network", ip: "192.168.56.201"

起動してあげます。

vagrant up

RLoginの設定

RLoginを起動して新規を選択します。

f:id:kabegiwakun:20190202165010p:plain

赤枠の部分をよしなに埋めてあげます。
f:id:kabegiwakun:20190202165409p:plain

SSH認証鍵を選択して秘密鍵を選びます。
f:id:kabegiwakun:20190202165508p:plain

場所がわからない場合は以下のコマンドをターミナルから実行します。
出力されたうちのIdentiryFileのPATHのやつがそれです。

vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/kabegiwa/vagrant/centos7/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

設定し終わったらOK
f:id:kabegiwakun:20190202165923p:plain

選択してOKでVagrantで構築したサーバにsshログインできるはずです!!!!
f:id:kabegiwakun:20190202170012p:plain

おわりに

べんりっちゃべんり

実践 Vagrant

実践 Vagrant

Vagrantでプライベートアドレスを指定する方法

Vagrantfileに以下のように設定してあげることでプライベートアドレスを指定することができます。

config.vm.network "private_network", ip: "192.168.56.201"

実践 Vagrant

実践 Vagrant

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

ここ2週間くらいで消費したやつ。

よんだやつ

The DevOps 逆転だ!

DevOpsを導入する小説みたいなやつ。
おもしろいかおもしろくないかでいうとわからない。

The DevOps 逆転だ!究極の継続的デリバリー

The DevOps 逆転だ!究極の継続的デリバリー

the four GAFA 四騎士が創り変えた世界

GAFAすごいなとおもった。

the four GAFA 四騎士が創り変えた世界

the four GAFA 四騎士が創り変えた世界

映画

ファウンダー ハンバーガー帝国のヒミツ

初期のマクドナルドおいしそうだなとおもった。

グレイテスト・ショーマン

なんだかんだミュージカル的なやつすきなんだなとおもった。

ムーンライト

おもしろいかおもしろくないかでいうとわからない。

ハードコア

ゲームみたいだった。

ブラックミラーバンダースナッチ

全ルートみた。
www.netflix.com

漫画

グラップラー刃牙

トーナメントよい。

グラップラー刃牙 コミック 全42巻完結セット (少年チャンピオン・コミックス)

グラップラー刃牙 コミック 全42巻完結セット (少年チャンピオン・コミックス)

バキ

結局トーナメント

バキ―New grappler Baki 全31巻完結セット (少年チャンピオンコミックス)

バキ―New grappler Baki 全31巻完結セット (少年チャンピオンコミックス)

範馬刃牙

決着した。

範馬刃牙 コミック 全37巻 完結セット (少年チャンピオン・コミックス)

範馬刃牙 コミック 全37巻 完結セット (少年チャンピオン・コミックス)





しごとしなきゃなとおもった。

Intel Corei7とかのシールを買ってしまった

なんの気の迷いかわからないんだけれどもこんなかんじのシールを買ってしまった。

f:id:kabegiwakun:20190131212408p:plain Amazonで売ってた。

Corei3とか

f:id:kabegiwakun:20190131212503p:plain
f:id:kabegiwakun:20190131212511p:plain

Corei5とか

f:id:kabegiwakun:20190131212637p:plain f:id:kabegiwakun:20190131212552p:plain
f:id:kabegiwakun:20190131212556p:plain

Corei7とか

f:id:kabegiwakun:20190131212700p:plain
f:id:kabegiwakun:20190131212705p:plain
f:id:kabegiwakun:20190131212711p:plain

Xeonとか

f:id:kabegiwakun:20190131212830p:plain

はいってるとか

f:id:kabegiwakun:20190131212909p:plain

裏面もちゃんとしてる

f:id:kabegiwakun:20190131212942p:plain

使用例

Macに貼ってなんかこうなんとも言えない気分をあじわってあそぶことができる。
f:id:kabegiwakun:20190131213032p:plain

GCPのCloud Source Repositoriesをはじめてつかってpushするまで

Google CloudのGitリポジトリであるCloud Source Repositoriesをつかいはじめてローカルからpushするまでやってみたいと思います。

手順

リポジトリの作成

GCPのコンソールからCloud Source Repositoryをえらんで、「開始」を選択します。
f:id:kabegiwakun:20190131214357p:plain

「リポジトリを作成」を選択します。
f:id:kabegiwakun:20190131214920p:plain

今回は空のリポジトリを作成してみたいと思います。
f:id:kabegiwakun:20190131215012p:plain

適当にリポジトリ名をつけて、このリポジトリを利用したいGCPのプロジェクトを選択して作成です。
f:id:kabegiwakun:20190131215316p:plain

これで空のリポジトリの完成です!!!!!!!!

ローカルに作成したリポジトリのクローンを作成

まだ初期設定をいろいろしていない場合はgcloud initでいろいろ設定しておきます。

$ gcloud init

ローカルにさきほど作成したリポジトリのクローンを作成します。
articulate-wawawaの部分は自分のプロジェクトに適宜置き換えてあげてください。

$ gcloud source repos clone kabegiwa-repository --project=articulate-wawawa

Cloning into '/home/kabegiwa/kabegiwa-repository'...
warning: You appear to have cloned an empty repository.
Project [articulate-wawawa] repository [kabegiwa-repository] was cloned to [/home/kabegiwa/kabegiwa-repository].

クローンができあがりました!!!!!!

$ ls -la kabegiwa-repository/
total 0
drwxrwxrwx 1 kabegiwa kabegiwa 4096 Jan 31 22:00 .
drwxr-xr-x 1 kabegiwa kabegiwa 4096 Jan 31 22:00 ..
drwxrwxrwx 1 kabegiwa kabegiwa 4096 Jan 31 22:00 .git

コードをCommitしてPushする

なにか適当なコードをCommitしてPushしてみます。

てきとうにファイルをつくって

$ echo 'wawawa' > ./wawawa.txt

addして

$ git add wawawa.txt

commitして

$ git commit -m 'first commit'

[master (root-commit) cd92ae8] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 wawawa.txt

pushします。

$ git push origin master

Counting objects: 3, done.
Writing objects: 100% (3/3), 212 bytes | 212.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://source.developers.google.com/p/articulate-wawawa/r/kabegiwa-repository
 * [new branch]      master -> master

ブラウザ上のCloud Source Repositortyを確認してみると無事にCommitされていることがわかります。
f:id:kabegiwakun:20190131220930p:plain

おわりに

ここに格納することでGCP上のいろいろなサービスと連携させるのが簡単になってすごくべんり

Google Cloud Platform エンタープライズ設計ガイド

Google Cloud Platform エンタープライズ設計ガイド

CloudFormationでセキュリティグループとそれをアタッチしたインスタンスをつくる

こんなかんじでつくれます。

セキュリティグループの指定のところで!RefをつかってあげるとそのリソースID(sg-xxxxxxみたいなやつ)がわたされます。

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

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

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

CloudFormationでセキュリティグループをつくる

こんなかんじでつくれる。

SecurityGroupIngressがインバウンドでSecurityGroupEgressがアウトバウンド

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

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

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

AWSCLIとCloudtrailでインスタンスを停止した犯人をさがす

概要

AWSCLIでCloudtrailを操作してインスタンスを停止した犯人をコマンド一発でさがしだしてみたいとおもいます。

コマンド

コマンドはこんなかんじ。

$ aws cloudtrail lookup-events --start-time 2019-01-23T17:00:02+0900 --end-time 2019-01-24T17:1
1:02+0900 --query 'Events[?EventName==`StopInstances`].{user:Username,event:EventName}'

--start-time--end-timeにさがす時間帯をいれてあげます。
結構時間がかかるので時間帯はしぼったほうがいいです。

EventNameをさがしたいイベントにかえてあげるとインスタンスを停止した犯人の他にも、削除したひとをさがしだすこともできます。

ちなみに

こんなかんじのコマンドで--start-time--end-timeに利用できるフォーマットで時間帯を取得することができます。

$ date -Iseconds --date '1days ago'
2019-01-28T07:02:32+09:00

おわりに

罪を憎んで人を憎まず

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

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

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

AnsibleでCentOSにRuby2.6.0ともろもろ一式をインストールする

概要

Ansibleでほとんどなにもしていない生のCentOSにRuby2.6.0とrbenvとかもろもろ一式をインストールするplaybookを書いてみました。

playbook

shellのところだけ~/でホームディレクトリが呼び出されないのでがっつりかいているよ。

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

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