Amazon VPC (feat. RDS)

6083 ワード


VPC


VPC (Virtual Private Cloud)
AWS Cloud内部で構成されたAWSアカウント専用の仮想ネットワーク

VPCを使用しているので、VPCごとにネットワークを構成したり、VPCごとに異なるネットワークを設定したりすることができます.
各仮想マシンは、完全に独立したネットワークのように動作します.
Amazon VPCはAmazon EC 2のネットワーク層です.(ネットワーク層の主な機能はルーティング)
VPCがない場合、EC 2インスタンス間の関連付けは、システムの複雑さを著しく向上させ、インスタンスを追加する際にすべてのインスタンスを変更する必要があります.
VPCのIP範囲は、RFC 1918の専用IP帯域幅に対して構築されるべきである.
(専用IP:インターネットではなくユーザ間で使用されるIPアドレス帯域幅)
VPN使用の専用IP帯域幅
  • 10.0.0.0 ~ 10.255.255.255(10/8 prefix)
  • 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix)
  • 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)

    現在、どのくらいのサーバが必要か、将来のサーバの成長速度が必要です.
  • Amazon VPCを使用する場合は、仮想ネットワーク環境に対する制御権限を設定できます.
    1.自分のIPアドレス範囲を選択(一意のIPアドレス範囲を選択可能)
    2.createサブネット(サブネットを作成可能)
    3.ルーティングの構成(ルーティング構成)
    4.アクセス制御リスト(アクセス制御リストの構成)

    Subnet


    専用仮想ネットワーク(VPC)が確立されている以上、より多くのネットワークにIP帯域幅を分割すべきである.
    サブネットはVPCのIPアドレス範囲です.指定したサブネットを使用してAWSリソースを起動できます.すなわち,ネットワークをサブネットで分割した後,サブネットにRDS,EC 2を配置することができる.インターネットに接続する必要があるリソースについては、パブリックサブネットを使用し、インターネットに接続しないリソースについては、プライベートサブネットを使用します.
    サブネットとIPに関する情報(リンクテキスト)

    ルータとルーティングテーブル


    ルーティングテーブルには、仮想マシンのネットワークトラフィックをどこに転送するかを決定するためのルーティングというルールのセットが含まれています.サブネットは、特定のルーティングテーブルに明示的に関連付けることができる.そうでない場合、サブネットはデフォルトのルーティングテーブルに暗黙的に接続されます.
    ルーティングテーブルの各ルーティングは、トラフィックを転送する接続を指定します.
    ルーター:
    ルータは公認IPアドレスが割り当てられた装置であり、サブネット内のホストが外部ネットワークインターネットにデータを送信し、ホストが仮想IPを使用する場合、NATによってその処理をサブネット仮想IPに変換し、外部サーバやホストとの通信を可能にする.ホストが公認のIPを使用する場合,NAT処理は行われないが,実際にはほとんどない.
    すなわち,分割されたサブネットにおいて,他のネットワークにおけるホスト間で通信が必要な場合にはルータのみで通信することができる.ネットワークidが同じホスト間はルータを介さずに直接通信できる.
    つまり,同じネットワークではルータを介さず,同じネットワークアイデンティティを持つネットワークである.

    IGW


    IGW (Internet GateWay)
    外部を通過するトラフィックを処理するには、IGWを使用する必要があります.
    0.0.0.0/0(すべてのIP)と定義される場合、すべてのIPに対するトラフィックは、対応するIGWを指す.
    インターネットに接続されているサブネットはパブリックサブネットであり、接続されていないサブネットはプライベートサブネットである.

    VPCセキュリティグループ


    個々のトラフィックをEC 2インスタンスに適用しています.
    インバウンド、アウトバウンドのルールを設定できます.

    NATゲートウェイ


    プライベートサブネットは、インターネットと通信するためのアウトバウンド・インスタンスに使用される.
    インターネットからインバウンドしたくない場合は、ネットワークアドレス変換(NAT)デバイスを使用します.
    場合によっては、プライベートネットワークは外部からのリクエスト(インバウンド)を受け入れないが、更新などの理由でアウトバウンドトラフィックを許可する必要がある.
    パブリックサブネット上で動作するNATゲートウェイを介して、サブネットの外部要求を自分勝手に受信するアウトバウンドトラフィックが、IGWに接続される.

    Bastion HOST


    ソース(リンクテキスト)

    1台のPublicサーバで前日に発生したログイン失敗(約11000回)のリストを検出します.これにより、Publicサーバは毎日数万から数十万のアカウントの盗難攻撃を受けます.
    ファイアウォール機器で管理していてもサーバごとのチェックは難しく、IPアドレスをすべて制御できないためセキュリティが悪い.
    「≪バックアップ・ホスト|Backup Host|emdw≫」操作では、プライベート・デバイスのアカウント・アクセス・ログを1つの場所から収集および制御し、管理をシンプル化します.
    重要なことに、Basion HostはLinuxインスタンスの唯一のSSH通信源である.
    パブリックネットワークへの専用ネットワークへのアクセスを提供するサーバ.

    Amazon RDS


    メリット
  • プロジェクトの策定から導入まで、作業が容易になりました.
  • データベースコンピューティングおよびストレージリソースを無停止で拡張する
  • 快速
  • 安全
  • などの理由で、DB管理はクラウドサービスで管理されています.
    つまり、サーバを心配することなく、データベースを借りることができます.
    AWS RDSは、インフラストラクチャとデータベースの更新を管理するだけでなく、複雑なリレーショナル・データベースのインストール、実行、管理を支援します.
    RDSはデータベースバックエンドの管理と構築をサポートする.

    使用方法


    https://aws.amazon.com/ko/getting-started/hands-on/create-mysql-db/
    1.DBインスタンスを作成します.
    このプロセスでは、どのDBを使用するか、どのサービス価格設定サービスを使用するかなどを決定します.
    DBの使用バージョンも確認します.
    学習が必要なのは、Confuture Advanced Settingsページの追加情報設定です.
    Network & Security

    1.VPCの選択(デフォルトVPCの選択)
    2.サブネットグループ:(デフォルトのサブネットグループを選択)
    3.共通アクセス性:yesに設定すると、データベース・インスタンスにIPアドレスが割り当てられ、ユーザー・デバイスから直接データベースに接続されます.
  • VPCセキュリティグループ:新しいVPCセキュリティグループの作成を選択することにより、現在使用するデバイスのIPアドレスにデータベースの作成に接続可能なセキュリティグループ
  • を作成する.
    2.SQLクライアントのダウンロード
    3.データベースへの接続

    Hostname:Amazon RDSコンソールから、写真のようにホスト名を表示できます.
    Port:デフォルト値3306は保持されます.(MySQLの場合)
    Username:Amazon RDSデータベース用に作成したユーザー名を入力します.
    Password:Store in Vault(またはMacOSのKeychain)を入力し、Amazon RDSデータベースの作成時に使用するパスワードを入力します.

    ルーティングテーブルのNATとIGWによって発生する可能性のあるイベント

    RDS INSTANCE     ||       VPC        ||           subnet           ||  routetable of each subnet ||   IGW Rule   ||  publicly accessible ||
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    aa1dw8v(이하생략)  ||   vpc-06bd56--   ||  subnet-099cf0a(이하생략)     ||    rtb-02115d92(이하생략)    ||  not having  ||         FALSE        ||
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    fine(이하생략)     ||   vpc-06bd56--   ||     subnet-1f152(이하생략)    ||        rtb-e0b5(이하생략)    ||     have     ||         TRUE         ||
    2つのインスタンスは同じ仮想マシンを使用するが、インスタンスaa 1~のみがパブリックネットワークに接続できない.
    2つのインスタンスの違いは、2つのインスタンスのサブネットが異なり、各サブネットのルーティングテーブルも異なることです.また、実施例aa 1のサブネットのルーティングテーブルにはIGWルールがない.IGWルールを使用したインスタンスfin~のサブネットは、テーブルから公開アクセス可能な状態にある.
    基本的には、IGWを使用して外部から私たちのec 2にアクセスすることができ、NATを使用すると、更新の目的を達成するために、内部から外部にしかアクセスできません.
    本来aa 1~インスタンスは外部(DATAGRIP)を用いてデータベースに接続できるが,突然接続できない.
    本番データベースは、DATAGRIPに接続してDATAを表示するためにIGWを使用する必要があるが、当時、本番DBに接続されていたルータテーブルはプライベートサブネットであり、IGWではなくNATであったため、外部からデータベースにアクセスすることができず、EC 2経由でしかアクセスできなかった.
    RDS「aa 1からインスタンス」DBは外部(DATAGRIP)で接続されていないが、EC 2を使用してデバイスにアクセスできるのは専用Subnet状態(IGWを使用せずNATを使用)であると考えられる.
    処置
    1.データベースに共通アクセスが有効であることを確認
    2.インバウンドチェック
    3.このdbのサブネットにおけるルーティングテーブルのIGW.