おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-VPC-VPCエンドポイント

今回のテーマ:VPCエンドポイント

主要サービスの公式資料

VPC エンドポイント: docs.aws.amazon.com

実施概要

  • プライベートサブネットのEC2からS3アクセス用のIAMロールを設定
  • プライベートサブネットのEC2からS3へのアクセスを確認
  • NATGWを削除し、S3へのアクセスを確認
  • VPCエンドポイントを作成しS3へのアクセスを確認

概要図

f:id:In-houseSE:20210310073349p:plain

事前作業

  • VPCからNATGWを作りElasticIPを付与
  • プライベートサブネット用のルートテーブルにNATGWのルートを設定
  • IAMでS3用のロールを作成
  • EC2をプライベートとパブリックサブネットで1台ずつ立てる

プライベートサブネットのEC2からS3アクセス用のIAMロールを設定

  • AWSマネイジメントコンソールログイン後、EC2-インスタンス-インスタンス-プライベート用のEC2を選択し、アクション-セキュリティ-IAMロールを変更をクリック

    f:id:In-houseSE:20210310074820p:plain

  • S3アクセス用のIAMロールを選択し、保存をクリック f:id:In-houseSE:20210310075000p:plain

プライベートサブネットのEC2からS3へのアクセスを確認

  • public側のEC2へSSHログイン

  • private側のEC2へログイン

コマンド例:

ssh ec2-user@10.0.1.143 -i home-keypea.pem
  • プライベートのEC2へログインしたのを確認しS3が見えているか確認

コマンド:

aws s3 ls

実行した際はまったので、下記を参照にしながら状態確認。

aws.amazon.com

設定は問題なかったため、通信拒否設定だからNACLが要因?とおもい少し確認

dev.classmethod.jp

記載がある通り、443ポートの通信を許可が必要

インバウンド:

f:id:In-houseSE:20210310082609p:plain

アウトバウンド:

f:id:In-houseSE:20210310082631p:plain

  • 再度確認コマンドを実行し今度は通りました。

f:id:In-houseSE:20210310082705p:plain

cf)今の状態はインターネット経由でのアクセスとなるため、NATGWを削除しエンドポイント作成後再度確認

NATGWを削除し、S3へのアクセスを確認

この後はTime Outになり接続が失敗します。

VPCエンドポイントを作成しS3へのアクセスを確認

プライベートネットワークからエンドポイント作成しアクセス確認を実施します。

  • VPC-エンドポイントの順に選択し、エンドポイントの作成をクリック f:id:In-houseSE:20210310083505p:plain

  • 以下の設定でエンドポイントの作成をクリック

設定値
サービスカテゴリー AWSサービス
サービス名 com.amazon.ap-northest-1.s3 GateWay
VPC 作成したVPC
ルートテーブル プライベートサブネットのルートテーブルを指定

f:id:In-houseSE:20210310084122p:plain

f:id:In-houseSE:20210310084140p:plain

cf)GateWay型はインターネットゲートウェイにルートを構成し実装できるタイプになります。

コマンド:

aws s3 ls --region ap-northeast-1

cf)rootユーザに変更してアクセスが可能

f:id:In-houseSE:20210310084843p:plain

今回のテーマは以上です。

補足:不要なAWSリソースを削除することを忘れずにおくと幸せになります。