AWS 운영 문제 해결 노트

EC2에서 RDS(SQLserverExpress)에 연결할 수 없음



원인은 보안 그룹에서 포트가 열릴 수 없었기 때문입니다.



EC2와 RDS(SQLserverExpress)를 같은 보안 그룹으로 변경하고 SQLserver의 포트를 개방하는 것으로 해결. 하기 사이트를 참고로 했습니다.
htps : //는 ck에서. jp/아 r ゔぇ s/39927/

RDS (SQLserverExpress)에 작성한 DB를 삭제할 수 없음



RDS(SQLserverExpress)에서는 온프레와 같이 sysdba 권한을 부여할 수 없고, 작성한 DB 자체를 삭제할 수 없었습니다. 아래와 같은 권한을 부여하는 것으로 DB 삭제 가능하게 되었으므로 메모.

권한 변경으로 DB도 삭제 가능하게



서버의 프로퍼티 - 권한 - 서버 롤의 변경에 「허가」의 체크를 넣으면 DB도 삭제 가능하게 되었다.


sqlcmd (Oracle에서 말하는 sqlplus)를 사용할 수 없습니다.



원인은 SSMS 설치시 sqlcmd 유틸리티가 설치되지 않도록 사양이 바뀌었기 때문입니다. 이 사이트를 참고로 sqlcmd 유틸리티를 설치하여 사용할 수 있는 상태가 되었습니다.



정기적으로 DB의 전체 백업을하고 싶습니다.



아래의 배치를 EC2에서 킥해서 S3에 백업할 수 있는 것도 확인 완료.



※사전에 IAM 유저에게 권한이 부여되어 있는 것이 필요



DB_BACKUP_ALL_RDS.bat
echo off

rem **********************
rem 初期化処理
rem **********************

SET COMPUTERNAME=エンドポイント名
SET UID=ユーザID
SET PASS=パスワード
SET DATABASE=データベース名
SET BASEDIR=%~dp0
SET LOG=%BASEDIR%log\DB_BACKUP_ALL_%date:~0,4%%date:~5,2%%date:~8,2%.log

sqlcmd -S %COMPUTERNAME% -U %UID% -P %PASS% -d %DATABASE% -Q "EXEC [dbo].[USP_DB_BACKUP_ALL];"

Rem SQL実行結果判定
IF %ERRORLEVEL% NEQ 0 GOTO ERROR

REM 正常終了
goto NORMAL

Rem **********************
Rem 正常終了
Rem **********************
:NORMAL
ECHO バッチを正常終了します >> %LOG%
ECHO 終了時刻:%DATE%%TIME% >> %LOG%
ECHO エラーコード:%ERRORLEVEL% >> %LOG%
ECHO ********************** >> %LOG%
EXIT /B

Rem **********************
Rem 異常終了
Rem **********************
:ERROR
ECHO バッチを異常終了します >> %LOG%
ECHO 終了時刻:%DATE%%TIME% >> %LOG%
ECHO エラーコード:%ERRORLEVEL% >> %LOG%
ECHO ********************** >> %LOG%
EXIT /B

echo on

사내에서 RDS에 연결할 수 없음 (DirectConnect 연결됨)



DirectConnect에서 사내와 AWS를 연결했지만 사내에서 RDS에 연결할 수 없습니다.
RDS의 엔드포인트에 대해 tracert를 실시해 보면, 글로벌 IP로 RDS에 접속을 하고 있어, 보안 그룹의 설정으로 연주되고 있는 것이 판명.

RDS의 공개 액세스를 OFF로 변경해 봅니다.



RDS는 엔드포인트의 지정밖에 할 수 없기 때문에, 로컬 IP로부터 RDS에 액세스 하는 방법이 불명했지만, RDS의 퍼블릭 액세스를 OFF로 변경했는데, 로컬 IP로 접속하게 되었다.
내부 동작은 불분명하지만, 로컬 IP로 엔드포인트에 접속하기 위해서는 RDS의 퍼블릭 액세스가 OFF가 되어 있을 필요가 있는 모습.

이상

좋은 웹페이지 즐겨찾기