いろいろ備忘録

雑記です。

kintoneに登録した内容でCloudFormationをキックするPlaybook

このセミナーに影響を受けています。

20171006_lightwell_AnsibleSeminer.pdf - Google ドライブ

 

簡単なPlaybookはこちら。

VPC名を必要とするCFnテンプレートと、kintoneから未作成のレコード一覧を検索して順番に作成するPlaybookです。

続きを読む

専用線のなかみ 現場調査編

今回は専用線構築の最初の手順。

 

前回で述べたように、専用線のサービスは拠点にメディアコンバータ(MC)というものを置くケースが多い。そうなると、

MCをどこに置くか?そこまでの光ファイバの配線はどんな経路?

配線の長さはどれくらい?MCのコンセントはどこに挿す?

などなど色々調べる事がある。

これを調べるための作業を"現地調査"っていう。

 

現地調査の手順はこんな感じ。

続きを読む

専用線のなかみ 概要

備忘録として書きます。

素人なので間違いがあったら指摘くださるとありがたいです。

 

専用線とは、文字通り専用の回線であり、通信の帯域幅や可用性、セキュリティの確保などのために企業の本社-支社間やDCを繋ぐ。

本社、支社、DCなどの終点は「拠点」って呼ばれたりする。

 

続きを読む

ec2の鍵ペア生成→インスタンス生成playbook

なぜかcopyモジュールだけうまく動かない

どうしたもんか

 

- name: make a keypair

 hosts: localhost

 gather_facts: False

 become: yes

 tasks:

   - name: create mykey

     ec2_key: name={{keypair_name}} region=ap-northeast-1

     register: keypair

 

   - name: create target dir.

     file: path=/home/ec2-user/auth state=directory

 

   - name: write the key to a file

     copy:

       dest: "/home/ec2-user/auth/{{keypair_name}}.pem"

       content: "{{ keypair.key.private_key }}"

     when: keypair.changed

 

   - name: dump var

     debug: var=keypair

 

   - name: start the instances

     ec2:

       region: "ap-northeast-1"

       image: "ami-08847abae18baa040"

       instance_type: "t2.micro"

       key_name: "{{keypair_name}}"

       group: [launch-wizard-1]

       instance_tags: { Name: ansiblebook, type: web, env: production }

AWXをEC2のLinux2 AMIにインストールする

sudo yum update -y
sudo yum install -y git
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum --enablerepo=epel install ansible
curl -kL https://bootstrap.pypa.io/get-pip.py | sudo python
sudo pip install docker-py
git clone https://github.com/ansible/awx
cd awx/installer/
(ここで、ローカルのplaybookを使う場合はinventoryのproject_data_dir のコメントアウトを外す)
sudo ansible-playbook -i inventory install.yml

 

以下はPlaybookがローカルにある場合

sudo mkdir -p /var/lib/awx/projects/project_a
cd /var/lib/awx/projects/project_a
touch playbook_1.yml

AWS CLIでマーケットプレイスの最新のAMI IDを取得する

Finding an AMI ID Using AWS CLI in AWS Marketplace | hosty

上記のサイトが参考になりました。

ただ、そちらではProduct Codeなるものを使ってますが、それの取得方法がわからなかったので、'Name=name,Values=*amazon*としました。

 

aws ec2 describe-images --owners 'aws-marketplace' --filters 'Name=name,Values=*任意*' --query 'sort_by(Images, &CreationDate)[-1].[ImageId]'
[
"ami-任意のID"
]

コンソール接続をPythonでやる

コンソール接続はシリアル通信なのでpyserialが使えます。

https://pythonhosted.org/pyserial/

 

コンソール接続の見本ですが、このURLには、Ciscoルータにヘルプコマンドを打つスクリプトがあります。Windowsでも実行できました。

https://www.codeproject.com/Articles/871546/Use-Python-to-Interact-with-Cisco-Device-Using-Pys

 

コマンドラインの出力が終了したとみなすために...

・イベントログのコンソール出力を無効にしておく

・一定時間出力がない

・左のアレ(CiscoならSwitch#)が読み取られている

正規表現にマッチさせる

対話的なコマンドについても注意が必要そうです。