Anableを使用したスクリプトの実行方法


複数のサーバで同じスクリプトを実行する必要がある場合は、Anableを使用して操作をシンプル化する方法について説明します.
  • インストール不可
    apt installで
  • を簡単にインストール
    sudo apt install ansible

  • アクセスするサーバ情報をhostsファイルのipまたはhostに登録する


  • ホストサーバにアクセスするための設定
    3-1. 公開鍵の作成
    次のコマンドを使用して公開鍵を作成します./sshパスで生成されたid rsa値にアクセスするホストサーバにログインする認証鍵
  • ssh-keygen -t rsa

    3-2. 秘密鍵の指定
    AWSのEC 2アクセスにパスワードを設定する場合がありますが、セキュリティ面ではpemキーが一般的に使用されます.
    この場合、anslible ssh private key fileを使用してパスを指定できます.
    [testsvr:vars]
    ansible_ssh_private_key_file = ~/test.pem
    
    [testsvr]
    10.10.6.144
  • シナリオの作成
    ローカルに存在するスクリプトファイルをリモートサーバにインポートして実行するplaybookをyamlファイル
  • として作成
    --- 
    - name: "Script Start" 
      hosts: all
      become: yes 
      become_method: sudo 
      vars: 
         local_path: /home/ubuntu
         remote_path: /home/ubuntu
      tasks: 
        - name: "Script Send" 
          copy: 
            src: "{{ local_path }}/script.sh" 
            dest: "{{ remote_path }}/script.sh" 
            owner: ubuntu
            group: ubuntu
            mode: '0755' 
        - name: "Script run" 
          ignore_errors: yes 
          shell: 
            cmd: | 
              {{ remote_path }}/script.sh 
    実行
  • playbook
  • ansible-playbook -i <hosts 경로> <playbook 파일>
    上記の作成と実行により、複数のサーバでスクリプトを同時に実行できます.