AWS S3를 쓰다보면 파일질라와 같이 파일시스템 방식으로 S3내의 객체를 관리하고 싶을때가 있다.

 

이럴때 사용할 수 있는 방법은 다음과 같다.

 

1. 브라우저에서 AWS 콘솔을 이용하여 관리 - 가장 심플하고 설정도 쉽다. 브라우저 기반으로 하므로 메모리를 많이 잡아 먹는다.

 

2. 프로그램을 이용하여 관리 - 개인 무료버전이 적고 Win/Mac/Linux를 모두 지원하는 프로그램이 적다. 회사에서 쓰려면 대부분 $40 정도를 내야 한다.

 

브라우저 기반 관리 방법은 다음을 참고

 

 

추천 프로그램은 다음과 같다.

 

cyberduck :
이 오리 사용은 무료입니다.
기부창 보기 싫으면 10USD기부로 해결하는 혜자 구성
심플/저렴/세팅 편함, Windows와 Mac OS 모두 지원

써보고 괜찮으면 구매/기부 해서 사용해도 좋다. 사이트에 광고가 좀 많아서 그렇지 프로그램은 기부해줘 말곤 없으니 사용도 편한 편.

새연결을 누르고 

S3를 선택하면 세팅 입력이 나온다.

AWS IAM 세팅하고나서 입력해주면 쉽게 연결 가능

 

 

S3 Browser
Windows에서 사용하기 좋음, 가이드 잘 나와 있음
Mac은 지원 안함, S3만 지원함, 회사는 돈내야함, 

 

사용법은 다음을 참고(글 작성 중)

 

 

VS Code Plugin(AWS Toolkit)
Microsoft의 VS Code에 AWS 공식 확장기능의 신뢰성

AWS에서 무려 공식으로 지원하는 플러그인이다. 내가 가진게 VS Code라서 저걸 했지만 파이참이라던가 인텔리제이라던가 하는 에디팅툴에 플러그인형식으로 제공해준다.

 

'https://aws.amazon.com/ko/visualstudiocode/

 

Visual Studio Code 플러그인 - AWS Toolkit for Visual Studio Code - AWS

 

aws.amazon.com

 

사용 방법은 아래를 참고

https://docs.aws.amazon.com/ko_kr/toolkit-for-vscode/latest/userguide/sso-credentials.html

 

AWSIAM 아이덴티티 센터 - AWSVS Code용 툴킷

툴킷의 IAM Identity Center 자격 증명으로 인증하는 동안 문제가 발생하는 경우 다음 사항을 참고하십시오. IAM Identity Center 자격 증명이 만료될 때마다 이 프로세스를 반복하여 재인증해야 합니다.다

docs.aws.amazon.com

 

그밖에

Commander One 이나 ExpanDrive 같은 것들은 Download Free 이고 실제로 사용하려면 돈을 내야 한다.

ExpanDrive는 15일 트라이얼 이후 20분의 시간제한이 생긴다. Commander One은 더 악질인게 다 되는거 처럼 보여놓고 S3는 Pro 버전에서만 된다. Cyberduck가 기부 요청하는 거만 아니면 가장 가볍고 빠르다. 기부도 10USD 뿐이고. App스토어에서 대략 3만원쯤 하는듯

 

브라우저에서 하는게 제일 속편한거 같다.

Posted by IT매니저

Amazon S3 의 객체를 파일시스템(Filezilla, sftp 등) 방식으로 관리하는 툴 중 하나인 S3 Browser 사용법

S3 Browser는 Freeware(개인)이며 기업에서 사용하려면 Pro Version($39.99)을 구입해야 한다.

 

장점:  쉬운사용, S3에 최적화된 기능, 권한설정을 잘 해놓으면 콘솔접속 없이도 S3대부분의 기능을 컨트롤 가능

단점: Deep한 기능은 Pro에서만 제공, Windows 전용(Mac, Linux 불가)

 

우선 S3에 들어가서 계정생성 및 키를 만든다

 

Root 키는 절대 쓰지말고 IAM에서 제한된 권한을 발급한다.

 

https://s3browser.com/aws-access-key-id-and-secret-access-key.aspx

 

Access Key Id and Secret Access Key. How to retrieve your AWS Access Keys and use them to access Amazon S3.

AWS Access Keys Access Keys are used to sign the requests you send to Amazon S3. Like the Username/Password pair you use to access your AWS Management Console, Access Key Id and Secret Access Key are used for programmatic (API) access to AWS services. You

s3browser.com

 

 

테스트일 경우 FullAccess 권한을 주지만 실무에서는 특정 버킷내의 폴더에 대한 권한만 주는 것이 좋다.

 

2024.01.18 - [생활정보/Cloud] - [AWS] S3 특정 버킷 또는 폴더에만 접근 권한 부여하기

 

[AWS] S3 특정 버킷 또는 폴더에만 접근 권한 부여하기

Amazon S3를 사용하다보면 보안 문제로 특정 사용자에게 제한적인 권한을 줘야할 때가 있다. 보통 S3를 처음 쓰거나 할때는 전체 권한을 주는 경우가 많은데 S3에 접근하는 계정이나 App이 많아지면

gazuaa.tistory.com

 

연결 테스트는 S3 Full Access 권한을 주고 연결 확인이 되면 해당 IAM계정의 Role을 변경하자.

 

다음은 브라우저 파일을 받는다

 

 

홈페이지에서 파일을 다운로드: S3 브라우저 - WindowsAmazon S3 클라이언트 이용 

https://s3browser.com

 

S3 Browser - Amazon S3 Client for Windows. User Interface for Amazon S3. S3 Bucket Explorer.

 

s3browser.com

 

다운로드 받은 프로그램 설치

 

 

 

AMI에서 만든 계정의 Access Key 와 Secret Access Key 입력

 

통신하면서 불안한 경우 Encrypt Access Keys with a password를 체크해서 패스워드를 보호하자.

 

만약 위에 "특정 버킷의 폴더"를 제한한 경우라면 아래 "advanced settings"를 클릭해서 버킷명/폴더명 까지 입력해준다.

(안그러면 권한 때문에 List를 볼수 없어 오류가 난다)

 

제대로 연결되었다면 버킷 목록이 보인다.(FullAccess 인경우)

 

폴더 제한을 걸어놓은 경우 해당 폴더가 위치한 버킷만 보이면 성공이다.

 

업로드/다운로드/삭제 테스트를 한다.

 

Posted by IT매니저

출처: AWS Documentation(https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html)

Amazon S3를 사용하다보면 보안 문제로 특정 사용자에게 제한적인 권한을 줘야할 때가 있다.

 

보통 S3를 처음 쓰거나 할때는 전체 권한을 주는 경우가 많은데 S3에 접근하는 계정이나 App이 많아지면 보안문제가 발생할 수 있다. (A가 접근하지 말아야 할 버킷에 파일을 삭제하거나 다운로드 받는 등)

 

1. IAM에서 사용자 추가

 

2. 사용자계정의 엑세스키 만들기

 

3.  사용자선택 후 권한 추가 -> 인라인 정책생성

 

4. Json 탭 선택 후 아래 코드 입력

 

 

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::버킷명",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "폴더명/*"
                }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::버킷명/폴더명/*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "s3:GetBucketVersioning",
            "Resource": "arn:aws:s3:::버킷명"
        }
    ]
}

 

위와 같이 하면 버킷 아래의 폴더 단위까지 컨트롤이 가능하다. 

특히 S3 버킷안에 부서/사용자 별로 접근해야 하는 폴더가 다른 경우 유용하게 사용할 수 있다.

삭제 권한을 빼려면 (업로드/다운로드만 가능하게 하려면) 중간의 "s3:DeleteObject" 부분을 제거해 준다.

 

예시)

Mybucket/testfolder/myfolder

버킷명: Mybucket

폴더명: testfolder/myfolder

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::Mybucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "testfolder/myfolder/*"
                }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::Mybucket/testfolder/myfolder/*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "s3:GetBucketVersioning",
            "Resource": "arn:aws:s3:::Mybucket"
        }
    ]
}

위와 같이 하면 권한이 있는 폴더를 제외한 다른 버킷/폴더는 해당 권한을 가진 IAM계정에서 보이지 않게 된다.

 

App에서만 사용하는 경우는 여기까지만 하면 되고 만약 사용자를 Amazon S3 콘솔에서 접근하게 하려면 보안자격증명에서 콘솔엑세스관리를 눌러 콘솔 접근 권한을 부여해주면 된다.

 

S3 Direct 링크는 다음과 같다. 

https://s3.console.aws.amazon.com/s3/buckets/Mybucket/testfolder/myfolder/ 

 

 

무분별하게 "AmazonS3FullAccess" 권한을 주고 있다면 제한적인 권한으로 보안을 강화시켜보자

 

 

'생활정보 > Cloud' 카테고리의 다른 글

S3 Browser 사용방법  (0) 2024.01.19
AWS EBS 볼륨 축소 방법  (0) 2020.02.12
Posted by IT매니저

2020.02.07 - [생활정보/IT] - 대충 전산쟁이가 말하는 필요 자격증

 

대충 전산쟁이가 말하는 필요 자격증

취업난이 가속될때마다 취업에 도움이 된다는 자격증 학원은 미어터짐 인턴으로라도 들어가려면 무슨 무슨 자격증이 있어야 한다더라 하면서 몰리는 것도 넌센스 경력있는 신입을 뽑는다는 회

gazuaa.tistory.com

2020년에 필요한 자격증을 정리했었는데 4년이 지난 지금 생각해보니 미래를 보는 눈이 부족했던 것 같다.

 

최근 들어 느끼는 것이지만 아래 자격증도 따놓으면 좋다.(내가 따서 말하는거 아님)

 

클라우드 관련 자격증


1. AWS 자격증(AWS Cloud Practitioner, AWS Associate 등)

   - 클라우드쪽 엔지니어가 아니더라도 기본적인 클라우드 환경에 대한 이해를 돕는 프랙티셔너 정도는 필요하다.

   - 중소기업이라면 업체 안쓰고 직접해야 할 수도 있으니 1위 업체인 AWS 관련 자격증 하나 정도는 필수

   - 자격 관련 사항은 다음을 참고(https://aws.amazon.com/ko/certification/?nc2=sb_ce_co)

 

2. Azure 자격증

   - 나름 2위를 고수하고 있는 Microsoft 이며 AWS에 비해 자격도 많이 세분화 되어 있다.

   - 다만 Azure 를 사용하는 회사가 아니라면 가볍게 기본적인 것만 알아도 문제 없음

   - 자격 관련 사항은 다음을 참고(https://learn.microsoft.com/ko-kr/credentials/)

 

3. GCP(구글클라우드플랫폼) 자격증

   - 어찌저찌 3위 업체, 많은 투자로 올라오고 있으며 저렴한 가격을 기반으로 공략중

   - 입사하려는 회사가 GCP를 사용한다면, 아니 기초를 얻고 싶다면 따놓으면 좋음(게다가 홈페이지에 게시도 해줌)

   - 자격 관련 사항은 다음을 참고(https://cloud.google.com/learn/certification/?hl=ko)

 

4. OCI(오라클클라우드인프라스트럭처) 자격증

   - DB 시장에 독보적인 위치를 가지고 있는 오라클의 클라우드 자격증.

   - 만약 오라클 관련 취업을 하고 싶다? OCP + @ 생각할때 따놓으면 좋음. 단, 클라우드 입문용은 아님

   - 24년 1월 현재 일부 과정을 무료로 풀고 있음(https://developer.oracle.com/ko/certifications.html)

 

5. NCP(네이버클라우드플랫폼)

  - 나름 국내 시장에서 선전중인 클라우드 자격증. 

  - 아직 자격증취득을 고려할 정도는 아님(위에 것중 한두개 있으면 배우면서 해도 무관)

  - 어짜피 나중에 갱신할거 생각하면 좀더 지켜보다가 입사후 취득이 나을 수도 있음

  -  자격 정보는 (https://edu.ncloud.com/certi )

 

ETC

  클라우드와 관계가 좀 애매하기는 한데. 클라우드쪽을 가기로 했고 개발자라면 다음 자격증도 눈여겨 봐야 한다.

 

쿠버네티스 자격증

https://kubernetes.io/ko/training/

 

교육

운영 수준의 컨테이너 오케스트레이션

kubernetes.io

  쿠버네티스야 뭐 웬만큼 규모가 있는 경우에 대부분 하고 있고 개발자라면 컨테이너인 도커도 익숙해져야하니 알아두면 좋을 것이다.

 

DCA(Docker Certified Associate)도커 인증

개발자가 모르면 섭하다는 컨테이너기반 플랫폼을 폭팔시킨 도커는 도커 엔터프라이즈를 미란티스에 넘겼고 미란티스는 이를 가지고 인증을 해주고 있다. 원래 도커커뮤니티에서 인증을 해줬던것 같은데. 인증 받는 법도 좀 어려운 편이라 가능한 경우 취득할 것.

 

Posted by IT매니저

AWS에서 RDS로 MSSQL을 운용하게 되었다.

DBA도 아니지만 Deep한 업무는 아웃소싱으로, 간단한 건 직접 처리해야하는 업무 특성상 GUI툴인 SSMS(SQL Server Management Studio)를 이용하고 있는데 DB에 뭔가 문제가 있어서 삭제하고 다시 복원하려니까 데이터베이스 삭제가 되지 않는다.

 

데이터베이스 'xxx'에 대한 학제이(가) 실패했습니다. (Microsoft.SqlServer.Smo)
추가 정보:
 Transact-SQL 문 또는 일괄 처리를 실행하는 동안 예외가 발생했습니다.
 (Microsoft.SqlServer.Connection.Info)
      The database 'xxx' is currently joined to an availability group. Before you can drop the database, you need to remove it from the availability group.(Microsoft SQL Seerver, 오류:3752)

 

기본적으로 RDS에서 운영할때는 (AWS RDS Custom for MSSQL 제외) 기본적으로 마스터 권한 제한이 있어서 생성은 되나 삭제 권한이 없어서 AWS에서 사전에 세팅해놓은 명령어로 삭제를 진행해야 한다.

 

--[데이터베이스이름] 에 Drop 할 이름을 넣어서 실행
EXECUTE msdb.dbo.rds_drop_database N'[데이터베이스이름]'

 

예제 : 티스토리 이름의 데이터베이스 삭제
EXECUTE msdb.dbo.rds_drop_database N'티스토리'

 

참고 : https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.DropMirrorDB.html 

 

Microsoft SQL Server 데이터베이스 삭제 - Amazon Relational Database Service

Microsoft SQL Server 데이터베이스 삭제 단일 AZ 또는 다중 AZ 배포에서 Microsoft SQL Server를 실행하는 Amazon RDS DB 인스턴스의 데이터베이스를 삭제할 수 있습니다. 데이터베이스를 삭제하려면 다음 명령

docs.aws.amazon.com

 

Posted by IT매니저
이전버튼 1 이전버튼

블로그 이미지
IT 관리자 일기
IT매니저

공지사항

Yesterday
Today
Total

최근에 올라온 글

최근에 달린 댓글

달력

 « |  » 2024.1
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31