첫 번째 Terraform[설정편]

개시하다
AWS Management Console을 사용하여 ECS/Fargate로 호스트를 구성하고 있지만
Terraform을 사용하여 인프라를 인코딩했기 때문입니다.
앱으로 투고한 글.
이 보도는 terraform 코드를 쓰기 전에 진행되었다
총결산セットアップ作業.
AWS 리소스 생성에 대한 terraform 코드는 다른 기사에서 요약합니다.
기술을 사용하다
  • Terraform: 1.1.2
  • MacOS: Catalina 10.15.7
  • 설치 단계
  • IAM 사용자 제작
  • AWS CLI에서 2개의 인증 정보 설정
  • terraform의 설치
  • git secrets 설치
  • VScode 확장 기능 도입
  • 디렉터리 생성과 기본 코드에 대한 설명
  • 1. IAM 사용자의 제작
    우선, AWS 관리 콘솔에서
    다음 두 명의 IAM 사용자를 만듭니다.
  • 사용자 관리
  • Terraform용 사용자
  • 주의해야 할 것은どちらのユーザーにもAdministratorAccessの権限を付与します。이후 관리자는 사용자로 이미 생성되었습니다
    Terraform용 사용자만
    AWS 관리 콘솔을 사용하여 새로 만듭니다.
    IAM 화면으로 이동하여 사이드바에서 선택ユーザー누르다

    사용자 이름을 입력하고 인증 정보 유형을 ユーザーを追加로 설정합니다.

    사용자가 AWS 공식 권한을 부여하기 위해 선택アクセスキー맨 위에 표시된 既存のポリシーを直接アタッチ 확인
    이어서 진행하다.

    다음 화면에 탭 이름 설정이 있지만 무시한 다음 계속
    사용자를 만들 때까지 실행하십시오.
    사용자 생성이 완료되면 다음 화면이 표시됩니다AdministratorAcces アクセスキーID텍스트 편집기 등에서
  • AWS CLI에서 2개의 인증 정보 설정
  • 그런 다음 각 사용자를 AWS CLI에 로그인합니다.
    나의 상황은 관리자가 사용하는 사용자가 이미 등록되었다는 것이다
    에는 등록된 ID와 Key가 표시됩니다.
    Terraform용 사용자에 대한 소개 옵션을 추가하십시오.
    식별할 수 있는terraform의 이름을 추가했습니다.
    그 밖에 각종 문제에 대해 우리는 다음과 같이 대답할 것이다.
    단말기
    
    # 管理者用ユーザー
    % aws configure
    
    # 既に登録済みであれば、IDやKeyが表示されます。
    AWS Access Key ID [****************AAAA]: 
    AWS Secret Access Key [****************BBBB]: 
    Default region name [ap-northeast-1]: 
    Default output format [json]:
    
    
    # Terraform用ユーザー
    % aws configure --profile terraform
    
    AWS Access Key ID [none]: アクセスキーIDをコピペ
    AWS Secret Access Key [none]: シークレットアクセスキーをコピペ
    Default region name [none]: ap-northeast-1
    Default output format [none]: json
    
    
    입력이 완료되면 Finder에서 시작합니다.シークレットアクセスキー등록을 확인합니다.
    /Users/사용자 이름/.aws/credentials
    
    [default]
    aws_access_key_id = AKI***************
    aws_secret_access_key = ***********************
    [terraform]
    aws_access_key_id = AKI***************
    aws_secret_access_key = ***********************
    
    
    3. terraform 설치
    먼저 Terraform의 패키지 관리자 tfenv를 설치합니다.
    그런 다음 Terraform의 버전을 지정하여 설치하는 프로세스입니다.
    그럼, 종착역에서 실행합시다.
    단말기
    
    # tfenvのインストール
    % brew install tfenv
    
    # tfenvがインストールできているか確認する
    % tfenv -v
    
    # インストール可能なterraformバージョンを表示させる
    % tfenv list-remote
    
    # terraformのバージョン1.1.2を指定してインストール
    % tfenv install 1.1.2
    
    # インストール済みのterraformから指定バージョンを選ぶ
    % tfenv use 1.1.2
    
    # 現在使用しているバージョンを確認する
    % tfenv list
    
    # Terraform自体のバージョンも念のため確認する
    % terraform -v
    
    
    4.git secrets 설치
    다음은 AWS의 신용 정보가 외부로 유출되지 않도록 주의하십시오
    git secrets를 설치합니다.
    이것을 가져와서 GiitHub에
    AWS 비밀방문키 등의 은밀한 정보를 공개하지 않기 위해
    git commiit 명령을 제한합니다.
    Mac의 경우 Homebrew를 통해 설치할 수 있습니다.
    단말기
    
    # git-secretsをインストール
    % brew install git-secrets
    
    # AWS秘匿情報の流失を阻止する設定
    % git init
    % git secrets --install
    % git secrets --register-aws
    
    검증으로 삼다
    git가 존재하는 창고에
    가짜credanial 파일을 넣으세요.
    terraform/credentials
    
    # git secretsが機能しそうな情報を入れてみる
    [default]
    aws_access_key_id = AKIAAAAAAAAAAAAAAAAA
    aws_secret_access_key = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
    
    
    유효성 검사 파일을 저장한 후 제출 후 오류 발생
    git secrets에 AWS의 은밀한 정보가 포함되어 있음을 알려 주십시오.
    단말기
    
    # 検証としてコミットまでしてみる
    % git add .
    % git commit -m "AWS秘匿情報が含まれている為、commitできない"
    
    [ERROR] Matched one or more prohibited patterns
    
    Possible mitigations:
    - Mark false positives as allowed using: git config --add secrets.allowed ...
    - Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory
    - List your configured patterns: git config --get-all secrets.patterns
    - List your configured allowed patterns: git config --get-all secrets.allowed
    - List your configured allowed patterns in .gitallowed at repository's root directory
    - Use --no-verify if this is a one-time false positive
    
    
    /Users/ユーザー名/.aws/credentialsGit init에서 자동으로 secret install 설정
    단말기
    
    # git initコマンドを実行すると、git secret --installコマンドも動作する
    % git secrets --install ~/.git-templates/git-secrets
    % git config --global init.templatedir '~/.git-templates/git-secrets'
    
    
    5. VScode 확장 기능 가져오기
    텍스트 편집기의 VScode에서 Hashicorp 회사의 공식 확장 기능을 가져옵니다.

    6. 카탈로그/파일 제작
    그리고terraform 코드를 기술하기 전에
    각 디렉토리/파일을 정리합니다.参考まで(任意) 1. main.tf: terraform/プロバイダ/変数の設定 2. terraform.tfvars: 変数に入れる値を設定 3. .gitignore: Git履歴を無視する対象ファイルを設定위의 디렉토리 및 파일을 생성합니다4. modules/各ディレクトリ/main.tf: IAMロール等の一部リソースは、モジュールで作成しやすくする.
    디렉토리 구조를 나타내기 위해
    다음은 홈brew를 통해tree를 설치합니다
    tree 명령을 실행하는 중입니다.
    단말기
    
    # treeをインストール
    % brew install tree
    
    # 対象ディレクトリに対して、treeコマンドの実行
    % tree terraform_directory
    
    terraform_directory
    ├── main.tf
    ├── modules
    │   ├── iam_role
    │   │   └── main.tf
    │   └── security_group
    │       └── main.tf
    └── terraform.tfvars
    
    
    이상은terraform 설치 전 준비 완료!
    참고 영상/서적
    끝맺다
    terraform으로 AWS 자원을 제작하면 삭제할 때도 명령으로 일괄 삭제할 수 있어 편리합니다!
    실제 업무로 자유롭게 해소할 수는 없지만 개인의 투자조합은
    쓸모없는 AWS 리소스를 만들지 않기 위해서도 사용하고 있다.
    안내 데스크에 Vue가 있습니다.js 가져오기 등 응용 구성이 복잡해지면
    terraform도 편집해야 하는데...

    좋은 웹페이지 즐겨찾기