sourcecode

로컬 컴퓨터에서 AWS의 MySQL에 연결

copyscript 2023. 9. 6. 22:15
반응형

로컬 컴퓨터에서 AWS의 MySQL에 연결

로컬 컴퓨터에서 AWS의 MySQL DB에 액세스하는 개발 환경을 설정하려고 하는데 "연결할 수 없습니다"라는 메시지가 계속 나타납니다.

mysql_connect('xxx.xxx.xxx.xxx:3306', 'USERNAME', 'PASSWORD');

my.cnf 파일의 bind-address에 대해서도 코멘트를 하고, 접속 중인 IP 주소에 대해서도 권한을 부여했습니다.

성공적으로 이 일을 해 본 사람?

에 Elastic 통해 된 RDS 인스턴스에 .2013년 8월 8일 Elastic Beanstalk의 RDS 경험입니다.

합니다. 0) RDS 되었다고 합니다 가 합니다 되었다고 가
콘솔) 에 로그인합니다.e 문서:e 문서.
선택 -)스 ->VPC
Groups 3) Security Groups(보안 그룹) 선택 택)택))
에 " DB 4)에 "Security Group for RDS DB..."라고 표시된 합니다."라고 표시된 그룹을 선택합니다.
에서 "5)지 Security Group Selected에서 "Security Group Selected"를 선택합니다
6) [MySQL]을 선택합니다.
145)와 IP 주소(예: 145.23.32.15/32)를 합니다.
Rule Changes(규칙 추가 및 규칙 변경 적용8) 클릭칙및칙경항릭용가릭용kd경)칙칙및yd

이 작업을 수행한 후 로컬 머신에서 mysql을 사용하여 데이터베이스에 연결할 수 있었습니다.

->RDSa 에서 ->RDS 합니다를 합니다.
인스턴스one)를 " 페이지로 합니다. b) DB스 한 로합니다"k
c)에서 및 서트기트및기서트
--hostm ) mysql --hostm --port 3306 -umy-user-name -p와 같은합니다.

RDS 인스턴스를 통해 AWS에서 MySql을 사용하는 경우 연결할 IP 주소를 "DB Security Groups"에 추가해야 합니다.로 이동하여 Management Console] [ RDS]를 선택합니다.
패널 에서 " Groups선택합니다. ① "DB Security Groups"(DB Security Groups)를 선택합니다.
2. "기본값"을 선택합니다.
에서 "후IP 주소.합니다. 선택란에서 "CIDR/IP"를 선택하고 워크스테이션 공용 IP 주소를 입력합니다.예:
23.234.192.123/32(단일 IP의 /32를 잊어버릴없음)
" 4. 가" 를 .
몇 분 를 연결합니다. 5. MySql다합니다.

이는 RDS 인스턴스에만 적용됩니다. EC2 인스턴스에 설치된 MySql을 사용하는 경우 지침은 원격 시스템에서 MySql에 액세스하는 것과 동일합니다.

아마존이 방화벽을 설치한 것 같은데 SSH 터널을 사용해 보십시오.

http://blogs.oracle.com/divyen/entry/connecting_mysql_server_on_amazon

참고: IP 필터링을 사용하는 경우에도 MySQL을 공용 인터넷에 열지 마십시오.SSH 터널이 훨씬 안전합니다.대부분은 다음과 같습니다.시스템에서 localhost:3306을 사용하여 터널에 액세스할 수 있으므로 구성을 변경할 필요가 없습니다. )

저는 윈도우 7 기계에 있고, AWS RDB에 연결하기 위해서는 다음과 같은 3가지 변경을 해야 합니다.

  1. AWS Console의 VPC Security Group 업데이트(위의 Mike와 유사)

    • https://console.aws.amazon.com 에서 서비스(왼쪽 위)를 클릭하고 VPC를 선택합니다.
    • 다음으로 Security Groups(보안 그룹)를 선택합니다.
    • Security Group for RDS DB...(보안 그룹 for RDS DB...)라는 설명이 있는 Security Group(보안 그룹)을 클릭합니다.
    • [인바운드] 탭의 [새 규칙 작성] 드롭다운에서 "MYSQL"을 선택합니다.
    • CIDR 형식으로 IP 주소를 추가하고 규칙 추가를 클릭합니다.
    • Apply Rule Changes(규칙 변경 적용)을 클릭합니다.
  2. 로컬 MySQL 구성의 my.cnf 업데이트

    • "http-address = 127.0.0.0.1"을 "http-address = 0.0.0"으로 변경합니다.
    • "네트워킹 건너뛰기" 댓글 달기
  3. Windows 방화벽 끄기

    • 제어판/시스템 및 보안/Windows 방화벽으로 이동하여 Windows 방화벽을 끕니다.

이러한 변경 후에는 두 가지를 모두 통해 연결할 수 있습니다.

  • 데이터베이스를 사용하는 MySQL WorkBench ->데이터베이스에 연결
  • 명령 프롬프트 사용

    mysql.exe -h <AWS DB Endpoint> -U <UserName> -P <Port Number, likely 3306> -p
    

저는 RDS와 함께 MySQL Workbench http://www.mysql.com/products/workbench/ 을 사용해 왔는데 잘 작동합니다.새 데이터베이스 서비스 인스턴스를 만들고 저장하기가 매우 쉽습니다."서버 관리"에서 "새 서버 인스턴스"를 누른 후 지시사항을 따릅니다.해당 인스턴스에 대해 AWS RDS 웹 페이지에 제공된 정보(예: 끝점)를 입력해야 합니다.

참고: 실제로 연결하려면 "DB Security Groups"에 IP 주소를 추가해야 합니다.링크는 왼쪽 열에 있으며 "항해"라는 제목이 붙어 있습니다.저는 "CIDR/IP" 옵션을 사용합니다(다른 하나는 EC2 Security Group입니다).예에서 사용하는 "/32"와 같이 IP 뒤에 "/##"을 포함해야 합니다(페이지에 표시됩니다).몇 초 안에 IP 주소를 승인해야 합니다.

그런 다음 MySQL Workbench로 돌아가서 New Server Instance 생성 프로세스를 완료합니다.

연결을 사용하려면 코드가 다음과 같이 보일 수 있습니다(내 Java 코드에서 발췌된 내용).

String url = "jdbc:mysql://yourdatabasename.foo.us-east-1.rds.amazonaws.com:3306/";
String userName = "your_user_name";
String password = "your_password";
String dbName = "your_db_name";
String driver = "com.mysql.jdbc.Driver";
Connection connection = DriverManager.getConnection(url + dbName, userName, password);

RDS를 생성할 때는 로컬 또는 다른 인스턴스에서 mySQL 연결을 허용하도록 방화벽을 구성해야 합니다. 이러한 패킷이 방화벽 수준에서 삭제되는 경우 이를 해결하려면 다음 작업이 필요합니다.

  • AWS 콘솔 로그인 RDS로 이동

enter image description here

mySQL 서버의 Security Group(awseb-e의 경우)을 메모합니다.

  • 클릭 보안 그룹
  • 가운데 메뉴 awseb에서 그룹을 클릭합니다.
  • 인바운드 탭 클릭

목록에서 mySQL을 선택하고 클라이언트 서버의 세부 정보를 추가하고 규칙을 저장합니다.

enter image description here 참고: 내 IP를 선택하면 AWS에서 IP를 선택하고, 다른 IP를 사용해야 할 경우

https://www.whatismyip.com/my-ip-information/

IP4 IP를 추가합니다.

enter image description here

언급URL : https://stackoverflow.com/questions/8344057/connect-to-mysql-on-aws-from-local-machine

반응형