Windows의 AWS-CLI+nodejs 실행 환경 구축

12367 단어 Node.jsAWSVSCode

목표


cli로aws환경과node를 조작할 수 있습니다.js에서 스크립트를 이동할 수 있는 환경을 구축했습니다.
그 기록이야.

환경


Windows 10/64bit
※ 32bit은 설치 프로그램을 교체하여 실행할 수도 있습니다.

선결 조건


나는 이쪽을 보면서 전진했다.
  • AWS CLI 설치 및 구성 - 아마존 Kinesis Streams
  • http://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-tutorial-cli-installation.html
  • Node.js의 AWS SDK for JavaScript
  • https://aws.amazon.com/jp/sdk-for-node-js/
  • 구현 내용


    aws-cli 배포


    명령 프롬프트에서 AWS를 조작하는 aws-cli를 가져옵니다.

    (이미지 참조 소스: https://github.com/donnemartin/dev-setup

    설치 프로그램 가져오기


    https://aws.amazon.com/jp/cli/
    AWSCLI64.msi
    ※ 설치 절차 생략

    프록시 설정


    내부 환경 등에 에이전트가 있으면 명령 프롬프트에서 인증 에이전트를 설정합니다.
    console
    set HTTP_PROXY=http://USERNAME:[email protected]:8080
    set HTTPS_PROXY=http://USERNAME:[email protected]:8080
    

    IAM 설정


    AWS 콘솔에서 사용자 및 그룹을 만듭니다.여기에서 가져온 키를 원본 코드에 기록하거나 git로 올리지 마십시오.

    IAM > 사용자 > 새 사용자 만들기


    사용자를 만들고, 각 사용자에 대한 액세스 키 생성을 확인하고, 사용자의 액세스 키 정보(CSV 형식)를 저장합니다.

    IAM > 그룹 > 새 그룹 만들기


    그룹을 만들고 역할에 관리자 액세스 권한을 할당한 다음 방금 만든 사용자를 추가합니다.

    aws-cli 초기 설정


    버전을 확인합니다.
    console
    >aws --version
    aws-cli/1.10.36 Python/2.7.9 Windows/7 botocore/1.4.26
    
    방금 다운로드한 CSV를 열고 "Access Key Id""Secret Access Key"열을 확인하고 aws-cli에서 인증 키를 설정합니다.
    console
    >aws configure
    AWS Access Key ID [none]:XXXXXXXXXXXXXXXXXXXX
    AWS Secret Access Key [none]:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Default region name [none]:ap-northeast-1
    Default output format [none]:json
    
    ※ 도쿄 지역을 선택했습니다.
    ※ output format에는 json, text, table
    ※ 여러 프로필을 사용하려면 매번 --profile USERNAME2 옵션을 추가하여 다른 사용자로 configure, 명령 실행

    설정 확인


    사용자의aws 폴더에 인증 정보가 저장되어 있기 때문에 먼저 확인하십시오.
    console
    
    >dir C:\users\USERNAME\.aws\
     ドライブ C のボリューム ラベルがありません。
     ボリューム シリアル番号は A0D4-4C61 です
    
     C:\users\USERNAME\.aws のディレクトリ
    
    2016/06/21  11:42    <DIR>          .
    2016/06/21  11:42    <DIR>          ..
    2016/08/12  16:31                51 config
    2016/08/12  16:31               119 credentials
    
    >type C:\users\USERNAME\.aws\config
    [default]
    region = ap-northeast-1
    output = json
    
    >type C:\users\USERNAME\.aws\credentials
    [default]
    aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
    aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    

    명령 실행


    실제 명령을 실행하고 인증 키가 올바르게 설정되었는지 확인하며 EC2의 보안 그룹 목록을 보여 줍니다.방금 설정한 바와 같이 json 형식으로 결과를 얻었다.
    console
    >aws ec2 describe-security-groups
    {
        "SecurityGroups": [
            {
                (省略)
            }
        ]
    }
    

    node.js 배포



    https://nodejs.org/en/download/
    node-v4.4.7-x64.msi
    ※ 설치 절차 생략

    버전 확인


    node와 npm 모두 있습니다.
    console
    >npm -v
    2.15.8
    
    >node -v
    v4.4.7
    

    aws-sdk 설치


    AWS의 Getting Started with the SDK in Node.js 페이지를 보면 npm 명령이 적혀 있기 때문에 그렇게 실행합니다.
    console
    >npm install aws-sdk
    [email protected] node_modules\aws-sdk
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    └── [email protected] ([email protected])
    
    ※ 현재 디렉토리의 node_modules 폴더에 sdk를 설치합니다.

    예제 실행


    이번에는 S3의 TESTBUCKET에서 일람표를 얻을 수 있는 스크립트를 만들고 실행해 보겠습니다.
    lists3sample.js
    var AWS = require("aws-sdk");
    AWS.config.region = 'ap-northeast-1'
    var params = {
        Bucket: 'TESTBUCKET'
    };
    var s3 = new AWS.S3();
    s3.listObjects(params, function(err, data) {
        if(err) console.log(err, err.stack);
        else    console.log(data);
    });
    

    Visual Studio 코드도 도입했습니다.


    겸사겸사 말씀드리지만, 수첩에 json,node가 있습니다.저는 js를 쓰는 데 한계를 느꼈기 때문에 Visual Studio Code를 설치했습니다.NETer는 사용하기 좋아요.
    https://www.visualstudio.com/ja-jp/products/code-vs.aspx
    VSCodeSetup-stable.exe
    ※ 설치 절차 생략

    초기 설정


    PROXY 설정도 필요합니다.VSCode의 설정 파일은 남성적인 json 형식이기 때문에 편집합니다.OS의 환경 변수에 추가 기록할 수 있을 것 같습니다.

    파일 > 기본 설정 > 사용자 설정 편집 창 오른쪽


    settings.json
    // 既定の設定を上書きするには、このファイル内に設定を挿入します
    {
            "http.proxy": "http://USERNAME:[email protected]:8080"
    }
    
    ※ 편집한 후 VScode 다시 시작

    확장 배포


    VSCode Market Place를 통해 인기 있는 확장 기능을 확인할 수 있습니다.
    https://marketplace.visualstudio.com/vscode/All%20categories?sortBy=Downloads
    좋아하는 걸 넣으면 되는데 개인적으로 자바스크립트, json과 관련된 걸 넣고 싶어서 여기에 넣으려고 했어요.
  • JavaScript (ES6) code snippets
  • Prettify JSON
  • 배포 방법


    위의 링크가 아니라 Visual Studio Code를 열고 확장 기능의 태그에서 검색, 설치가 간단합니다.

    열어봐


    Visual Studio Code는 확장자에 따라 언어를 판정하므로js야.제이슨을 열어 보니 느낌이 좋다.

    (이상, 수고하셨습니다)

    오류 세트 추가


    Proxy 오류 잊음
    awc-cli 키를 설정한 후 인증 에이전트를 설정하지 않은 상태에서 실행하는 중 오류가 발생했습니다.
    console
    aws ec2 describe-security-groups
    HTTPSConnectionPool(host='ec2.ap-northeast-1.amazonaws.com', port=443): Max retr
    ies exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', error
    ('Tunnel connection failed: 403 Forbidden',)))
    
    nodist 배포 실패
    Windows의 node.js의 버전 관리는 일반적으로 nodist에 넣지만 내 환경에서 nodist 업데이트에 오류가 발생했고 npm installaws-sdk가 반응하지 않아 가져오기를 포기했습니다.
    console
    >nodist -v
    0.8.4
    
    >nodist add 4.4.7
    
    >nodist 4.4.7
    4.4.7
    
    >nodist ls
      (x64)
    > 4.4.7  (global: 4.4.7)
      6.3.1
    
    > nodist update
    update
    Installing undefined
    C:\Program Files (x86)\Nodist\lib\nodist.js:89
      var major = parseInt(version.split('.')[0])
                                  ^
    
    TypeError: Cannot read property 'split' of undefined
        at Function.nodist.isIojs (C:\Program Files (x86)\Nodist\lib\nodist.js:89:31)
        at nodist.getSourceUrlPrefix (C:\Program Files (x86)\Nodist\lib\nodist.js:190:13)
        at nodist.getUrlToExe (C:\Program Files (x86)\Nodist\lib\nodist.js:206:18)
        at nodist.fetch (C:\Program Files (x86)\Nodist\lib\nodist.js:581:18)
        at C:\Program Files (x86)\Nodist\lib\nodist.js:491:10
        at C:\Program Files (x86)\Nodist\lib\nodist.js:416:7
        at _combinedTickCallback (internal/process/next_tick.js:67:7)
        at process._tickCallback (internal/process/next_tick.js:98:9)
    
    > npm install aws-sdk
    (反応なし、インストールされない)
    
    >node lists3sample.js
    module.js:327
        throw err;
        ^
    
    Error: Cannot find module 'aws-sdk'
        at Function.Module._resolveFilename (module.js:325:15)
        at Function.Module._load (module.js:276:25)
        at Module.require (module.js:353:17)
        at require (internal/module.js:12:17)
        at Object.<anonymous> (D:\Dropbox\3-1-2_uploadobject.txt.js:1:73)
        at Module._compile (module.js:409:26)
        at Object.Module._extensions..js (module.js:416:10)
        at Module.load (module.js:343:32)
        at Function.Module._load (module.js:300:12)
        at Function.Module.runMain (module.js:441:10)
    

    참조 링크


    보살핌을 받다
  • 인증 Proxy 환경에서 Windows AWS CLI 사용
  • http://d.hatena.ne.jp/showhey810/20140905/1409892787
  • Windows에서 Node를 처음 봅니다.js
  • http://www.cyokodog.net/blog/first-node-js/
  • Windows 10의 nodist v0.8.0 및 Node.설치 js
  • http://okakacacao.wpblog.jp/technology/install-nodist080
  • Visual Studio Code의 확장 기능 사용(1/2)
  • http://www.atmarkit.co.jp/ait/articles/1511/27/news029.html
  • 통합 개발 환경은 어느 것이 좋습니까?(독단과 편견의 먼 곳)
  • http://qiita.com/GeneralD/items/19affd5beba88517a708
  • IntelliJ-IDEA, Eclipse, 쇼환 notepad++든 Vim이든 모두 좋아하세요. 
    현재 편집기로 사용되고 있으며, 디버깅을 사용하지 않기 때문에 나중에 기사를 쓸 수도 있습니다. 

    좋은 웹페이지 즐겨찾기