2
0

More than 3 years have passed since last update.

【AWS】EC2インスタンスを作成しRDBへ接続

Posted at

AWSのワークショップに参加してインスタンスとDBを作成したメモ

EC2 Linuxインスタンス作成

左上の「サービス」を選び「EC2」を選択
画像01.jpg

左のメニューから「インスタンス」を選び「インスタンスの作成」を選択
画像02.jpg
画像03.jpg

AMIはAmazon Linux 2 AMIを選択
画像04.jpg

インスタンスタイプは無料利用枠対象のt2.microを選択し「次のステップ」へ
画像05.jpg

ネットワークでVCP、サブネット(パブリックサブネット)、自動割り当てパブリックIPを「有効」にする
画像06.jpg

ストレージはデフォルトのままで「次のステップへ」
画像07.jpg

作ったインスタンスがわからなくならないように「Nameタグ」を追加
画像08.jpg

インスタンスの区別がつくようにNameタグを追加し「次」
画像09.jpg

セキュリティグループは、事前に作成してあるクライアントがあるネットワークからの接続を許可しているのを選択し、「確認と作成」
画像10.jpg

インスタンス作成の確認画面で設定を確認した上で「起動」
画像11.jpg

「既存のキーペアの選択」を選び、ダウンロードしたキーに対するキーペアを選択し、チェックを入れて「インスタンスの作成」
画像12.jpg

インスタンスの作成中になったら、インスタンスIDをクリックしてインスタンス画面へ
画像13.jpg

インスタンスの状態が「running」になったら起動完了。「説明」タブの「パブリックDNS(IPv4)」か「IPv4パブリックIP」のどちらの値を使って、sshで接続してみる。
画像14.jpg

EC2 Linuxインスタンス作成完了

SSHでアクセスすると Amazon Linux 2 AMIのプロンプトが表示される
画像15.jpg

RDS DBインスタンス作成

「サービス」から「RDS」を選択
画像16.jpg

「データベース」から「データベースの作成」をクリック
画像17.jpg
画像18.jpg

「PostgreSQL」を選択
画像19.jpg

DBエンジンは複数のバージョンがさレポートされているので使いたいのを選ぶ
テンプレートは「開発/テスト用」を選んでおくとコストがかかる選択肢が選ばれにくくなる
画像20.jpg

DBの設定画面
画像21.jpg

  • DBインスタンス識別子は、好きなものを。この名前ベースでアクセスするからわかりやすく
  • マスターユーザ名が管理者ユーザ名になる
  • マスターパスワード・パスワードを確認の部分で適当なパスワードを入力

DBインスタンスクラスは「バースト可能クラス(tクラスを含む)」で「db.t2.small」を今回は選択
画像22.jpg

ストレージは「汎用(SSD)20GB」のデフォルト
画像23.jpg

VPCはEC2と同じ「DBWORKSHOP-VPC」を選択(他のにするとEC2インスタンスとインターネットゲートウェイ経由じゃないと)繋がらなくなる)
「追加の接続設定」で「サブネットグループ」を「tmp-subnet-group-private-3az」を選択。RDSでは、サブネットをサブネットグループというひとまとまりの設定で扱う。ここでは、プライベートサブネットを束ねたこのサブネットグループを指定する。
パブリックアクセス可能は「なし」。パブリックサブネットとプライベートサブネットの間はプライベートIPだけで通信できる
画像25.jpg

VPCセキュリティグループを、「既存の選択」でDBように事前に作成してある「SG-PRIVATE」を選択
「追加設定」で「最初のデータベース名」に「test」と入力
最後に「データベースの作成」をクリックして作成完了

EC2インスタンスにDBクライアントをインストール
[ec2-user@ip-10-0-1-50 ~]$ sudo amazon-linux-extras install -y postgresql9.6
Installing postgresql
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-postgresql9.6
10 metadata files removed
4 sqlite files removed
0 metadata files removed
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                          | 2.4 kB  00:00:00
amzn2extra-docker                                                                                                                   | 1.3 kB  00:00:00
amzn2extra-postgresql9.6                                                                                                            | 1.3 kB  00:00:00
(1/5): amzn2-core/2/x86_64/group_gz                                                                                                 | 2.5 kB  00:00:00
(2/5): amzn2-core/2/x86_64/updateinfo                                                                                               | 184 kB  00:00:00
(3/5): amzn2extra-postgresql9.6/2/x86_64/primary_db                                                                                 |  37 kB  00:00:00
(4/5): amzn2extra-docker/2/x86_64/primary_db                                                                                        |  59 kB  00:00:00
(5/5): amzn2-core/2/x86_64/primary_db                                                                                               |  36 MB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package postgresql.x86_64 0:9.6.8-1.amzn2.0.2 will be installed
--> Processing Dependency: postgresql-libs(x86-64) = 9.6.8-1.amzn2.0.2 for package: postgresql-9.6.8-1.amzn2.0.2.x86_64
--> Processing Dependency: libpq.so.5()(64bit) for package: postgresql-9.6.8-1.amzn2.0.2.x86_64
--> Running transaction check
---> Package postgresql-libs.x86_64 0:9.6.8-1.amzn2.0.2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================================================
 Package                             Arch                       Version                                 Repository                                    Size
===========================================================================================================================================================
Installing:
 postgresql                          x86_64                     9.6.8-1.amzn2.0.2                       amzn2extra-postgresql9.6                     1.3 M
Installing for dependencies:
 postgresql-libs                     x86_64                     9.6.8-1.amzn2.0.2                       amzn2extra-postgresql9.6                     253 k

Transaction Summary
===========================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 1.6 M
Installed size: 5.3 M
Downloading packages:
(1/2): postgresql-libs-9.6.8-1.amzn2.0.2.x86_64.rpm                                                                                 | 253 kB  00:00:00
(2/2): postgresql-9.6.8-1.amzn2.0.2.x86_64.rpm                                                                                      | 1.3 MB  00:00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                      9.3 MB/s | 1.6 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : postgresql-libs-9.6.8-1.amzn2.0.2.x86_64                                                                                                1/2
  Installing : postgresql-9.6.8-1.amzn2.0.2.x86_64                                                                                                     2/2
  Verifying  : postgresql-libs-9.6.8-1.amzn2.0.2.x86_64                                                                                                1/2
  Verifying  : postgresql-9.6.8-1.amzn2.0.2.x86_64                                                                                                     2/2

Installed:
  postgresql.x86_64 0:9.6.8-1.amzn2.0.2

Dependency Installed:
  postgresql-libs.x86_64 0:9.6.8-1.amzn2.0.2

Complete!
  0  ansible2                 available    [ =2.4.2  =2.4.6  =2.8 ]
  2  httpd_modules            available    [ =1.0 ]
  3  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  5  postgresql9.6=latest     enabled      [ =9.6.6  =9.6.8 ]
  6  postgresql10             available    [ =10 ]
  8  redis4.0                 available    [ =4.0.5  =4.0.10 ]
  9  R3.4                     available    [ =3.4.3 ]
 10  rust1                    available    \
        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0  =1.38.0 ]
 11  vim                      available    [ =8.0 ]
 13  ruby2.4                  available    [ =2.4.2  =2.4.4  =2.4.7 ]
 15  php7.2                   available    \
        [ =7.2.0  =7.2.4  =7.2.5  =7.2.8  =7.2.11  =7.2.13  =7.2.14
          =7.2.16  =7.2.17  =7.2.19  =7.2.21  =7.2.22  =7.2.23
          =7.2.24 ]
 16  php7.1                   available    \
        [ =7.1.22  =7.1.25  =7.1.27  =7.1.28  =7.1.30  =7.1.31
          =7.1.32  =7.1.33 ]
 17  lamp-mariadb10.2-php7.2  available    \
        [ =10.2.10_7.2.0  =10.2.10_7.2.4  =10.2.10_7.2.5
          =10.2.10_7.2.8  =10.2.10_7.2.11  =10.2.10_7.2.13
          =10.2.10_7.2.14  =10.2.10_7.2.16  =10.2.10_7.2.17
          =10.2.10_7.2.19  =10.2.10_7.2.21  =10.2.10_7.2.22
          =10.2.10_7.2.23  =10.2.10_7.2.24 ]
 18  libreoffice              available    [ =5.0.6.2_15  =5.3.6.1 ]
 19  gimp                     available    [ =2.8.22 ]
 20  docker=latest            enabled      \
        [ =17.12.1  =18.03.1  =18.06.1  =18.09.9 ]
 21  mate-desktop1.x          available    [ =1.19.0  =1.20.0 ]
 22  GraphicsMagick1.3        available    [ =1.3.29  =1.3.32 ]
 23  tomcat8.5                available    \
        [ =8.5.31  =8.5.32  =8.5.38  =8.5.40  =8.5.42  =8.5.50 ]
 24  epel                     available    [ =7.11 ]
 25  testing                  available    [ =1.0 ]
 26  ecs                      available    [ =stable ]
 27  corretto8                available    \
        [ =1.8.0_192  =1.8.0_202  =1.8.0_212  =1.8.0_222  =1.8.0_232
          =1.8.0_242 ]
 28  firecracker              available    [ =0.11 ]
 29  golang1.11               available    \
        [ =1.11.3  =1.11.11  =1.11.13 ]
 30  squid4                   available    [ =4 ]
 31  php7.3                   available    \
        [ =7.3.2  =7.3.3  =7.3.4  =7.3.6  =7.3.8  =7.3.9  =7.3.10
          =7.3.11 ]
 32  lustre2.10               available    [ =2.10.5  =2.10.8 ]
 33  java-openjdk11           available    [ =11 ]
 34  lynis                    available    [ =stable ]
 35  kernel-ng                available    [ =stable ]
 36  BCC                      available    [ =0.x ]
 37  mono                     available    [ =5.x ]
 38  nginx1                   available    [ =stable ]
 39  ruby2.6                  available    [ =2.6 ]
 40  mock                     available    [ =stable ]
 41  postgresql11             available    [ =11 ]
[ec2-user@ip-10-0-1-50 ~]$
EC2インスタンスからRDSに接続
[ec2-user@ip-10-0-1-50 ~]$ psql -h postgredb.chckkbdbpisq.ap-northeast-1.rds.amazonaws.com -p 5432 -U postgres -d test
Password for user postgres:
psql (9.6.8, server 11.5)
WARNING: psql major version 9.6, server major version 11.
         Some psql features might not work.
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

test=>
test=>
test=>
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0