IT男のアジャイルキャリア奮闘記

IT業界でキャリアを築きたい貴方にお役立ち情報を発信していきます

MENU

CodeCommitリポジトリのAWSアカウント間移行

今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。

 

目次

 

背景

f:id:hungrycrazyman:20210621075537p:plain

リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。

 

移行対象サービス

f:id:hungrycrazyman:20210622074949p:plain

AWSのプライベートGITリポジトリサービスであるCodeCommitです。

 

移行手順

1.移行元のCodeCommitリポジトリをローカルにプルする。

以下ユーザーガイドに沿ってCodeCommitへの初期アクセス設定を行います。

※私の場合はSSH接続でCodeCommitを操作しに行きます。

docs.aws.amazon.com

 

次に下記のようなリポジトリ一覧にて右側「URLのクローン」のいずれかをクリックし、クリップボードにURL情報をコピーします。

f:id:hungrycrazyman:20210622075207p:plain

 

次にGit bash, Command Prompt, Power Shellなどのコマンドラインツール上でリポジトリをプルするコマンドを実行します。

git pull <クリップボードにコピーしたURL>

 

出力結果にErrorが出なければプル完了です。

 

2.移行先アカウントのCodeCommitに移行元アカウントのリポジトリと同名のリポジトリを作成します。

f:id:hungrycrazyman:20210622080101p:plain

リポジトリ一覧右上にある「リポジトリを作成」から簡単にリポジトリを作成することができます。

 

3.移行先のCodeCommitへローカルアクセスするためのセキュリティ設定

1で作成したSSH(もしくは他の接続方法)接続プロファイルを再度移行先アカウントの方でも再度作成するか、IAMユーザーのクロスアカウントアクセス設定を検討してください。今回私はもう一つSSH接続を作成し、コマンド操作する際はプロファイルを切り替えるようにしました。

ローカルにてkeygen及びAWS IAMコンソール上でSSH情報の登録が完了している前提で、SSH接続のプロファイルを切り替える方法は以下の通り。

※Git Bashを利用しています。

cdで.sshフォルダへ移動

f:id:hungrycrazyman:20210622080713p:plain

lsでフォルダ内のファイルを確認する。

f:id:hungrycrazyman:20210622080730p:plain

id_rsa, id_rsa.pubが作成したキー情報。configにSSH接続設定情報がある。

f:id:hungrycrazyman:20210622080804p:plain

cofigファイルを編集したいのでnotepadコマンドを実行。

f:id:hungrycrazyman:20210622080822p:plain

以下のように<>内に適切な情報を入力する。SSHキーはAWS IAMユーザーの認証情報タブにあるSSH情報から入手できる。また、IdentityFileはSSHキーに紐づくキーファイル名(xx_rsa)を入力する。

f:id:hungrycrazyman:20210622081007p:plain

4.2で作成したリポジトリのクローンURLを取得し、ローカルの移行元リポジトリを移行先リポジトリにプッシュする。

1.の要領でクリップボードにプッシュ先のリポジトリに関するクローンURLを取得する。ローカルで以下のコマンドを実行してErrorが出なければプッシュ完了。

git push <クリップボードにコピーしたURL>

 プッシュ結果例

f:id:hungrycrazyman:20210622081820p:plain

 

以上でアカウント間のCodeCommitリポジトリ移行は完了です。
 

ではまた、会いましょう。