こんにちは、やまねです。GitHub Enterpriseネタも今回で4回目となりましたが、お付き合いいただければ幸いです。
- GitHub Enterpriseでの謎のディスク容量消費に対応する
- GitHub Enterpriseのハードウェア最小要件がどんどん上がっている件
- GitHub EnterpriseでActions用s3設定をミスっていてアップデートでコケるの巻
- GitHub Enterpriseが利用可能なインスタンスタイプ制限→3.0.6で撤廃 (今回の話)
GitHub EnterpriseをAWS EC2インスタンスで運用している場合、新しいEC2インスタンスファミリーが出てパフォーマンスが上がり費用も下がるので乗り換えたい!という場合もありますよね。
少々前までは利用可能なインスタンスタイプについては pre-flight check での制限がかかっており、ここで未対応のインスタンスタイプで立ち上げようとするとエラーで動作しない、ということがありました(r5aが出たばっかりのときにr5からr5aに変えたら起動しない、など…)。この場合は grep AWS_INSTANCE_TYPES /usr/local/share/enterprise/ghe-preflight-check とすれば対応インスタンスタイプかどうかが確認可能となっています。
$ grep AWS_INSTANCE_TYPES /usr/local/share/enterprise/ghe-preflight-check C3_AWS_INSTANCE_TYPES = %w(c3.2xlarge c3.4xlarge c3.8xlarge) C4_AWS_INSTANCE_TYPES = %w(c4.2xlarge c4.4xlarge c4.8xlarge) C5_AWS_INSTANCE_TYPES = %w(c5.large c5.xlarge c5.2xlarge c5.4xlarge c5.9xlarge c5.18xlarge) M3_AWS_INSTANCE_TYPES = %w(m3.xlarge m3.2xlarge) M4_AWS_INSTANCE_TYPES = %w(m4.xlarge m4.2xlarge m4.4xlarge m4.10xlarge m4.16xlarge) M5_AWS_INSTANCE_TYPES = %w(m5.large m5.xlarge m5.2xlarge m5.4xlarge m5.12xlarge m5.16xlarge m5.24xlarge m5n.24xlarge) R3_AWS_INSTANCE_TYPES = %w(r3.large r3.xlarge r3.2xlarge r3.4xlarge r3.8xlarge) R4_AWS_INSTANCE_TYPES = %w(r4.large r4.xlarge r4.2xlarge r4.4xlarge r4.8xlarge r4.16xlarge) R5_AWS_INSTANCE_TYPES = %w(r5.large r5.xlarge r5.2xlarge r5.4xlarge r5.8xlarge r5.12xlarge r5.16xlarge r5.24xlarge) R5N_AWS_INSTANCE_TYPES = %w(r5n.large r5n.xlarge r5n.2xlarge r5n.4xlarge r5n.8xlarge r5n.12xlarge r5n.16xlarge r5n.24xlarge) R5A_AWS_INSTANCE_TYPES = %w(r5a.large r5a.xlarge r5a.2xlarge r5a.4xlarge r5a.8xlarge r5a.12xlarge r5a.16xlarge r5a.24xlarge) R5B_AWS_INSTANCE_TYPES = %w(r5b.large r5b.xlarge r5b.2xlarge r5b.4xlarge r5b.8xlarge r5b.12xlarge r5b.16xlarge r5b.24xlarge) X1_AWS_INSTANCE_TYPES = %w(x1.16xlarge x1.32xlarge) AWS_INSTANCE_TYPES = [C3_AWS_INSTANCE_TYPES, C4_AWS_INSTANCE_TYPES, C5_AWS_INSTANCE_TYPES, M3_AWS_INSTANCE_TYPES, M4_AWS_INSTANCE_TYPES, M5_AWS_INSTANCE_TYPES, R3_AWS_INSTANCE_TYPES, R4_AWS_INSTANCE_TYPES, R5_AWS_INSTANCE_TYPES, R5N_AWS_INSTANCE_TYPES, R5A_AWS_INSTANCE_TYPES, R5B_AWS_INSTANCE_TYPES, X1_AWS_INSTANCE_TYPES].flatten aws_instance: [AWS_INSTANCE_TYPE, AWS_INSTANCE_TYPES],
…とここまで書いておいてなんなのですが、3.0.4の時点で動作確認のためにサポートに問い合わせた結果、このチェックは「将来的にはなくすかも」となり、今見たら3.0.6では無くなってました(Changes: Preflight checks allow all AWS instance types by default.)。これで新しいインスタンスタイプが出たら、GitHub Enterprise側での変更待ちをせずにスッと切り替えができるようになりましたね。
みなさんもGitHub Enterpriseを運用していて気になる挙動があればサポートに問い合わせてみては如何でしょうか、今回のように改善されるかもしれませんよ。