クラウドコンピューティングは現在、ほとんどの企業で一般的です。これにより、インターネットを介したコンピューティング能力、データベース、ストレージ、アプリケーション、およびその他のリソースのオンデマンド可用性が可能になります。
クラウドの背後にある主な利点は、強力なサーバーを購入したり、独自のデータセンターを構築したりするために多額の費用をかける必要がないことです。ただし、これが唯一の利点ではありません。拡張する必要がある場合は、新しいサーバーを購入する必要はなく、数回クリックするだけでリソースを追加できます。同様に、コストを削減するためにリソースが不要な場合は、リソースの数を減らすこともできます。
クラウドデータベースは、クラウドプロバイダーで実行されているデータベースです。クラウドプラットフォームを介してデータを保存、管理、取得、操作することができます。インターネット経由でアクセス可能。
このブログでは、さまざまな種類のクラウドオファリングを確認してから、AmazonRDSを使用したPostgreSQLデータベースの実行に焦点を当てます

上の画像でわかるように、いくつかの異なる種類があります必要なアクセスレベルに応じたクラウドサービス。
- オンプレミス: システムを使用している個人または組織の敷地内にあるコンピューターにインストールされ、実行されます。実際、これはクラウドサービスではありませんが、違いを確認するのに役立ちます。
- IaaS: これは、物理コンピューティングリソース、場所、データパーティショニング、スケーリング、セキュリティ、バックアップなど、基盤となるネットワークインフラストラクチャのさまざまな低レベルの詳細にアクセスするために使用される高レベルのAPIを提供するオンラインサービスです。
- PaaS: これは、アプリの開発と起動に関連するインフラストラクチャの構築と保守を複雑にすることなく、顧客がアプリケーションを開発、実行、および管理できるようにするプラットフォームを提供します。
- SaaS: クライアント(ブラウザ)を使用してインターネット経由でユーザーがアクセスします。クライアント側にインストールする必要はありません。
PostgreSQLについて話している場合、クラウドでPostgreSQLを提供するクラウドプロバイダーがあります。さまざまなフレーバーでさまざまな方法を使用します。上で述べたように、AmazonRDSに焦点を当てます。
Amazon RDS(リレーショナルデータベースサービス)とは何ですか?
AmazonのWebサイトによると、他では利用できない40以上のサービスを含む、165以上のフル機能のサービスを提供しています。したがって、AWSは、数百万の顧客を抱える機能とサービスの点で、おそらく世界で最も先進的なクラウドプロバイダーです。
Amazon RDSを使用すると、クラウドでリレーショナルデータベースを簡単かつ迅速に作成、管理、スケーリングでき、Amazon Aurora、PostgreSQL、MySQLなどのさまざまなデータベースタイプで利用できます。 AWSは、既存のデータベースをAmazonRDSに移行するためのAWSDatabaseMigrationServiceと呼ばれるツールを提供しています。
AmazonRDSのメリット
- 使いやすい: Amazon RDS Management Console、AWS RDSコマンドラインインターフェイス、またはAPI呼び出しを使用して、リレーショナルデータベースにアクセスできます。インフラストラクチャのプロビジョニングやデータベースソフトウェアのインストールと保守は必要ありません。
- スケーラブル: 数回クリックするだけで、データベースのコンピューティングリソースとストレージリソースを拡張できます。多くのAmazonRDSエンジンタイプでは、1つ以上のリードレプリカを起動して、プライマリデータベースインスタンスから読み取りトラフィックをオフロードできます。
- 可用性: マルチAZDBインスタンスをプロビジョニングすると、AmazonRDSはデータを別のアベイラビリティーゾーン(AZ)のスタンバイインスタンスに同期的に複製します。 Amazon RDSには、自動バックアップ、データベーススナップショット、自動ホスト置換など、重要な本番データベースの信頼性を高める他の多くの機能があります。
- パフォーマンス: SSDでバックアップされた2つのストレージオプションから選択できます。1つは高性能OLTPアプリケーション用に最適化され、もう1つは費用効果の高い汎用用途向けです。
- 安全: Amazon RDSを使用すると、Amazon VPC(Virtual Private Cloud)でデータベースインスタンスを実行できます。これにより、データベースインスタンスを分離し、VPNを介して既存のITインフラストラクチャに接続できます。また、多くのAmazon RDSエンジンタイプは、保存時の暗号化と転送中の暗号化を提供します。
これはAWSWebサイトでは公式には言及されていませんが、DBaaS(サービスとしてのデータベース)を外部プロバイダーのインフラストラクチャで管理および展開されるデータベースサービスと見なす場合(リストによると)上記のセクションで)Amazon RDSは、PaaSとSaaSサービスの間のどこかにある「一種の」DBaaSであると言えます。
AmazonRDSでのPostgreSQLのガイド
まず、AWSコンソールにログインする必要があります。 (AWSアカウントをお持ちでない場合は、ここで無料のアカウントを作成できます。)
次に、[サービス]->[データベース]->[RDS]および[データベースの作成]セクションに移動します。

ここで、通常の作成に従うか、簡単な作成に従うかを選択する必要があります、エンジン、およびデプロイするバージョン。

簡単な作成を選択した場合は、データベースインスタンスを追加するだけで済みます名前、ユーザー、パスワード。

この場合、作成の詳細を表示できるようにPostgreSQL 10と通常の作成を選択するため、少し必要になります。簡単なものよりも多くの作業。
通常の作成では、最初にテンプレートを選択します。テンプレートは、本番、開発/テスト、または無料利用枠のオプションです。

次のステップでは、データベースインスタンス名userを追加します、およびパスワード。
次のステップは、データベースインスタンスのサイズです。ここでは、標準クラス、メモリ最適化クラス、およびバースト可能クラスの3つの異なるカテゴリにいくつかのオプションがあります。

ストレージセクションでは、ディスクの種類、サイズ、およびストレージの動作。

AWSの最も重要な機能の1つは、マルチAZデプロイメントです。別のアベイラビリティーゾーンにスタンバイインスタンスを作成して、冗長性を提供できます。

接続については、仮想プライベートクラウド(VPC)を選択できます。新しいデータベースに接続します。ここでは、パブリックアクセス、アベイラビリティーゾーン、データベースポートなどの追加オプションを選択できます。

次に、データベース名、データベースを指定できる追加の構成があります認証、バックアップの詳細、暗号化、監視、ロギング、およびメンテナンスサービス(自動マイナーアップグレード)。
最後に、推定月額費用を確認するオプションがあります。

ここでコストの詳細を確認できます。また、AWSを使用することもできます。月次計算機。
この情報をすべて追加したら、作成プロセスが完了するまで待つ必要があります。

ステータスが「利用可能」に変わると、データベースインスタンスは次の準備が整います。使用します。
DB識別子(この例では「pg1」)を押すと、データベースセクションにアクセスし、CPU使用率、接続、ステータス、タイプなどの情報を含む概要を確認できます。 。ここでは、インスタンス構成を変更したり、再起動、削除、リードレプリカの作成、スナップショットの作成などのさまざまなアクションを実行したりすることもできます。

同じ場所で、さまざまなセクションでより詳細な情報を確認することもできます。
セキュリティルールを設定し、ネットワーク情報を確認できます。


データベースからのアラーム、イベント、ログがあります。

構成
インスタンスの構成だけでなく、強化された監視を有効にするなど、インスタンスの構成を改善するための推奨事項のリストも表示されます。

メンテナンスとバックアップ
メンテナンスタスク、バックアップ、スナップショットプロセスに関する情報を確認できます。

これで、エンドポイント名を使用してデータベースにアクセスできるようになります。 AWSによって割り当てられました(「 pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com この例では」)。このためには、セキュリティグループセクションからのアクセスを許可し、インスタンス構成からのパブリックアクセスを有効にしていることを確認してください(パブリックアクセス可能性:はい)。この例では、すべてのソースからのすべてのトラフィックを許可していますが、セキュリティ上の理由から、1つまたはいくつかのソースからのアクセスを制限することをお勧めします。

では、コマンドラインからAmazonRDSインスタンスに接続してみましょう。 :
[[email protected] ~]# psql -U postgres -h pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com
Password for user postgres:
psql (11.5, server 10.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
rdsadmin | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin
template0 | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin +
| | | | | rdsadmin=CTc/rdsadmin
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
postgres=> select version();
version
--------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit
(1 row)
同様に、好みのGUI(ある場合)から接続できます。

AmazonAuroraに関する注意
Amazon Auroraは、クラウド用に構築されたMySQLおよびPostgreSQL互換のリレーショナルデータベースです。 AWSのWebサイトによると、Amazon Auroraは標準のPostgreSQLデータベースの3倍の速度であり、商用データベースのセキュリティ、可用性、信頼性を1/10のコストで提供します。主張に関係なく、これは真のPostgreSQLインスタンスではなく、互換性のあるエンジンにすぎません。ただし、AmazonでPostgreSQLを実行することを検討している場合は、これを可能な代替手段として確実に検討する必要があります。 Auroraと、AuroraとPostgreSQLとの関係について詳しくは、こちらをご覧ください。