質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • AWS(Amazon Web Services)

    2166questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • Ansible

    159questions

    Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Ansibleで作成したwin2012のEC2へ接続したい(win_pingエラーになる)

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 463

th0167

score 1

皆様のお知恵をお借りしたいと思います。

VPC内にAnsibleサーバを構築、playbookでWin2012r2のec2を作成しましたが、そのWin2012 サーバに接続できず、困っております。

ansible 2.6.1
Ansibleインスタンス:Centos7.5
管理対象インスタンス:Win2012R2
→上記2インスタンスのセキュリティグループはインバウンドに、
ポート22,80,443,3389,5985,5986を0.0.0.0/0を開けてます。

$ cat hosts
localhost ansible_host=127.0.0.1 ansible_connection=local

[windows]
11.222.333.444

[windows:vars]
ansible_user=Administrator
ansible_password=xxxxxxxxxxxxx
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

$ sudo ansible windows -m win_ping -vvvvv
ansible 2.6.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
Using /etc/ansible/ansible.cfg as config file
setting up inventory plugins
Set default localhost to localhost
Parsed /etc/ansible/hosts inventory source with ini plugin
Loading callback plugin minimal of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/minimal.pyc
META: ran handlers
Using module file /usr/lib/python2.7/site-packages/ansible/modules/windows/win_ping.ps1
<11.222.333.444> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT 5986 TO 11.222.333.444
checking if winrm_host 11.222.333.444 is an IPv6 address
<11.222.333.444> WINRM CONNECT: transport=ssl endpoint=https://11.222.333.444:5986/wsman
<11.222.333.444> WINRM CONNECTION ERROR: the specified credentials were rejected by the server
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ansible/plugins/connection/winrm.py", line 387, in _winrm_connect
    self.shell_id = protocol.open_shell(codepage=65001)  # UTF-8
  File "/usr/lib/python2.7/site-packages/winrm/protocol.py", line 157, in open_shell
    res = self.send_message(xmltodict.unparse(req))
  File "/usr/lib/python2.7/site-packages/winrm/protocol.py", line 234, in send_message
    resp = self.transport.send_message(message)
  File "/usr/lib/python2.7/site-packages/winrm/transport.py", line 256, in send_message
    response = self._send_message_request(prepared_request, message)
  File "/usr/lib/python2.7/site-packages/winrm/transport.py", line 266, in _send_message_request
    raise InvalidCredentialsError("the specified credentials were rejected by the server")
InvalidCredentialsError: the specified credentials were rejected by the server

11.222.333.444 | UNREACHABLE! => {
    "changed": false,
    "msg": "ssl: the specified credentials were rejected by the server",
    "unreachable": true
}


.
EC2を作成したplaybookは ↓ です。

$ cat ec2_create_win2012r2.yml
---
- name: Create an Windows 2012 SV with winrm on Amazon EC2
  hosts: localhost
  vars:
    ec2_ami_id: ami-011270ec
    ec2_region: ap-northeast-1
    ec2_instance_type: t2.micro
    ec2_key_name: xxxx-test
    ec2_subnet_id: subnet-xxxxxxxx
    ec2_role_name: xxxx-ec2-role
    ec2_secgrp_name: xxxx-SeqGrp

  tasks:
    - name: ec2 instance create
      ec2:
        image: "{{ec2_ami_id}}"
        region: "{{ec2_region}}"
        instance_type: "{{ec2_instance_type}}"
        key_name: "{{ec2_key_name}}"
        group: "{{ec2_secgrp_name}}"
        exact_count: 1
        count_tag: { Name: winrm }
        vpc_subnet_id: "{{ec2_subnet_id}}"
        instance_profile_name: "{{ec2_role_name}}"
        assign_public_ip: yes
        volumes:
         - device_name: /dev/xvda
           volume_type: gp2
           volume_size: 30
           delete_on_termination: true
        instance_tags:
          Name: tkhs-win2012r2-test
          case: ansible_test
        termination_protection: yes
        ebs_optimized: false


作成後、Win2012にリモートデスクトップログインして ↓ のWinRM設定を実施しています。

  1. 「ConfigureRemotingForAnsible.ps1」のDL→実行
  2. ネットワークプロファイル設定「NetworkCategory  : Private」に変更
  3. WinRM有効化 PS > winrm qc を実行
  4. Ansible側でpywinrmインストール
# yum install python-pip
# pip install pywinrm


上記まで実施しましたが「$ sudo ansible windows -m win_ping -vvvvv」でエラーになってしまいました。
このエラーを解消させたいです。

足りない情報は追記していきますので、よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

win_ping 通りました。
hostsファイルの記述を下記のようにしたところ、エラーがなくなりました。

$ cat hosts
localhost ansible_host=127.0.0.1 ansible_connection=local

[windows]
11.222.333.444 ansible_ssh_host=11.222.333.444 ansible_ssh_user=Administrator ansible_ssh_pass=xxxxxxxxx ansible_ssh_port=5985 ansible_connection=winrm


色々な方法を試した為、正直これがキッカケかどうかは怪しいのですが…
一旦この質問はクローズ致します。

お考え下さった皆様ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

AWSあるあるですが、セキュリティグループで必要なルート/ポートを開放してるでしょうか

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/23 09:06

    ありがとうございます。
    Ansible側と管理対象の2インスタンスに割り当てているセキュリティグループは、インバウンドにポート22,80,443,3389,5985,5986を0.0.0.0/0を開けてます。
    (質問にも追記しました)
    セキュリティグループはこれで足りている認識なのですが…

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • AWS(Amazon Web Services)

    2166questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • Ansible

    159questions

    Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。