728x90
  • IAM > 사용자 > [특정사용자] 선택
  • 권한정책에서 정책 이름 클릭

 

  • 이 정책에 정의된 권한 > 편집 

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"s3:*",
				"s3-object-lambda:*"
			],
			"Resource": "*",
			"Condition": {
				"IpAddressIfExists": {
					"aws:SourceIp": [
						"11.11.111.111/32"
					]
				},
				"StringEqualsIfExists": {
					"aws:SourceVpc": [
						"vpc-e727fc89"
					]
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"s3:*",
				"s3-object-lambda:*"
			],
			"Resource": "*",
			"Condition": {
				"IpAddress": {
					"aws:SourceIp": [
						"111.11.11.252/32",
					]
				}
			}
		}
	]
}

위에서 SourceIp를 추가한 다음

다음 > 변경사항 저장을 눌러 업데이트 한다.

728x90
Amazon EBS 볼륨 - Amazon EC2 인스턴스에 연결하는 스토리지 볼륨

* 진행 전에 볼륨을 늘릴 순 있어도 줄일 수 없다는 것에 유의

* 볼륨 크기 증가 시 비용 계산은 아래 참고

https://aws.amazon.com/ko/ebs/pricing/

 

1. EC2 인스턴스 목록에서 인스턴스 ID 클릭

2. 스토리지 탭에서 볼륨 ID 클릭

3. 작업 > 볼륨 수정 클릭

4. 크기 정보 수정

5. 일정시간 지난 후 인스턴스에 연결해 파티션 확인

 lsblk

 

6. 파티션 확장

 sudo growpart /dev/xvda 1

 

7. 파일 시스템 유형 확인

* XFS filesystem data와 같이 유형이 표시된다.

sudo file -s /dev/xvda1

 

7. 파일시스템 확장 (위에서 확인한 시스템 유형에 따라)

7-1. ext4의 경우

 sudo resize2fs /dev/xvda1

7-2. xfs의 경우

  sudo xfs_growfs

 

8. 확장된 크기 확인

df -h

 

 

참고 : 

https://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/recognize-expanded-volume-linux.html

 

EBS 볼륨 크기 조정 후 파일 시스템 확장 - Amazon EBS

다음과 같은 지침에서는 Linux용 XFS 및 Ext4 파일 시스템을 확장하는 프로세스를 안내합니다. 다른 파일 시스템을 확장하는 방법에 대한 자세한 내용은 해당 설명서를 참조하세요.

docs.aws.amazon.com

728x90

AWS 리눅스 환경에 CI & CD를 적용하는데 

액션러너 설정에서 다음과 같은 오류가 나며 진행이 되지 않았다.

 

Libicu's dependencies is missing for Dotnet Core 6.0
Execute sudo ./bin/installdependencies.sh to install any missing Dotnet Core 6.0 dependencies.

기본적으로 AWS Linuxt는 X64 아키텍처라곤 하나 위에서 알려주는 .sh 파일 실행만으론 의존성이 해결되지 않는다.

종속성 문제이기 때문에 해결법은 필요한 라이브러리를 따로 설치해주면 된다.

 

sudo yum install perl-Digest-SHA -y

sudo yum install libicu -y

 

이후에 ./config.sh를 실행하면 정상적으로 GitHub의 액션런너와 연결이 되고 설정과정을 진행할 수 있게 된다.

728x90

Postman에 직접 컬렉션을 만들고 API 요청을 작성할 수도 있지만

다른 유저가 작성한 것을 가져와 사용할 수도 있다.

 

https://www.postman.com/explore

 

Postman | Postman API Network

Browse the largest network of APIs, workspaces, and collections by developers across the planet

www.postman.com

위의 URL에서 검색하거나

 

postman 데스크탑용 프로그램에서 아래와 같이 다른유저가 작성한 공개 컬렉션을 검색가능하다.

공개된 컬렉션 이름을 누르면 아래와 같이 자세한 요청 명세를 확인가능하다.

컬렉션 이름을 마우스 우클릭하면 아래에 Export가 보인다. 이를 클릭하면 json형태의 파일로 내려받을 수 있다.

이제 My workspace에서 import버튼을 누르면 아래와 같은 창이 뜨는데 해당 파일을 드래그앤 드랍해주면 컬렉션이 추가된다.

 

 

PROFIT!

힘들여 작성하지 말고 검색해서 가져오자!

728x90

Settings > Developer Settings

메뉴에서

 

Personal access tokens > Tokens (elascic) 을 선택

Generate new token

 

git pull과 action을 사용하기 위해선 workflow만 선택하면 된다.

 

실서버에서 다음과 같이 pull을 받으면 된다.

git pull https://<계정명>:ghp_test6efghNantoKaNantoKaKUtYa1234Vx3Y0@github.com/test/test.git <branch이름>

 

728x90

 sudo vi /etc/httpd/conf.d/vhost.conf 

 

<VirtualHost *:80>
        ServerName test.site.net
        ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass / http://localhost:8012/
        ProxyPassReverse / http://localhost:8012/
        RewriteEngine On
        RewriteCond %{REQUEST_METHOD} ^OPTIONS
        RewriteRule .* - [F]
</VirtualHost>

 

E2C Route53 설정

  1. Route 53 > Hosted zones 에서 domain.net 선택
  2. Create reacord에서 Routing policy 종류를 심플 라우팅으로 선택
  3. Configure records - Define simple record 선택
728x90

리액트 네이티브 개발을 하려는데 빌드하려고보니 최신 안드로이드 그래들은 jdk11을 요구한다.

그래서 openJDK를 설치하여 환경 변수를 설정하고 새로 빌드하니 해결되었다.

 

1. brew사용한 설치 

brew install adoptopenjdk11 --cask

 

2. 자바홈 확인

/usr/libexec/java_home -V

Matching Java Virtual Machines (2):
    11.0.11 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    1.8.0_312 (arm64) "Azul Systems, Inc." - "Zulu 8.58.0.13" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

 

3. 환경변수 편집 ( zshrc를 수정해도 된다 )

vi ~/.bash_profile

editor 열리면 G 입력으로 맨끝줄 이동하여 아래 코드 추가

export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"

 

저장 후 (:wq)  환경변수 적용

source ~/.bash_profile

4. 변경된 자바 버전 확인

java -version

 

5. 안드로이드 그래들 JDK 버전 변경 ( mac 기준 cmd + , )

728x90

1. 설치

https://dashboard.ngrok.com/get-started/setup

 

ngrok - secure introspectable tunnels to localhost

 

dashboard.ngrok.com

 

2. 인증토큰 확인

https://dashboard.ngrok.com/get-started/your-authtoken

 

ngrok - secure introspectable tunnels to localhost

 

dashboard.ngrok.com

3. ngrok 에이전트 인증 (첫 한번만 필요, Authtoken은 기본 구성 파일에 저장됨)

ngrok 다운로드 폴더로 이동 후

$ ./ngrok authtoken [토큰번호]

 

4. ngrok 실행

$ ./ngrok http [PORT번호]

 

잠시 후 ngrok이 실행되면,

아래와 비슷한 https로 시작하는 포워딩 주소를 열어 확인하면 됩니다.

https://6eda-231-229-250-184.ngrok.io

 

728x90

내 경우엔 typescript를 기본으로 사용하는 nest project가 실행이 안되어서 에러로그를 보니

TS2688 에러가 났다.

 

➜  ch1-intro git:(main) ✗ npm run start

> book-nestjs-backend@1.0.0 start
> nest start

error TS2688: Cannot find type definition file for 'uglify-js'.
  The file is in the program because:
    Entry point for implicit type library 'uglify-js'
error TS2688: Cannot find type definition file for 'webpack-sources'.
  The file is in the program because:
    Entry point for implicit type library 'webpack-sources'

Found 2 error(s).

그래서 아래와 같이 정의를 찾지 못하는 패키지를 설치

$ npm install --save @types/webpack-sources

$ npm install --save @types/uglify-js

 

그 후 npm run start를 하니 실행이 되긴했는데 찝찝한 기분이다...

다른 해결책이나 비슷한 오류를 보신 분이 있으면 댓글 달아주시면 감사하겠습니다.

728x90
  • node version 프로젝트별 관리
    • nvm이 이미 설치되어있다고 가정
    프로젝트 루트 폴더에서 아래 파일 생성
  • vi .nvmrc프로젝트 노드 버전을 위와 같이 작성 후 저장
  • 12.13.0
  • vi ~/.zshrc
# place this after nvm initialization!

autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
local nvmrc_path="$(nvm_find_nvmrc)"

if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

```
if [ "$nvmrc_node_version" = "N/A" ]; then
  nvm install
elif [ "$nvmrc_node_version" != "$node_version" ]; then
  nvm use
fi

```

elif [ "$node_version" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
#####################################
  •  위 항목 추가 후 source ~/.zshrc
  • vi ~/.bash_profile  로 아래 항목 추가 후
find-up () {
    path=$(pwd)
    while [[ "$path" != "" && ! -e "$path/$1" ]]; do
        path=${path%/*}
    done
    echo "$path"
}

cdnvm(){
    cd "$@";
    nvm_path=$(find-up .nvmrc | tr -d '[:space:]')

    # If there are no .nvmrc file, use the default nvm version
    if [[ ! $nvm_path = *[^[:space:]]* ]]; then

        declare default_version;
        default_version=$(nvm version default);

        # If there is no default version, set it to `node`
        # This will use the latest version on your machine
        if [[ $default_version == "N/A" ]]; then
            nvm alias default node;
            default_version=$(nvm version default);
        fi

        # If the current version is not the default version, set it to use the default version
        if [[ $(nvm current) != "$default_version" ]]; then
            nvm use default;
        fi

        elif [[ -s $nvm_path/.nvmrc && -r $nvm_path/.nvmrc ]]; then
        declare nvm_version
        nvm_version=$(<"$nvm_path"/.nvmrc)

        declare locally_resolved_nvm_version
        # `nvm ls` will check all locally-available versions
        # If there are multiple matching versions, take the latest one
        # Remove the `->` and `*` characters and spaces
        # `locally_resolved_nvm_version` will be `N/A` if no local versions are found
        locally_resolved_nvm_version=$(nvm ls --no-colors "$nvm_version" | tail -1 | tr -d '\->*' | tr -d '[:space:]')

        # If it is not already installed, install it
        # `nvm install` will implicitly use the newly-installed version
        if [[ "$locally_resolved_nvm_version" == "N/A" ]]; then
            nvm install "$nvm_version";
        elif [[ $(nvm current) != "$locally_resolved_nvm_version" ]]; then
            nvm use "$nvm_version";
        fi
    fi
}
alias cd='cdnvm'
  • source ~/.bash_profile

+ Recent posts