[AWS/Udacity] AWS 크라운 가드~ Second Submit~

14309 단어 UdacityAWS
이것은 AWS Cloud Architect Online Course에서 배운 노트다.

대상 설정



인용자 AWS Cloud Architect Online Course

Cost Monitoring


무료 대상

  • AWS Elastic Beanstalk - Rapid application deployment
  • AWS Cloud Formation - AWS Branded Infrastructure as Code service
  • Auto-Scaling - Scaling EC2 instances up/down or in/out based on your application requirements
  • AWS IAM - User and access management
  • 계산 도구


    다만 서비스가 미비하다.
    AWS Pricing Calculator

    최적화


    EBS EFS


    EC2 및 EBS 번들 사용
    AWS 초보자 - 이런 것들을 익혀야 한다.AWS의 기본 서비스
    Amazon EBS | 나레콤 AWS 레시피 5분

    다이어그램


    Lucidchart

    Iac


    AWS CLI


    설치하다.


    다음 파일만 설치되어 있음pkghttps://awscli.amazonaws.com/AWSCLIV2.pkg
    Installing the AWS CLI version 2 on macOS - AWS Command Line Interface

    RDS 구축

    aws rds create-db-instance \
        --allocated-storage 20 --db-instance-class db.t2.micro \
        --db-instance-identifier myinstancename \
        --engine postgres \
        --master-username myname \
        --master-user-password secret99 --no-publicly-accessible
    
    AWS-CLI 초기 설정에 대한 추가 정보 - Qita

    Terraform


    Terraform 시작 - Qiita
    Terraform의 변수 - Qiita 사용

    Install


    Install Terraform | Terraform - HashiCorp Learn

    기본 명령

    terraform init terraform plan terraform apply terraform destroy

    이루어지다

    # TODO: Designate a cloud provider, region, and credentials
    provider "aws" {
      access_key = "[access_key]"
      secret_key = "[secret_key]"
      region = "us-east-1"
    }
    
    # TODO: provision 4 AWS t2.micro EC2 instances named Udacity T2
    resource "aws_instance" "Udacity" {
      count = "1"
      ami = "ami-[id]"
      instance_type = "t2.micro"
      tags = {
        name = "Udacity"
      }
    }
    

    EC 2를 구성하는 경우

    provider "aws" {
      access_key = "access_key"
      secret_key = "secret_key"
      region = "us-east-1"
    }
    
    resource "aws_instance" "Udacity" {
      count = "4"
      ami = "ami-id"
      subnet_id = "subnet-id"
      instance_type = "t2.micro"
      tags = {
        name = "Udacity"
      }
    }
    
    Documentation - Terraform by HashiCorp

    destroy


    [AWS][Terraform]terraform destroy에서 특정한 것만 삭제하려는 경우 – ADACHIN SERVER LABO

    lambda를 만들 때

    resource "aws_iam_role" "iam_for_lambda" {
      name = "iam_for_lambda"
    
      assume_role_policy = <<EOF
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Principal": {
            "Service": "lambda.amazonaws.com"
          },
          "Effect": "Allow",
          "Sid": ""
        }
      ]
    }
    EOF
    }
    
    data "archive_file" "lambda_zip" {
      type = "zip"
      source_dir  = "../test"
      output_path = "../test.zip"
    }
    
    resource "aws_lambda_function" "udacity_lambda" {
      filename      = "${data.archive_file.lambda_zip.output_path}"
      function_name = "lambda_handler"
      role          = "${aws_iam_role.iam_for_lambda.arn}"
      handler       = "lambda_function.lambda_handler"
      runtime = "python3.6"
    }
    
    
    Terraform에서 Lambda[Pythn]를 디버깅할 때의 실천 | Developers.IO

    변량


    Terrafrom은 *입니다.모든 tf 파일 읽기
    그래서 일부러 import 같은 거 할 필요 없어요.
    AWS에서 Terraform으로 이동합니다.IO
    Lambda가 Terraform으로 관리하는 매운맛을 Apex로 바꿔 Datadog Logs를 첨부한 예~ – PSYENCE: MEDIA~

    output


    EC2 인스턴스를 알고 싶은 공용 IP 등으로 환경의 결과 자원이 할당된 속성 값을 구축한 경우가 있다.그때 유용한 건 아웃풋이야.
    인용자 AWS에서 Terraform으로 이동합니다.IO

    Archive


    Archive: archive_file - Terraform by HashiCorp

    환경 변수 추가


    Terraform에서 AWS Lambda(Node.js)의 환경 변수 설정 - Qiita

    ARN


    ARN(Amazon Resource Name) - AWS 전체 참조
    AWS ARN 요약 - Qiita

    CloudWatch


    Terraform으로 Lambda(Cron Start)-Qiita 구축

    Assume Role

  • sts:Assume Role은 자신의 AWS 계정의 API 권한을 제3자에게 위임하는 메커니즘이다.
  • 안전성이 마이너스 유산이 되는 것을 피할 수 있는 부분
  • 인용자 Assume Role의 용도·이점 - Cape Diem
    퇴직자들이 나올 때는 매우 편리하다.
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Principal": {
            "Service": "lambda.amazonaws.com"
          },
          "Effect": "Allow",
          "Sid": ""
        }
      ]
    }
    
    Principal는 대상을 수여하는 서비스를 가리킨다.
    IAM 캐릭터 철저한 이해~Assuume Role의 정체 | Developers.IO

    참고 자료


    일반 구조


    기본 시스템 구성도를 이해하기 위해 AWS 기반 - Qiita 요약
    디자인 견본에서 학습, AWS 구축 원칙 - 웹 응용 구조를 이해하는 가장 좋은 실천 - 엔지니어 Hub 고려 | 젊은 웹 엔지니어의 경력!
    AWS로 구축된 Mastodon 서버 | Solutionware 개발 블로그
    서버 아키텍처를 활용하여 유료 현장 배포 서비스 구축

    스키마 작성 팁


    백지 | AWS
    How to Create Architecture Diagrams

    서버 아키텍처 없음


    [등단 자료] 목적에 따라 서버 구조가 없는 교과서!이럴 때는 이렇게![구조 20연발] #cmosaka | Developers.IO
    [AWS] 이것만 봐도 알 수 있는 코그니토~ 인증 기능이 있는 서버 구조의 제작~ - Qiita

    좋은 웹페이지 즐겨찾기