AmazonLinuxにAnsibleをインストール

表題の通り。前に書いたような気もするのだが、検索してみるとCentOSしか書いていなかったので書いてしまう。

■ 環境

  • Ansible 2.2.1.0
  • Amazon Linux

■ version

ローカルのMacにおけるansibleのversionは下記の通りである。Homebrewでインストールしている。

$ ansible --version
ansible 2.2.1.0
  config file =
  configured module search path = Default w/o overrides
$

できればこのversionにAmazonLinuxでも合わせたい。

■ Amazon Linux

とりあえず検索。

$ sudo yum search ansible
読み込んだプラグイン:priorities, update-motd, upgrade-helper
警告: 一致するものが見つかりません: ansible
No matches found
$

だそうである。ではEPELレポジトリで確認する。

$ sudo yum --enablerepo=epel search ansible
読み込んだプラグイン:priorities, update-motd, upgrade-helper
981 packages excluded due to repository priority protections
================== N/S matched: ansible ===========================
ansible-inventory-grapher.noarch : Creates graphs representing ansible inventory
ansible-lint.noarch : Best practices checker for Ansible
python2-ansible-tower-cli.noarch : A CLI tool for Ansible Tower
ansible.noarch : SSH-based configuration management, deployment, and task execution system
ansible1.9.noarch : SSH-based configuration management, deployment, and task execution system

  Name and summary matches only, use "search all" for everything.
$

EPELレポジトリには存在するようだ。versionを確認する。

$ sudo yum --enablerepo=epel info ansible
読み込んだプラグイン:priorities, update-motd, upgrade-helper
981 packages excluded due to repository priority protections
インストール済みパッケージ
名前           : ansible
アーキテクチャー   : noarch
バージョン       : 2.2.1.0
リリース         : 1.el6
容量           : 22 M
リポジトリー      : installed
提供元リポジトリー : epel
要約           : SSH-based configuration management, deployment, and task execution system
URL           : http://ansible.com
ライセンス      : GPLv3+
説明          :
             : Ansible is a radically simple model-driven configuration management,
             : multi-node deployment, and remote task execution system. Ansible works
             : over SSH and does not require any software or daemons to be installed
             : on remote nodes. Extension modules can be written in any language and
            : are transferred to managed machines automatically.

$

versionもMacに入れていたものと変わらない。これをインストールする。

$ sudo yum --enablerepo=epel install ansible

インストールできた。

$ ansible --version
ansible 2.2.1.0
  config file = 
  configured module search path = Default w/o overrides
$

以上。

■ 関連

ELBのヘルスチェックログを出力しない

表題の通り。AWSのELBからのヘルスチェックのログが邪魔なので非表示にという設定メモ。

■ 環境

  • nginx
  • ELB
  • AWS

■ 削除したいログ

下記のようなログである。

10.0.1.154 - - [16/Nov/2016:19:04:21 +0900] "GET /health.txt HTTP/1.1" 200 3 "-" "ELB-HealthChecker/1.0"
10.0.2.20 - - [16/Nov/2016:19:04:21 +0900] "GET /health.txt HTTP/1.1" 200 3 "-" "ELB-HealthChecker/1.0"

■ nginx.conf

該当の設定ファイル内、”server”ディレクティブの所に下記を追記する。

  location /health.txt {
    access_log off;
    break
  }

これでログに出力されなくなった。

以上。

Apacheの再起動に失敗

表題の通り。下記のエラーが出ていて起動ができない。

[Thu Oct 06 19:13:27 2012] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "ip-10-0-0-32"

■ 環境

  • AmazonLinux

■ /etc/hosts

どうやら原因は`hostname`と`/etc/hosts`が一致しないことのようである。

$ hostname
ip-10-0-0-32
$
$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain
$

ip-10-0-0-32“を`/etc/hosts`に追加する。追加した結果は下記の通りである。

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain ip-10-0-0-32
$

これでApacheも正常に起動することができた。

以上。

リージョンの一覧

AWSにおいて表題の通り。リージョンの一覧を取得したい。

■ 環境

  • awscli 1.10.15
  • Mac OSX El Capitan

■ describe-regions

下記で一覧が取得できそうである。

$ aws ec2 describe-regions
{
    "Regions": [
        {
            "Endpoint": "ec2.eu-west-1.amazonaws.com",
            "RegionName": "eu-west-1"
        },
        {
            "Endpoint": "ec2.ap-southeast-1.amazonaws.com",
            "RegionName": "ap-southeast-1"
        },
        {
            "Endpoint": "ec2.ap-southeast-2.amazonaws.com",
            "RegionName": "ap-southeast-2"
        },
        {
            "Endpoint": "ec2.eu-central-1.amazonaws.com",
            "RegionName": "eu-central-1"
        },
        {
            "Endpoint": "ec2.ap-northeast-2.amazonaws.com",
            "RegionName": "ap-northeast-2"
        },
        {
            "Endpoint": "ec2.ap-northeast-1.amazonaws.com",
            "RegionName": "ap-northeast-1"
        },
        {
            "Endpoint": "ec2.us-east-1.amazonaws.com",
            "RegionName": "us-east-1"
        },
        {
            "Endpoint": "ec2.sa-east-1.amazonaws.com",
            "RegionName": "sa-east-1"
        },
        {
            "Endpoint": "ec2.us-west-1.amazonaws.com",
            "RegionName": "us-west-1"
        },
        {
            "Endpoint": "ec2.us-west-2.amazonaws.com",
            "RegionName": "us-west-2"
        }
    ]
}
$

以上。

EC2で使用可能なインスタンスタイプ

表題の件について、どうやって調べるのが良いのだろうか?と悩んだ。とりあえずこれが良いのかな?と思えるものをメモしておく。

■ 環境

  • Mac OSX El Capitan
  • awscli 1.10.8

■ インスタンスタイプ

ほとんどが起動時に指定し、たまに後からインスタンスを再起動をしてインスタンスタイプを変更したりするが、次々に新しいインスタンスタイプが出てきたりして何を指定すれば良いのか、何が指定できるのか、というのがわからなくなる。指定できるインスタンスタイプの一覧をどこからか取得したいのだが、どこで取得できるのか。いろいろ試してみたのだがマニュアルを参照するのが良いのかな、という結論に達した。タイプの詳細はWEBページを見る。

`aws ec2 run-instances`のヘルプに一覧が書かれていた。

$ aws ec2 run-instances help

この中の`–instance-type`のオプションに書かれている。現状指定できるのは下記のようである。`–instance-type`のオプションがある他のサブコマンドにも同じように記載があるのであろう。

  • t1.micro
  • m1.small
  • m1.medium
  • m1.large
  • m1.xlarge
  • m3.medium
  • m3.large
  • m3.xlarge
  • m3.2xlarge
  • m4.large
  • m4.xlarge
  • m4.2xlarge
  • m4.4xlarge
  • m4.10xlarge
  • t2.nano
  • t2.micro
  • t2.small
  • t2.medium
  • t2.large
  • m2.xlarge
  • m2.2xlarge
  • m2.4xlarge
  • cr1.8xlarge
  • i2.xlarge
  • i2.2xlarge
  • i2.4xlarge
  • i2.8xlarge
  • hi1.4xlarge
  • hs1.8xlarge
  • c1.medium
  • c1.xlarge
  • c3.large
  • c3.xlarge
  • c3.2xlarge
  • c3.4xlarge
  • c3.8xlarge
  • c4.large
  • c4.xlarge
  • c4.2xlarge
  • c4.4xlarge
  • c4.8xlarge
  • cc1.4xlarge
  • cc2.8xlarge
  • g2.2xlarge
  • cg1.4xlarge
  • r3.large
  • r3.xlarge
  • r3.2xlarge
  • r3.4xlarge
  • r3.8xlarge
  • d2.xlarge
  • d2.2xlarge
  • d2.4xlarge
  • d2.8xlarge

随分とあるようだ。デフォルトは”m1.small“のようである。

以上。