#author("2023-04-13T21:50:32+09:00","default:irrp","irrp") →Amazon Web Service →AWS EC2とS3 →AWS その他のサービス →IaC(Infrastructure as Code) #contents * 基本 [#m9b7bd43] -VPC上で構成できる3つのサブネット --publicサブネット ---publicサブネットではインターネットゲートウェイへのルーティングが設定されており、直接インターネットとのやり取りが可能です。 ---ElasticIPを割り振ることでEC2インスタンス、ELB、NATゲートウェイが外部からの通信を受け入れることが可能です。 --privateサブネット ---privateサブネットでは外部との通信はNATゲートウェイを介して行われます。 ---インターネットゲートウェイへのルーティングがなく、基本的にはインターネットからのアクセスはありません。 ---なので、publicサブネットを介して通信が行われることがあります。 --isolatedサブネット ---isolatedサブネットはローカルとの通信しかできません。 ---ここではpublic、privateとの相互通信が可能です。 ---DBなど外部への通信が不要で、ローカルなマシンとのみ通信が必要なリソースがしばしば設置されます。 -[[Amazon VPC とは_ - Amazon Virtual Private Cloud>https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html]] * Tips [#zcdc1969] -[[Amazon VPCとサブネットの設計のポイントについて - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/04/10/142451]] 2023.4 -[[VPC ネットワーク内での長時間稼働 TCP 接続の実装 | Amazon Web Services ブログ>https://aws.amazon.com/jp/blogs/news/jp-implementing-long-running-tcp-connections-within-vpc-networking/]] 2023.4 -[[VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップが追加されました | DevelopersIO>https://dev.classmethod.jp/articles/vpc-resource-map/]] 2023.2 --VPC Resource map -[[VPCピアリングを使って別アカウントにあるVPC内のRDSに接続してみた | DevelopersIO>https://dev.classmethod.jp/articles/vpc-peering-to-connect-to-vpc-rds-on-another-account/]] 2023.2 -[[VPC に AWS の DNS サーバーは何台作られるか? - ForgeVision Engineer Blog>https://techblog.forgevision.com/entry/vpc/dns_server]] 2023.1 -[[AWSのグローバルIPの空間はインターネットなのか? - NRIネットコムBlog>https://tech.nri-net.com/entry/2021/05/10/085654]] 2021 -[[AWS内の通信がインターネットを経由しない今、VPC Endpointを利用する意味はあるのか? | フューチャー技術ブログ>https://future-architect.github.io/articles/20210618a/]] 2022.8 -[[VPCのサイジングについての失敗談 - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2022/07/13/080000]] 2022.7 -[[【AWS Systems Manager エンドポイント】プライベートサブネットにあるEC2インスタンスに踏台サーバを使わずにOSログインする方法 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/aws-systems-manager-endpoint]] 2022.6 -[[[アップデート] Amazon VPCが複数のIPv6 CIDRブロックをサポートするようになりました | DevelopersIO>https://dev.classmethod.jp/articles/amazon-vpc-multiple-ipv6-cidr-blocks/]] 2022.5 -[[【アップデート】VPCの作成が新コンソールで超簡単になりました! | DevelopersIO>https://dev.classmethod.jp/articles/vpc-new-console-20220513/]] 2022.5 -[[[レポート] Shared VPCでスケールネットワークを簡素化する #reinvent #NET322 | DevelopersIO>https://dev.classmethod.jp/articles/simplifyvpcsharing/]] 2019 -[[iDATEN(韋駄天)| やってみようシリーズ:仮想ネットワークを作ってみよう「VPCの作成中にエラーが発生しました」編>https://www.idaten.ne.jp/portal/page/out/secolumn/multicloud/column014.html]] --クォータの上限を増やす申請のやり方 -[[VPC CIDRブロックをRFC 1918の範囲に限定する方法 (Terraform&CloudFormation) | DevelopersIO>https://dev.classmethod.jp/articles/validate-vpc-cidr-block-by-terraform-and-cloudformation/]] 2022.3 --TerraformおよびCloudFormationでは変数ないしパラメータの検証に正規表現を利用できます。 --Terraformではconditionブロック内においてcan関数およびregex関数を使用します。 --CloudFormationではParametersセクションのパラメータにAllowedPatternプロパティを使用します。 -[[【AWS】サブネットの空きIPとENIの情報を確認する話 - BFT名古屋 TECH BLOG>https://bftnagoya.hateblo.jp/entry/2022/02/24/175557]] 2022.2 -[[障害調査に備えてオンプレミスと AWS 間のネットワーク監視を行う方法を教えてください | DevelopersIO>https://dev.classmethod.jp/articles/tsnote-how-can-i-do-network-monitoring-between-on-premises-and-aws-to-help-with-fault-investigation/]] 2022.2 -[[AWS VPCエンドポイントについて解説!メリット・料金体系・利用シーンもご紹介 | FEnet AWSコラム>https://www.fenet.jp/aws/column/tool/570/]] 2022.2 --VPCエンドポイントとは異なるVPCやリージョンにあるAWSサービス同士をインターネットを介さずAWSネットワーク内でつなぐサービス -[[Amazon VPC IP Address Manager による大規模なネットワークアドレス管理と監査 | Amazon Web Services ブログ>https://aws.amazon.com/jp/blogs/news/network-address-management-and-auditing-at-scale-with-amazon-vpc-ip-address-manager/]] 2021 --2021 年 12 月 1 日(米国時間)、Amazon VPC IP Address Manager を発表しました。これは、ネットワーク管理者に IP の自動管理ワークフローを提供する新機能です。IPAM を使用すると、ネットワーク管理者は、大規模なネットワークで簡単に IP アドレスの整理、割り当て、モニタリング、監査を行うことができ、管理とモニタリングの負担が軽減され、遅延や意図しないエラーの原因となる手動プロセスが排除されます。 -[[[アップデート] IPv6オンリーのサブネットとEC2インスタンスを作成出来るようになりました! | DevelopersIO>https://dev.classmethod.jp/articles/ipv6-subnet-ec2/]] 2021.11 -[[AWS DHCP オプションセットを RFC から理解する - the world as code>https://chroju.dev/blog/dhcp_options_rfc]] 2019 --DHCP関連 -[[VPC内でのPrivate IPの扱いについて考えてみた>https://blog.serverworks.co.jp/tech/2016/02/26/vpc-private-ip/]] 2016 --通常AWSのVPC内のEC2インスタンスのネットワーク設定の場合、OS側のIP設定は、DHCPにするのが基本 --ENIの作成時に、IPアドレス指定した場合は、そのIPが固定で割り当てられます(指定しない場合は、使用可能なIPアドレスが自動的に選択されます) --インスタンスが停止し、再開された場合も、 IP アドレスとENIの関連付けが維持されます --固定IPにすると、EC2インスタンスを横展開する目的などで、AMIを取得し、それをもとに別のサブネットにEC2インスタンスを作成する場合に問題が生じる * 入門記事 [#o3743b4a] -[[【ベストプラクティス】Amazon VPC の構築方法を分かりやすく解説 - Qiita>https://qiita.com/c60evaporator/items/b9e645b96afa3a34f41e]] 2022.8 -[[Amazon VPCを「これでもか!」というくらい丁寧に解説 - Qiita>https://qiita.com/c60evaporator/items/2f24d4796202e8b06a77]] 2022.8 -[[AWS再入門2022 Amazon VPC編 | DevelopersIO>https://dev.classmethod.jp/articles/re-introduction-2022-vpc/]] 2022.1 * トラフィック制御 [#p34c056f] -[[やりがちなセキュリティグループの危険な設定と改善案 - APC 技術ブログ>https://techblog.ap-com.co.jp/entry/2023/04/13/194729]] 2023.4 -[[【AWS】ネットワークACLとセキュリティグループの使い分け|櫻田貴士|note>https://note.com/takashi_sakurada/n/n86eba45cba5f]] 2020.5 --ネットワークACLは、サブネットに対して1つのみ設定可能 --ネットワークACLはステートレスのため、戻りのトラフィックも意識して設定する必要があります。 --セキュリティグループはEC2インスタンスなどに適用するファイアウォール機能 --セキュリティグループはステートフルのため、戻りのトラフィックを意識して設定する必要はありません。 --?ネットワークACLでは、L3レベルでのトラフィック制御のみを行う。 --?ネットワークACLでは、基本的にネットワークセグメント単位でトラフィック制御を行う。 --?セキュリティグループでは、L4レベルでのトラフィック制御を行う。 --?セキュリティグループでは、基本的にIPアドレスとポート番号でトラフィック制御を行う。 -SGでEC2にファイアウォールかましているのにACLでもやるっていうのは、うっかりSGに穴が開いていたときの保険という意味がある。 --あとは対象となる範囲がサーバ単位かセグメント単位かという違い。セグメント内に無駄なパケット流したくないという考え方もあろう --参考:[[SEC05-BP02 すべてのレイヤーでトラフィックを制御する - セキュリティの柱>https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/security-pillar/sec05-bp02-control-traffic-at-all-layers.html]] 2022.11 -[[Amazon VPC でのインターネットワークトラフィックのプライバシー - Amazon Virtual Private Cloud>https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Security.html]] 2021 --セキュリティグループ、ACL、フローログ、ミラーリング --セキュリティグループもACLもファイアウォールだが、前者はEC2インスタンス単位、後者はVPC単位 -VPC内をサブネットで区切った場合、通常のネットワークならサブネット間はルーティングしないとつながらないが、VPC内であればルーティングしなくてもつながるという違いがある **VPC Lattice [#s3909264] -[[Amazon VPC Lattice解説(概要および構成要素編) - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/vpc-lattice/summary]] 2023.4 --VPCをまたいだアプリケーション間の接続を簡略化する、マイクロサービスアーキテクチャ向けのマネージドサービス -[[Amazon VPC LatticeがついにGAしたので触ってみた! - Qiita>https://qiita.com/minorun365/items/260f6e1e29fcc61d1ad8]] 2023.3 -[[しれっと登場したVPC Latticeって何者!? よく分からんから3行で頼む! - Qiita>https://qiita.com/minorun365/items/7f73aa1fe1ef2ca0c2c7]] 2022.12 *ELB(Elastic Load Balancing) [#f9ee4db7] -[[ELBの操作は対象によって2種類のサービスを使い分ける必要がある | DevelopersIO>https://dev.classmethod.jp/articles/aws-api-elb-and-elbv2/]] 2022.4 -[[8月23日のAWSの大規模障害でMultiAZでも突然ALB(ELB)が特定条件で500エラーを返しはじめたという話>https://blog.hirokiky.org/entry/2019/08/23/200749]] 2019.8 * Network Access Analyzer [#o9ffcf72] -[[AWS CLIとコンソールでVPC Network Access Analyzerをしてみた。 | DevelopersIO>https://dev.classmethod.jp/articles/vpc-network-access-analyze-using-aws-cli/]] 2022.4 -[[AWS CLIを使用してEC2でVPC Reachability Analyzerをしてみた。 | DevelopersIO>https://dev.classmethod.jp/articles/vpc-reachability-analyzer-with-ec2-using-aws-cli/]] 2022.4 -[[[新機能] ネットワークがアクセス要件を満たしているか確認するのに便利な VPC Network Access Analyzer がリリースされました! #reinvent | DevelopersIO>https://dev.classmethod.jp/articles/new-amazon-vpc-network-access-analyzer/]] 2021.12