プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • AWS
  • 【AWS】「Amazon EC2インスタンス」、「セキュリティグループ」や「ACL」につい…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【AWS】「Amazon EC2インスタンス」、「セキュリティグループ」や「ACL」について

11.24

  • miyabisan2
  • コメントを書く

この記事は4分で読めます

AWSでは、「Amazon EC2(またはAmazon Elastic Compute)」と言うアンマネージドサービスを使って仮想サーバを構築します。

特徴

  • 数分で起動して1時間または秒単位で課金さる。
  • サーバーの追加、削除、設定変更も数分で可能。
  • ミドルウェア(OSより上)は自由に設定可能。

AMI(Amazon Machine Image)

インスタンス起動に必要な情報が入ったOSのイメージです。サーバーのテンプレートになりOSのデータが入っています。

特徴

  • AWSだけでなくサードパーティも提供している。
  • 自前でカスタムAMIも作成が可能
  • カスタムAMIから何台でもEC2インスタンスを起動可能

インスタンスの作成

Amazon EC2により構築された各サーバをインスタンスと呼び、インスタンスを構築する際は下記の項目を決めます。

  • CPUのスペック
  • ディスクの容量
  • インスタンスタイプ

インスタンスタイプ

インスタンスタイプによりCPU、メモリ、ストレージ、ネットワーク帯域が異なり料金も異なります。もちろんスペックが高いほど料金は高くなります。基本的にはアクセス数の予測により必要なインスタンスタイプを決定します。

インスタンスファミリー

t2.microで言えば「t」にあたります。インスタンスの特徴を示しています。例えば、汎用的なものだったり、CPUを最適したインスタンス、メモリを最適化したインスタンスだったり、価格を最適化したインスタンスだったりです。ちなみに、tに関しては負荷の増減がある場合に負荷がある時だけCPUスペックを大きく発揮するタイプのインスタンスになります。

インスタンス世代

t2.microで言えば「2」にあたります。世代が新しい方が高性能でコストパフォーマンスもよくなります。

インスタンスサイズ

t2.microで言えば「micro」にあたります。small、large等がありmicroはCPUやメモリ等のスペックが最小になります。

インスタンスタイプの種類

t2.micro

契約してから1年間は無償利用範囲に含まれる。

ストレージ

EC2のストレージは2種類があります。

  • EBS(Elastic Block Store)
  • インスタンスストア

EBS

  • 高い可用性と耐久性を持ちます。
  • EC2とは独立したサービスのため他のインスタンスに付け替えれます。
  • EC2インスタンスを止めても(Stop/Terminate)EBSはデータを保持できます。
  • スナップショットを取得してS3に保存が可能です。
  • EBSの費用が別途かかります。
  • 通常はOSやDB等の貴重で永続化が必要なデータを配置します。

インスタンスストア

  • インスタンス専用の一時的なストレージです。
  • 他のインスタンスに付け替えることはできません。
  • EC2インスタンスを止める(Stop/Terminate)とクリアされてしまいます。
  • 無料です。
  • 無くなったら困るデータは配置しません。
  • 通常は、一時ファイルやキャッシュ等無くなっても問題ないファイルを配置します。

キーペア

インスタンスを作成する際に作成する認証用のファイル(pem)です。一度紛失してしまうとログインすることができなくなるので注意です。pemファイルは秘密鍵になりますので、公開鍵で暗号化されたデータはこれでしか開けることができません。

IPアドレス

パブリックIPアドレス

インスタンスにはパブリックIPアドレスが割り当てられますが起動停止する度に別のIPアドレスが割り当てられる「動的IPアドレス」になります。インターネット通信時に使う。

Elastic IP

IPアドレスを固定化したい場合はこちらの機能を使います。Elastic IPアドレスには下記の特徴があります。

  • インスタンスを削除するまではずっとそのIPアドレスを使用できる。
  • EC2インスタンスに紐づけられておりそのインスタンスが起動していれば無料、起動していないと課金されてしまいます。

プライベートIPアドレス

VPCの領域内での通信をする場合に使います。

ENI

仮想ネットワークインターフェースのことです。EC2にこれを付与して追加でIPアドレスを割り当てることが可能になります。

特徴

  • EC2インスタンスのIPアドレスはENIに付与される。
  • 同じAZのインスタンスにアタッチ/デタッチできる。

用途

  • IPアドレスを増やして、SSL証明書をそれぞれのIPアドレスに割り当てて一つのインスタンスで二つのサイトを運用する。
  • ネットワークのセグメントを分けたい場合(インターネット接続あり、なしで分ける場合等)

DNS

VPC側でDNSホスト名を設定することでEC2のDNSが使えるようになります。

パブリックDNS

インターネットから参照できるDNS名です。パブリックIPアドレスを割り当ててない時は空欄となります。

なお、パブリックDNSもElastic IPを用いて固定化しなければ毎回ランダムなパブリックDNSが生成されます。

プライベートDNS

VPC内でしか参照できないDNS名です。パブリックIPアドレスを設定していなくても使えます。

セキュリティグループ(AWSにおけるファイアウォール)

EC2のファイアウォール(パケットフィルタリング)機能です。IPアドレスとポート番号にてどのパケットを通過させるかを設定できます。許可の判断は累積的に行われます。

設定単位

EC2に設定されますが、正確に言えばENI単位で設定することになります。(たいていのネットワーク構成図ではそこまで表現することはあまりありません。基本はEC2に設定すると覚えておけば良いでしょう。)

インバウンド

外からこのインスタンスに接続する向きです。「誰かが接続しているのを排除する」という目的で使われます。

アウトバウンド

正直インバウンドに比べたらあまり使いません。(セキュリティレベルの高いシステムでは設定することがある程度です。)このインスタンスから外側に出ていく向き。「サーバーから他のコンピュータへの接続を防ぐ」という目的で使われます。デフォルトだと全てのトラフィックのアウトバウンドは許可されています。

アウトバウンドで許可されていてもインバウンドでNGだったら通信もNGになるの?

結論としては、アウトバウンドで戻ってくる通信に関してはインバウンドで禁止されていたとしても許可されます。これを「ステートフル・インスペクション型」と呼びます。

Network ACL

サブネット単位で設定するファイアウォールです。IPアドレスとポート番号で許可設定をします。

用途

○○の攻撃から防ぐためにサブネットまとめて設定しましょうという場合に使われます。基本的にはセキュリティグループで対策をすることにしてセキュリティグループで対策するのが面倒な場合は使います。あくまで補助的な対策の位置付けです。

デフォルト

インもアウトも全て許可設定されています。

評価方法

ルールごとにルール番号が設定されており小さい順から順番に評価されていきます。

アウトバウンドで許可されていてもインバウンドでNGだったら通信もNGになるの?

結論から言えば通信はNGになります。インバウンドでも明示的に通信許可する設定をする必要があります。これを「ステートレスインバウンド型」と呼びます。

スポンサーリンク
  • 2019 11.24
  • miyabisan2
  • コメントを書く
  • AWS
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2023 10.01

    CloudFrontのキャッシュ設定、キャッシュポリシー、オリジンリクエストポリシー

  2. 2021 11.20

    【AWS】「ElasticCache」、「DynamoDB」、「RDS」、その他サービスの違い

  3. 2020 12.29

    【AWS】「ECR」、「App Runner」など

  4. 2021 12.06

    【AWS】VPC(「デフォルトVPC」と「デフォルトサブネット」、「VPCエンドポイント」など)、構築手順

  5. 2020 12.28

    【AWS】EC2の「インスタンスタイプ」、「購入オプション」について

  6. 2020 07.11

    【AWS】「RDS」の冗長化、リードレプリカの活用事例

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【AWS】AWSの全体像、無料枠

【Ruby on Rails】フォーム関連のビューヘル…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー