레이블이 aws인 게시물을 표시합니다. 모든 게시물 표시
레이블이 aws인 게시물을 표시합니다. 모든 게시물 표시

2020년 6월 23일 화요일

AWS + LAMBDA + (Elastic cache) REDIS 연동 방법

일단 AWS Elastic cache 는 외부에서 바로 연결이 안된다. 고로, VPC 설정을 해서 , 내부의 AWS Lambda 함수에서 접근이 가능하도록 해야한다.
그걸 하기위해서
IAM 롤 설정-VPC-SUBNET-LAMBA-API GATEWAY-REDIS-REDIS SUBNET GROUP 설정을 해야한다. 정말 귀찮다.

1. IAM 설정

Role 에 가서 Lambda 선택(어쭈, 아예 상단에 있네. 많이 쓰란 얘긴가) -> AwsLambdaBasicExecutionRole 선택해서 생성해둔다. 이건 나중에 LAMBDA 기능에서 권한 설정할때 쓴다.

2.VPC
2-1. VPC 생성

2-2.그밑의 Subnet 도 생성
10.0.0.0/28 , 10.0.0.16/28 , 10.0.0.32/28
이런식으로 나누어서 생성하면 나중에 zone 별로 지정하기 좋다.

2-3.Security Group 도 설정해야 한다. (VPC IP 로 데이터가 나가고 들어오는 보안설정이다)

3.Elastic cache Redis
3-1 Subnet group 부터 설정한다. 여기서 Zone 별로 Subnet 을 설정하는데, 2-2 에서 여러개 설정해놓았다면 존별로 그것들을 지정하면된다.
3-2 Redis 생성 하면 end-point 가 나오는데 그게 내부에서 접속가능한 주소다. 람다에서 접속하자.

4.Lambda
4-1 새로운 함수를 언어에 맞게 생성한다. 아마존은 크롬을 싫어하니 에디터는 파이어팍스에서 하자. NodeJs 의 경우는 관련패키지가 많이 필요하니 로컬에서 압축파일 만들어서 zip 으로 올리자. [작업->.zip 업로드]
4-2 VPC 지정해야 Lambda 에서 Redis 접속이 가능하다. 설정하자. 보안그룹등도 같이 지정하자.
4-3 권한 탭화면에서 IAM 의 권한 지정하자.
4-4 이제 외부에서 접속가능하게 API GATEWAY 추가하자

5.API GATEWAY
5-1 람다화면에서 트리거 추가.
5-2 API GATEWAY 설정화면에서 리소스 화면에서 메서드/리소스 다 추가하자
5-3 Restful 의 /mymy/sum/1/11 -> /mymy/{whichoper}/{firstvalue}/{lastvalue} 식으로 get/post 하고 싶으면 차례대로 추가하면된다. 단 LAMBDA_PROXY 를 선택해야 된다.

6. 외부에서 curl 등으로 접속해보면 된다.

const redis   = require("ioredis");


exports.handler = async (event, context, callback) => {
    context.callbackWaitsForEmptyEventLoop = false;     
    try {
        //Redis서버접속
        client = await connectRedis();

        switch (currentMethos) {

            case "GET":

                let value = await getValueOfKey(client, keyNameForRedis);
                break;
            case "POST":

                await setValueOfKey(client, keyNameForRedis, setVal);
                break;

       
        //Redis 접속 해제
        disconnectRedis();

        return {
            statusCode: 200,
            headers: {
                "Access-Control-Allow-Headers" : "Content-Type",
                "Access-Control-Allow-Origin": "*"
            },
            body: JSON.stringify(
                    {
                        code :  resultCode,
                        uuid :  in_uuid
                    }
                )
        }
    } catch (error) {
        console.error('error:', error);
    }
};
function connectRedis() {
    return new Promise(function (resolve, reject) {
        
          const client = new redis.Cluster(['//xxxxxxxx.cache.amazonaws.com:6379'],
            {
                slotsRefreshTimeout: 5000
            }
        );


        client.on('connect', () => {
            console.log('Connected');
            resolve(client);
        });
        client.on('error', (error) => {
            console.log(`Connection Error`, error);
            reject(error);
        });
    });
}

function disconnectRedis() {
    if (client) {
       client.disconnect();
    }
}

function getValueOfKey(client, inkey) {
    return new Promise(function (resolve) {
        client.get(inkey, (err, reply) => {
            if(err){
                resolve('error');
                return;
          } else {
            resolve(reply);
          }

        });
    });
}

function setValueOfKey(client, inkey, invalue) {
    
    return new Promise(function (resolve) {
        resolve(client.set(inkey, invalue));
    });
}

function setExpireOfKey(client, inkey, inExpire) {
    
    return new Promise(function (resolve) {
        resolve(client.expire(inkey, inExpire ));
    });
}

외부에서 접속하려면 API GATEWAY 항목에서 확인하면된다. 잘된다.

2018년 3월 28일 수요일

2018년4월은 AWS 자격증!!!

AWS Certified Solution Architect Associate(SAA) 

출제범위는 매일매일 학습 1달 끊자
https://github.com/serithemage/AWSCertifiedSolutionsArchitectUnofficialStudyGuide

2018/3/29
단어용약
http://sarc.io/index.php/aws/539-aws-concepts-and-words
용어 제대로 알자
https://brunch.co.kr/@topasvga/1
용어정리
http://web-front-end.tistory.com/74
또용어
http://soul0.tistory.com/466
유데미수강중인데 용어정리해따함
https://hjpco.wordpress.com/tag/%EC%9A%A9%EC%96%B4%EC%A0%95%EB%A6%AC/

quizlet
-https://quizlet.com/144321056/aws-certified-solutions-architect-associate-practice-questions-flash-cards/ 
-https://quizlet.com/143870396/aws-certified-solutions-architect-flash-cards/ 
-https://quizlet.com/199977642/aws-certified-solutions-architect-chapter-exams-flash-cards/
-https://quizlet.com/215627882/aws-certified-solutions-architect-associate-1-25-flash-cards/
-https://quizlet.com/swingeasy/folders/aws-solution-architect/sets 짱.
-https://quizlet.com/136353872/aws-certified-solutions-architect-flash-cards/
-https://quizlet.com/235826010/aws-certified-solutions-architect-associate-exam-questions-flash-cards/ 485문제
– AWS 한국 블로그 공식 사용 설명서
– AWS 공식 기술 사용 설명서
– Cloudwatch
– CloudTrail ( Cloudwatch 와 비교 )
– Spotinstance
– SQS
– SWF
– dynamodb
– ElastiCache
– S3 ( 특히 consistency model / 가용성 % / Encryption종류 ) 
– Glacier
– Kinesis
– RDS (Max Size)
– Route53 (레코드 종류[ex:A,AAAA,SOA,SRV])
– WorkSpace (VDI)
– Trusted Advisor (제공하는 영역)
– Soft Limit (S3, EC2, VPC, Route53 등등..)
– IAM Policy (JSON Document)
– Stateless / Stateful Services
– EBS
– VPC ( 특히 Subnet관련 )

시험후기
http://linux.systemv.pe.kr/aws-certified-solutions-architect-associate-exam-%EC%8B%9C%ED%97%98-%ED%9B%84%EA%B8%B0/



머지..소식지? 먼가 계속올리고있어..ㅎㄷ ㄷ
https://jirak.net/wp/aws-%EC%A3%BC%EA%B0%84-%EC%86%8C%EC%8B%9D-%EB%AA%A8%EC%9D%8C-2017%EB%85%84-10%EC%9B%94-16%EC%9D%BC/

2017년 10월 18일 수요일

AWS 클라우드로 천만 명이 쓰는 서비스 만들기

https://jacesky1.wordpress.com/2016/03/27/aws-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%EB%A1%9C-%EC%B2%9C%EB%A7%8C-%EB%AA%85%EC%9D%B4-%EC%93%B0%EB%8A%94-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0/

EC2 AWS 마켓플레이스 를 이용해서 WordPress 서비스 생성하기

AWS 마켓플레이스를 이용하면 여러가지 미리 세팅된 서버 서비스를 쉽게 생성할수 있다.


마켓플레이스에서 해당 상품의 정보에 이런저런 정보가 있는데 보통 거기서 서비스의 초기 비번등을 알아낼수있다.
wordpress bitnami 의 경우는 instance 에서 오른쪽버튼->instance setting->get system log 에서 보면 bitnami 의 초기 app 비번(랜덤인듯) 이 보이는데 이를 복사해서
워드프로세스 어드민 /wp-admin/ 에 접속시 user,비번 입력하면된다.

추가, mysql root 비번도 동일하다.

Amazon EC2 - putty 를 이용하여 Instance 접속하기


http://devstory.ibksplatform.com/2017/08/aws-windows-linux-putty.html

http://hyeonstorage.tistory.com/271

Amazon IAM 설정 (좀더 안정적인 인프라 운영)

아마존 콘솔에서 Identity and Access Management 를 선택한다.


Activate MFA on your root account 는 구글 opt 에서 숫자 여섯개 두번 입력 해서 MFA 활성화 한다.

참고 영상 : https://opentutorials.org/course/2717/11269

2016년 7월 31일 일요일

Amazon 서버스(AWS) 자료 알찬곳

책원고를 그대로 공개.@,.@



http://pyrasis.com/private/2014/09/30/publish-the-art-of-amazon-web-services-book#at_pco=smlrebh-1.0&at_si=579ed8ca26b6f2f3&at_ab=per-2&at_pos=1&at_tot=5