Amazon LinuxとAmazon RDS Oracleのセットアップ
お勉強用環境作りで実施した作業の忘備録です。
各インスタンスを作成する
1. EC2
無料枠のものを画面に沿ってポチポチ選択して進む。キーペア(.pem)をDLしておく。再起動の度にIPアドレスが変わるのは面倒なので、Elastic IP(固定グローバルIP)を割り当てました。
2. RDS
無料枠のものを画面に沿ってポチポチ選択して進む。パブリックアクセシビリティは「はい」としました。
3. EC2インスタンスからRDSインスタンスへの疎通を確認する
EC2インスタンス作成時にDLしたキーペアを使ってSSH接続。IPアドレスはElastic IP、キーペアファイルはPC内で移動したのでこんなパスになってます。
$ ssh -i ~/.ssh/キーペアファイル名.pem ec2-user@EC2インスタンスのIPアドレス
ncコマンドで疎通確認。うまくいけばsucceeded!的な応答がある。
$ nc -zv RDSインスタンスのエンドポイント RDSインスタンスのポート
疎通がうまくいかないときは、セキュリティグループの設定を見直す。ちなみに、EC2インスタンスもRDSインスタンスも、同一のセキュリティグループ(設定内容は下記)を指定している。ついでに、このあとインストールするTomcatのために8080ポートも追加しました。
インバウンド
タイプ | プロトコル | ポート | ソース |
---|---|---|---|
HTTP | TCP | 80 | 0.0.0.0/0 ※無制限の意 |
SSH | TCP | 22 | X.X.X.X/X ※今回は個人で契約している固定IP |
Oracle-RDS ※カスタム TCP ルール | TCP | 1521 | ※セキュリティグループID |
カスタム TCP ルール | TCP | 8080 | 0.0.0.0/0 |
アウトバウンド
タイプ | プロトコル | ポート | ソース |
---|---|---|---|
HTTP | TCP | 80 | 0.0.0.0/0 ※無制限の意 |
Oracle-RDS ※カスタム TCP ルール | TCP | 1521 | ※セキュリティグループID |
おまけ:ただのテストなのでお金をかけたくない
EC2とRDSの各インスタンスを停止させると、停止中その2つは課金されないそうです。
※2018年10月12日追記:お勉強するときだけ適宜立ち上げようと思ったのですが、RDSは1週間くらいで勝手に立ち上がってしまう?らしいです。課金も発生しますので、ご注意。
おまけ:EC2インスタンスにSFTP接続する
上記のSSHコマンドに使用した情報(ホスト、ユーザー、鍵)をそのまま使います。
おまけ:EC2インスタンスでAWS CLIを利用できるようにする
AWS CLIとは、AWSの操作を、用意されているコマンドで簡単に行えるようにするもの。CLI=コマンドラインインターフェイス。
1. ユーザー作成
IAM -> ユーザー -> ユーザーを追加 -> ユーザー名「aws-cli」、アクセスの種類「プログラムによるアクセス」 -> 既存のポリシーを直接アタッチ -> 「PowerUserAccess」選択 -> ユーザーの作成 -> 完了画面でCSVをDLしておく
2. credentials.csvの内容をもとにaws configureコマンドを実行する
[ec2-user@ip-XXX-XX-XX-XXX ~]$ aws configure AWS Access Key ID [None]: ※Access key ID入力 AWS Secret Access Key [None]: ※Secret access key入力 Default region name [None]: us-east-1 Default output format [None]: json [ec2-user@ip-XXX-XX-XX-XXX ~]$ ls -a . .. .aws .bash_history .bash_logout .bash_profile .bashrc .ssh
.awsというフォルダが作成されたりして設定完了。ちなみにawsコマンドを実行する際、下記のように–debugを付けると、デバッグはもちろん、そのコマンドが何を実行しているのかが見られるので理解が深まります。
$ aws ec2 describe-instances --debug