Ansible シンボリックリンク作成

Ansibleでシンボリックリンクの作成はfileモジュールで行う。
state: linkがポイントである。

- name: インストール先にシンボリックリンクを張り替える
  file:
    src: /usr/java/jdk1.7.0
    dest: /usr/java/jdk
    state: link
カテゴリー: Ansible | タグ: , , | コメントする

Let’s note CF-N9 HDD交換 ねじ二本はずすだけでOK

CF-S8からS10までとN8からN10まで共通のHDD交換手法

以前CF-S10でHDDをSSDに交換したが、今度は容量が大きいHDDに交換してみた。

バッテリーをはずして、二本のねじをはずせばふたがとれる。

HDDは9mmが入るので、SSDの場合でも9mmでOK。
今主流になりつつある、薄型の7mmでなくてもよい。

前回はわざわざスペーサーを買ってきて9mmにして、取り付けたのだが、中のスポンジが邪魔になるので7mmのままでも大丈夫。
また9mm厚さのHDDの場合、スポンジが邪魔になるので使用済みカード(磁気カード)などを使って奥に差し込むようにするとスムーズに行く。

カテゴリー: Let's note | タグ: , | コメントする

lftpでproxyを使う

lftpでproxyを使うときの設定。

システムの設定を使うのかわからないが、以下の設定で確実にproxyを利用するようになる。localhostにはsquidがデフォルトポートでインストールされているとする。

$ lftp
lftp :~> set ftp:proxy http://localhost:3128/
lftp :~>  open ftp.riken.jp
lftp ftp.riken.jp:~> dir
カテゴリー: Linux | タグ: , | コメントする

Ansible AWSにインストールするならyumよりpip install ansibleの方が楽

EPELリポジトリでインストールしたansibleは、AmazonLinuxの最近のバージョンだと動かなくなっている。

sudo yum install ansible --enablerepo=epel

実行するとエラーとなってしまう。原因はpythonのバージョンが2.7になったからということでならばpipで入れてしまうのだ。

sudo pip-2.7 install ansible

今度はエラーなく無事終了!

カテゴリー: Ansible | コメントする

AWS 無料枠の利用のつもりが1円課金された

金額自体は大したことがないのだが、インスタンスの起動はこまめに停止して、760時間以内に収めたし、インスタンスの数は3つまでに抑えて、増えそうなときはTerminateしたつもりだが、以下の項目で課金がされていた。

$0.095 per GB-Month of snapshot data stored – Asia Pacific (Tokyo)

たしかにSnapshotを一回取ったような気がした。これで課金されたわけか!

しかし一円でクレジットカードに請求あげた場合に、カード会社に払う手数料はどうなるんだろうか!

カテゴリー: AWS | コメントする

Ansible roleにtagを付与する

通常であれば条件分岐を使ったほうが良いのかもしれないが、長いAnsibleJOBを細かくテストするときにはtagを付けるのが便利なのでtagを付けている。

これをroleレベルで付与するときの記載方法は以下の通り

  roles:
    - { role: web/launch, tags: create_web }
    - { role: db/launch, tags: create_db,when: "create_db is defined" }
    - { role: route53/launch, tags: [ 'create_web','create_db'] }

複数つける場合tags:tag1,tag2とやるとエラーにもならないが、tag1しか有効とならないので[‘tag1’, ‘tag2’]のように記載する!

実行時は–tagsに指定のタグをつける。

カテゴリー: Ansible | タグ: , , | コメントする

Ansible includeに条件を付ける

AnsibleでRoleに実行条件を付けると同様にincludeでも条件を付けることができる。
通常はroleの条件をメインに使うべきだが、一つのRole内で条件分岐が多くなってきたら、ファイルを分けてしまうのが良いだろう。

- include: web01.yml
  when: server == "01"
- include: web02.yml
  when: server == "02"
カテゴリー: Ansible | コメントする

Apacheをフォワードプロキシとして使う

アクセス制限も何もかけていないのでインターネットにそのままさらしてはいけないが、
下記の設定で行ける。

<IfModule mod_proxy.c>
ProxyRequests On
ProxyVia On
<IfModule mod_disk_cache.c>
   CacheEnable disk /
   CacheRoot "/var/cache/mod_proxy"
</IfModule>
</IfModule>

wgetでproxyを指定して実行してみる

export http_proxy="http://localhost/"
wget http://blog.rutake.com/

/var/cache/mod_proxyにファイルができていればproxyが作動している証拠!

カテゴリー: Apache | コメントする

Ansible AmazonLinuxにインストールするならpipでinstall

AmazonLinux上でAnsibleを実行させようとEPELのyum install ansible –enablerepo=epelでインストールしたものを実行するとansibleが見つからないなどの意味がわからないエラーが出てしまった。

しゃーないんでpip経由でインストールしたら問題なく動いた。

こういうこともあるもんだ!

カテゴリー: Ansible | コメントする

Ansible roleに条件を付ける OS毎に分ける例

公式ドキュメントにあるが、日本語でroleの条件指定の情報が少なかったので記載。

特定のOSや環境だけタスクを実施したい時はタスクごとにwhen:を使えばよいのだが、これをrole単位で適用したい場合はどうするか?
答え:roleにwhen条件を入れればよい。

- hosts: localhost
  connection: local
  roles:
    - common
    - { role: debian, when: "ansible_os_family == 'Debian'" }
    - { role: redhat, when: "ansible_os_family == 'RedHat'" }

上記でDebianにて実行時にはdebianロールが、ReaHatで実行時にはredhatロールが実行される。

カテゴリー: Ansible | タグ: , | コメントする