[Terraform] AWS with Terraform - install terraform (테라폼 설치)



download terraform from the official download page.



unzip the file and move Terraform binary to /usr/bin.


1
$ sudo mv terraform /usr/bin && sudo chmod +x
cs


test `terraform` command


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$ terraform
Usage: terraform [-version] [-help] <command> [args]
 
The available commands for execution are listed below.
The most common, useful commands are shown first, followed by
less common or more advanced commands. If you're just getting
started with Terraform, stick with the common commands. For the
other commands, please read the help and docs before usage.
Common commands:
    apply              Builds or changes infrastructure
    console            Interactive console for Terraform interpolations
    destroy            Destroy Terraform-managed infrastructure
    env                Workspace management
    fmt                Rewrites config files to canonical format
    get                Download and install modules for the configuration
    graph              Create a visual graph of Terraform resources
    import             Import existing infrastructure into Terraform
    init               Initialize a Terraform working directory
    output             Read an output from a state file
    plan               Generate and show an execution plan
    providers          Prints a tree of the providers used in the configuration
    push               Upload this Terraform module to Atlas to run
    refresh            Update local state file against real resources
    show               Inspect Terraform state or plan
    taint              Manually mark a resource for recreation
    untaint            Manually unmark a resource as tainted
    validate           Validates the Terraform files
    version            Prints the Terraform version
    workspace          Workspace management
All other commands:
    debug              Debug output management (experimental)
    force-unlock       Manually unlock the terraform state
    state              Advanced state management
cs


Posted by 사용자 guru_k

댓글을 달아 주세요

awscli 설치

아래 명령어를 이용하여 awscli 설치


1
$ pip install awscli --upgrade --user
cs

awscli 사용을 위한 configure 설정

aws ec2 instance 정보를 가져오기 위한 명령어 'aws ec2 describe-instances' 를 실행하면 아래와 같은 메시지를 볼 수 있다.

1
2
$ aws ec2 describe-instances
You must specify a region. You can also configure your region by running "aws configure".
cs


aws cli를 사용하기 위해선 아래와 같은 정보를 설정해줘야 한다.


1
2
3
4
[profile adminuser]
aws_access_key_id = adminuser access key ID
aws_secret_access_key = adminuser secret access key
region = aws-region


cs


access_key_id 와 secret_access_key 는 

IAM Console -> 사용자 -> 해당 IAM 사용자를 선택하면 확인 할 수 있습니다.

id와 key를 확인 했다면 aws configure를 설정합니다.

1
2
3
4
5
$ aws configure
AWS Access Key ID [None]: BKTESTACCESSKEYXL2SI7C
AWS Secret Access Key [None]: 6DV/tes+t/0QF0AG9secret/97skkey
Default region name [None]: ap-northeast-2
Default output format [None]: json
cs


 
이후 aws ec2 describe-instances 를 사용해보면 현재 존재하는 모든 ec2 instances를 확인할 수 있습니다.

1
$ aws ec2 describe-instances
{ "Reservations": [] }
cs







Posted by 사용자 guru_k

댓글을 달아 주세요

javascript에서 aws clie waiter 사용


aws cli중 waiter 함수를 사용하여 특정 인스턴스의 상태까지 대기 할 수 있다.


instanceRunning 상태 대기

1
2
3
4
5
const AWS = require('aws-sdk');
const ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
 
await ec2.waitFor('instanceRunning', params).promise();
console.log("instance's status is running");
cs

하지만 instanceRunning 상태라고 하지만 ssm 을 통해 해당 인스턴스에 명령어를 날릴 경우 'InvaildInstanceId: null' 에러가 발생할 수 있다.
그럴경우 instanceStatusOk waiter를 이용하면 해당 상태 대기 후 바로 명령어를 사용할 수 있는 상태가 된다.

1
2
3
4
5
const AWS = require('aws-sdk');
const ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
 
await ec2.waitFor('instanceStatusOk', params).promise();
console.log("instance's status is ok");
cs


Waiter Resource States 는 아래 aws document에서 확인할 수 있습니다.



Posted by 사용자 guru_k

댓글을 달아 주세요