728x90

CodeCommit은 설정을 끝냈고
Deploy를 하는데 서버에 소스 그대로 배포할 것이므로 EC2를 하나 추가한다.
이 때, EC2에 codeDeploy Agent를 설치하도록 Set한다.
EC2에서 CodeCommit에 접근해야하므로 관련 역할도 추가한다.

IAM > 역할 > 역할 만들기
  . 신뢰할 수 있는 엔터티 유형 : AWS 서비스 선택
  . 사용사례 : EC2 선택 하고 다음버튼 클릭
  . 권한정책 : AmazonEC2RoleforAWSCodeDeploy 검색하여 check 한 뒤 다음.
  . 역할이름 : EC2InstanceRole

EC2 > 인스턴스 시작

1. AMI : Amazon Linux 2 AMI 를 선택
2. 인스턴스 유형 : t2.micro
3. 인스턴스 구성
     . 퍼블릭 IP 자동할당 : 활성화
     . IAM 역할선택 : EC2InstanceRole   (위에서 생성한 Role )
     . 고급 세부 정보 [Advanced Detail]
        - 사용자 데이터(User Data) : 텍스트로 선택
        - TextArea에 아래내용 복사. agent를 다운받아 설치하는 것이므로 문구 그대로 입력하면 됨.(ubuntu에서도 같은지는 모르겠음)

#!/bin/bash
yum -y update
yum install -y ruby
yum install -y aws-cli
cd /home/ec2-user
wget https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install
chmod +x ./install
./install auto

4. 스토리지 추가 : "다음"클릭
5. 태그 추가 : 인스턴스에 Tag를 지정해야 목록에서 구별이 잘 됨.
    Key : Name
    Value : EC2forCodePipeline
6. 보안그룹 구성
    . SSH 의 소스 항목을 "내 IP"로 변경
    . 규칙추가 하여 유형을 "HTTP"로, 소스를 "내 IP"로 변경

7. 검토 및 시작.
    . 키페어를 선택할 수도 있으나, 이번에는 "키페어 없이 계속" 선택
  

 인스턴스가 가동되고 인스턴스 목록을 보면
 TAG로 지정한 값으로 간단히 찾을 수 있다.

 

EC2인스턴스 생성을 했으니
이제 CodeDeploy설정을 할 차례다. - 다음편에 계속

728x90
728x90

CodePipeline으로 소스를 배포하는 예제.
과정이 간단한 것이 아니라 구조가 간단한 것임.

일반적으로는 commit - build - deploy의 구조를 가지는데
build를 빼고 commit - deploy 만 codepipeline으로 묶음.

사용하는 AWS제품은
CodeCommit, CodeDeploy, CodePipeline, S3 bucket, EC2

소스를 push하면 CodeDeploy Agent가 설치된 EC2에 배포한다.
build라는 과정이 없기 때문에 간단과정이다.


이번 설명에서 AWS CodePipe라인은 다음 순서로 설정한다
1. CodeCommit
2. CodeDeploy
3. EC2
4. CodePipeline

CodeCommit Repository : simple-pipeline-repo
Region : 서울 ap-northeast-2

먼저 CodeCommit에 Repository를 생성한다.
. login


. codeCommit > repository > repository 생성 버튼 클릭


. repository 이름 넣고 "생성" 버튼 클릭. (simple-pipeline-repo)

*[참고]루트계정으로 작업하지 않는것을 권장하며
repository를 루트계정으로 생성하면 ssh로 작업을 할 수 없다
아래와 같이 https로만 연결 가능하므로 IAM 유저를 추가한 다음 작업하는 것을 추천.

root계정으로 repository 생성핼을 때.

 . Repository가 생성되면 "연결 단계" 설정을 해야한다.
   HTTPS, SSH, HTTPS(GRC) 세 가지가 있으며
   조금 복잡하지만 SSH 방식으로 진행한다.
   아래 그림과 같이 연결단계는 MacOS, Windows, Linux 별 설정이 다르니 해당 OS에 맞는 설정을 한다.
   MacOS 를 클릭하면 설정방법이 나타난다. 

  . 1단계로 : 사전요구사항인데. 작업할 PC에 git이 깔려있어야 하고 IAM 유저가 CodeCommit를 쓰기위한 권한이 있어야하고 팀원초대하는데. 우선은 혼자 작업할 예정이므로 스킵.
  . 2단계 : SSH 퍼블릭 키 등록. Repository의 source를 git clone, push를 하기위해 키 등록을 해야한다.
     적절한 권한이 없이 그냥 clone 하면 id/pass를 물어보고 권한이 없어서 안된다고 한다.

git clone https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/simple-pipeline-epo
'simple-pipeline-repo'에 복제합니다...
Username for 'https://git-codecommit.ap-norththeast-1.amazonaws.com': noman
Password for 'https://noman@git-codecommit.ap-northeast-2.amazonaws.com':
fatal: unable to access 'https://git-codecommit.ap-norththeast-2.amazonaws.com/v1/repos/simple-pipeline-repo/': The requested URL returned error: 403


     - 터미널에서 작업
        #폴더 이동
        cd ~/.ssh
        #Key 생성 ssh-keygen명령을 실행하고 keypair 파일명 입력 passphrase는 생략가능하므로 그냥 엔터만 쳐도 된다.(엔터 2번)
        ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa): aws_seoul-codecommit-keypair
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in aws_seoul-codecommit-keypair
Your public key has been saved in aws_seoul-codecommit-keypair.pub
The key fingerprint is: xxxxx

 ** 다른 repository에서도 사용가능한지는 확인 안해봤으나 가능할 것으로 보고 이름을 좀 넓은 의미로 지음.

      # ls 를 해 보면 1쌍의 key pair파일이 생성되었다. ( xxx.pub, xxx)
      ls

      # xxx.pub파일의 내용 확인
      cat ~/.ssh/aws-seoul-codecommit-keypair.pub
      그러면 ssh-rsa ~~~ user-name@...
      이 내용을 모두 복사한다.
      ex)

ssh-rsa AAAA - 중 간 생 략 -0K2xI71eoVRMe6fbp13WJl8mrtdYgxglfOCMnV9K+OFyeQj7/cuiw5uK0QadZywSBReMDhN4RkHKMBe6wW7KrLPRCoBOlFqnvXP4kFGOko4 - 중 간 생 략 -D8/6TjIgT2A+MgNuM= noman@MYPC.local

    - AWS Console에서 작업 : SSH 퍼블릭 키 업로드
       . IAM > 좌측메뉴 사용자 > 사용자 목록에서 사용자 선택 > 보안 자격 증명 Tab

           . 아래로 scroll "AWS CodeCommit"에 대한 SSH 키 항목에 "SSH 퍼블릭 키 업로드" 버튼 클릭

        . xxx.pub파일에 있는 내용을 붙여 넣는다.

      . 생성하면 SSH KEY ID 가 생성된다. 사용하지 않을 때는 "비활성화"를 클릭하면 되고, 필요없을 때는 X 버튼을 누르면 된다.

      . 3단계 : ssh 구성 편집
        # config라는 파일을 생성하여 방금 생성한 ssh key id와 생성된 파일위치를 지정한다.
        vi config

Host git-codecommit.*.amazonaws.com
  User APKAQXV6Fxxxxx
  IdentityFile ~/.ssh/aws-seoul-codecommit-keypair

        # config 파일에 권한 변경 : 작업 디렉토리는 반드시 ~/.ssh 여야한다.
        chmod 600 config

      . 4단계 : Repository 복제
       # 로컬로 clone
       # 작업할 directory로 이동
       pwd
       cd ~/Documents/cicd
       # 접속Test : ssh key id 와 해당 region정보로
       ssh APKAQXV6Fxxxxx@git-codecommit.ap-northeast-2.amazonaws.com
       정상인 경우 아래와 같은 메세지가 나온다.

You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.ap-northeast-2.amazonaws.com closed by remote host.
Connection to git-codecommit.ap-northeast-2.amazonaws.com closed.


      # Clone : AWS console에서 해당 repository에 주소가 있으므로 그대로 복사.
      git clone ssh://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/simple-pipeline-repo

      # yes를 입력하면 현재 소스는 없이 repository만 만들었으므로 빈 것 같다는 말이 나옴.     

      # ls -al 해 보면 simple-pipeline-repo 폴더가 생겼고 .git만 하나 있음.
      cd simple-pipeline-repo
      ls -al
          

 

728x90
728x90

2006년에 산 맥북 화이트 인텔칩.
여태 쓰다가 드디어 생을 마감하다.

자주 켜지는 않았지만
간간히 켜서 알바(?)를 하던 친구였는데
어젯밤 켜보니 둥~ 소리는 나는데
팬이 도는 소리도 이상하고
부팅이 되지않네...

드디어 올 것이 왔구나 ㅠ.ㅠ

배터리는 진작 부풀어 떼어내고
무슨 문제인지는 모르나 키보드 마우스가 동작하지 읺아
usb동글로 무선 키보드, 마우스를 써야했고
아답터로만 전원을 공급받은건 이미 10년도 넘은 듯

오랜시간 사용하면서 흰색은 손때로 얼룩덜룩하고

게다가 인텔칩으로 윈도우랑 듀얼부팅으로 해 놓고
윈도우를 기본으로 해 놔서
사실상 윈도우 머신이었다.
정말 특이한 설정으로 오~~~래 썼다.



그동안 많은 시간 함께 한 추억들도 잠시 스쳐지나가고

같이한 시간 정말 고마웠다. 안녕.

728x90
728x90

VSCode를 웹에서 쓸 수 있게 되었다.
https://vscode.dev 라는 사이트로 접속하면
바로 vscode 를 실행한 것과 같은 화면이 나타난다.
(첫인상은 오~~~ 똑같네?)

여기에서 repository에 연동하면 code를 다운받아 바로 사용할 수 있는데
github 계정에 로그인해서 token을 받으면 된다.

클라우드9(cloud9)이나 구름IDE(groom ide) 를 통해서 할 때에는
가상의 컴퓨터(?)에 세팅을 해서 쓰기 때문에 terminal을 통해 build 하여 직접 서비스도 가능한데

vscode web버전은 github에 연동하여 source 등록/수정 등의 작업만 가능하다.
만약 github actions를 통해 build/deploy환경이 구축되어 있으면 잘 쓸 수 있을 것 같기는 하다.

특히 ipad같은 패드에서 코딩하려고 할 때(그냥 아이패드에서 하고 싶을 때) 유용하다고나 할까?
ssh 앱으로 서버에 접속해서 build에러는 따로 확인해야하겠지만
그래도 간단한 조작으로 코딩이 되니 뭐 나름 쓸만하기는 한데
막상 패드로 코딩할 일이 그닥...

이제부터 저것을 어떻게 활용하면 좋을지 생각해봐야겠다.

728x90

AWS Quota 늘리기

2022. 2. 3. 14:02
728x90

Resource handler returned message: "The maximum number of internet gateways has been reached.

The maximum number of VPCs has been reached. (Service: AmazonEC2; Status Code: 400; Error Code: VpcLimitExceeded;

이런식의 오류가 나면
기본 quota는 5개인데 5개 모두 썼다는 뜻이므로 할당량 증가 요청을 해야한다.

설명: https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html

 

Amazon VPC quotas - Amazon Virtual Private Cloud

Amazon VPC quotas The following tables list the quotas, formerly referred to as limits, for Amazon VPC resources per Region for your AWS account. Unless indicated otherwise, you can request an increase for these quotas. For some of these quotas, you can vi

docs.aws.amazon.com

여기에서 쿼타 늘리는 링크는 아래 주소이다.
https://console.aws.amazon.com/servicequotas/home/services/vpc/quotas/L-F678F1CE?#

메뉴는
Service Quotas > AWS서비스 > Amazon Virtual Private Cloud (Amazon VPC) > VPCs per Region

aws console로그인 한 뒤 위 링크주소로 이동.-> region 변경한 후에
할당량 증가 요청 버튼 클릭

할당량을 원하는 만큼 추가

각 리전별로 할당량이 기본값 5로 정해져 있으므로
리전마다 필요시 요청해야한다.
그리고 요청은 바로 처리되지 않고 24~48시간은 기다려야 한다. Email로 결과를 알려준다고 하니...

"EC2 서비스 할당량 증가 요청은 AWS 엔지니어링 팀의 검토를 거칩니다. 서비스 할당량 증가 요청은 제출 후에 즉시 처리되지 않습니다. 요청이 처리되면 이메일이 수신될 것입니다."

728x90
728x90

환경구성중에 마지막 단계인
docker push에서 401 에러가 난다... 해결이 되지 않네.. 쩝.

 

작업단계 1. aws에 iam 계정 생성
권한은 S3FullAcess 로 추가하고
access key id와 secret access key 를 복사 해 둔다.

작업단계 2. aws에 s3 bucket을 생성한다
 추후 물어보기 때문에 region정보를 기록해 둔다 : ap-northeast-2    (아시아 태평양-서울)

작업단계 3. docker 계정정보 확인
id, access token 확인
(docker홈페이지  Account Settings > Security 에서 access token 생성)

작업단계 4. github 에 repository 생성 및 설정
 . Settings > secrets > actions에 사용할 값들 추가

작업단계 5. github repository에 파일 생성
 . main.go, Dockerfile 등

작업단계 6. actions 에 yaml 파일 생성
 . 작업단계 4에서 생성한 KEY를 이용하여 yaml파일 생성
 . commit 하면 자동으로 action이 실행 됨.
 . build fail이 401이 계속남.... 쩝.

728x90
728x90

2016년 2월부터 지금까지

평균연비는 12km/l

이제 겨우 3만에 다다르다

728x90

장난감 카페

2022. 1. 25. 18:40
728x90

동전 5, 10, 20
지폐 10, 20, 50
음식 가격을 잘 정해야 덩전과 지폐를 잘 쓸 수 있음.

위로 물을 넣으면 컵으로 떨어진다

오른쪽에 숫자패드는 스티커다

커피 내리듯이 놀기 가능

728x90
728x90

1. Flutter의 경우 android, ios, web 등의 접속정보를
각각 생성해 사용해야 한다.

android app용으로 google-services.json 파일 생성 후
그 안의 apiKey등을 웹에서 사용 할 수 없다.

2. 여러개의 firebase project는 1개의 App에서 사용할 수 있지만
그 반대인 여러개의 App에서 1개의 firebase project는 쓰기 어렵다.
(구글링 해 본 결과 1개 app은 1개 firebase project를 권장)

3. app/build.gracle에서 minSdkVersion은 19보다 크게하고
그 이하에서 실행되는 것을 고려하여 multiDexEnabled를 추가한다.
 defaultConfig {
minSdkVersion 20   ---> 19보다 크게
...
multiDexEnabled true
}

 

728x90
728x90

Liquid Text라는 생산성(?)앱이 있다.

맥북이나 아이패드 등에서 유용하게 쓰는 것 같은데

대략 $40정도, 학생할인이면 $25 정도하는 것같다

앱스토어를 통해서 개인적으로 구매하면 편한데
단체로 구매하려고 하면 앱스토어로는 애매해서 물어보니
Volume License라고 대량으로 구매할 수 있는 business portal이 있다고 한다.

https://business.liquidtext.net

 

LiquidText Business Portal

 

business.liquidtext.net

절차는 간단하다
회원가입 -> 라이센스 갯수 선택 -> 카드결재. 끝.
부가세 표시도된다.

회원가입은 간단하다.
email주소, 회사정보, 비밀번호 설정하면 회원가입과 동시에 라이센스 구매화면으로 넘어간다.
로그인화면 오른쪽 위에 Sign버튼을 누른다.
회원가입이 되었으면 email/password로 로그인하면 동일하게 구매화면으로 넘어간다.

회원가입 폼
다 입력하고 Continue to Checkout버튼을 누르면 회원가입이 완료되고 로그인 된다.

상품 갯수 선택

갯수는 10개단위로 할인이 없네...
갯수 선택 후 Contunue to Checkout를 누르면 결제창이 뜬다.

 

카드결제창으로 결제를 진행하면 된다.

다만... 할인이 없어서 ㅡㅡ 구매는 하지 않았다. ㅋ

 

728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1951)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (179)
난 그래 (159)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :