LoginSignup
3
2

More than 1 year has passed since last update.

EC2-Classic リソース調査

Posted at

経緯

EC2-Classicのサービスが2022年8月15日で終了する。
EC2-Classicが有効なアカウントにて、まだEC2-Classicのサービスを使っている場合はVPCへ移行が必要となる。
それにあたり、現在の環境でEC2-Classicのサービスを使用していないか調査を行う。

EC2-Classic Networking は販売終了になります — 準備方法はこちら

EC2-Classic 確認ツール

github.com
Classic-Resource-Finder.sh

確認手順

  • インスタンス作成(ロール等でのIAMパーミッションが必要)
  • 作成したインスタンスで以下のコマンドを実行し、CLIとJQとGitをインストールする
  • Gitからスクリプトを取得して、実行
$ aws --version
## 入っていない場合はCLIをインストール

$ yum -y install jq
$ yum -y install git

$ git clone https://github.com/aws-samples/ec2-classic-resource-finder.git
$ cd ec2-classic-resource-finder
$ sh Classic-Resource-Finder.sh

出力されたCSVファイルを保存し、確認

出力CSV

実行したディレクトリ直下に出力されるCSVファイルの一覧

ファイル名 説明 出力
Classic_Platform_Status.csv EC2-Classicにリソースを起動する機能を備えたリージョン Region, Status (Enabled, Disabled)
Classic_EIPs.csv EC2-Classicに割り当てられたElasticIP IP Address, Region
Classic_EC2_Instances.csv EC2-Classicを利用したEC2インスタンス Instance ID, Region
Classic_SGs.csv EC2-Classicで設定されたセキュリティグループ Security Group ID, Region
Classic_ClassicLink_VPCs.csv ClassicLinkが有効になっているVPC VPC ID, Region
Classic_Auto_Scaling_Groups.csv EC2-ClassicでEC2インスタンスを起動設定したAuto-Scalingグループ ASG ARN, Region
Classic_CLBs.csv EC2-Classicを利用したクラシックロードバランサー CLB Name, Region
Classic_RDS_Instances.csv EC2-Classicを利用したRDSデータベースインスタンス DB Instance ARN, Region
Classic_ElastiCache_Clusters.csv EC2-Classicを利用したElastiCacheクラスター Cluster ARN, Region
Classic_Redshift_Clusters.csv EC2-Classicを利用したRedshiftクラスター Cluster Identifier, Region
Classic_ElasticBeanstalk_Applications_Environments.csv EC2-Classicで実行設定したElasticBeanstalkアプリケーションと環境 Application Name, Environment Name, Region
Classic_DataPipelines.csv EC2-Classicでインスタンスを起動設定したDataPipelines Pipeline ID, Region
Classic_EMR_Clusters.csv EC2-Classicでインスタンスを起動設定できるEMRクラスター Cluster ID, Region
Classic_OpsWorks_Stacks.csv EC2-Classic用に構成されたリソースを持つOpsWorksスタック Stack ID, Region
Error.txt スクリプトの実行中に発生したエラー print text of error outputs

 

CSVファイルが作成されない場合

Classic_RDS_Instances.csv
:VPCがアタッチされている場合は変数にIDを、Classicの場合は変数を空としてCSVを作成するため、Classicが利用されていない場合はCSVが作成されない。

Classic_ElasticBeanstalk_Applications_Environments.csv
:ElasticBeanstalkでVPCが使われていなかったらCSVが作成されるため、Classicが利用されていない場合はCSVが作成されない。

Classic_EMR_Clusters.csv
:クラスターにサブネットが構成されていない場合はCSVが作成されるため、サブネットが構成されている場合とEMRクラスターを利用していない場合はCSVが作成されない。

Classic_DataPipelines.csv
:ec2 リソース サブネット ID が 設定されていない場合のみCSV作成されるため、サブネットが構成されている場合はCSVが作成されない。

エラーが出る場合

datapipelineにて非活性化されているリージョンについては、以下のようなエラーが発生する。

 Could not connect to the endpoint URL: "https://datapipeline.us-west-1.amazonaws.com/"

必要な権限

スクリプト実行には、awsconfigureまたはEC2のIAMロールのいずれかを使用して設定できるIAMパーミッションがすべてのリソースに対して必要。

autoscaling:DescribeAutoScalingGroups
datapipeline:GetPipelineDefinition
datapipeline:ListPipelines
ec2:DescribeAccountAttributes
ec2:DescribeAddresses
ec2:DescribeInstances
ec2:DescribeRegions
ec2:DescribeSecurityGroups
ec2:DescribeVpcClassicLink
elasticbeanstalk:DescribeConfigurationSettings
elasticbeanstalk:DescribeEnvironments
elasticache:DescribeCacheClusters
elasticloadbalancing:DescribeLoadBalancers
elasticmapreduce:DescribeCluster
elasticmapreduce:ListBootstrapActions
elasticmapreduce:ListClusters
elasticmapreduce:ListInstanceGroups
rds:DescribeDBInstances
redshift:DescribeClusters
opsworks:DescribeStacks

ElasticBeanstalkを利用している場合、EC2-Classicでリソースを起動するように設定された環境とアプリケーションを識別するには、次の追加の権限が必要。

autoscaling:DescribeAutoScalingInstances
autoscaling:DescribeLaunchConfigurations
autoscaling:DescribeScheduledActions
cloudformation:DescribeStackResource
cloudformation:DescribeStackResources
ec2:DescribeImages
ec2:DescribeSubnets
ec2:DescribeVpcs
ec2:CreateLaunchTemplate
ec2:CreateLaunchTemplateVersion
rds:DescribeDBEngineVersions
rds:DescribeOrderableDBInstanceOptions
s3:ListAllMyBuckets

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2