CodeCommitリポジトリのAWSアカウント間移行
今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。
目次
背景
リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。
移行対象サービス
AWSのプライベートGITリポジトリサービスであるCodeCommitです。
移行手順
1.移行元のCodeCommitリポジトリをローカルにプルする。
以下ユーザーガイドに沿ってCodeCommitへの初期アクセス設定を行います。
※私の場合はSSH接続でCodeCommitを操作しに行きます。
次に下記のようなリポジトリ一覧にて右側「URLのクローン」のいずれかをクリックし、クリップボードにURL情報をコピーします。
次にGit bash, Command Prompt, Power Shellなどのコマンドラインツール上でリポジトリをプルするコマンドを実行します。
git pull <クリップボードにコピーしたURL>
出力結果にErrorが出なければプル完了です。
2.移行先アカウントのCodeCommitに移行元アカウントのリポジトリと同名のリポジトリを作成します。
リポジトリ一覧右上にある「リポジトリを作成」から簡単にリポジトリを作成することができます。
3.移行先のCodeCommitへローカルアクセスするためのセキュリティ設定
1で作成したSSH(もしくは他の接続方法)接続プロファイルを再度移行先アカウントの方でも再度作成するか、IAMユーザーのクロスアカウントアクセス設定を検討してください。今回私はもう一つSSH接続を作成し、コマンド操作する際はプロファイルを切り替えるようにしました。
ローカルにてkeygen及びAWS IAMコンソール上でSSH情報の登録が完了している前提で、SSH接続のプロファイルを切り替える方法は以下の通り。
※Git Bashを利用しています。
cdで.sshフォルダへ移動
lsでフォルダ内のファイルを確認する。
id_rsa, id_rsa.pubが作成したキー情報。configにSSH接続設定情報がある。
cofigファイルを編集したいのでnotepadコマンドを実行。
以下のように<>内に適切な情報を入力する。SSHキーはAWS IAMユーザーの認証情報タブにあるSSH情報から入手できる。また、IdentityFileはSSHキーに紐づくキーファイル名(xx_rsa)を入力する。
4.2で作成したリポジトリのクローンURLを取得し、ローカルの移行元リポジトリを移行先リポジトリにプッシュする。
1.の要領でクリップボードにプッシュ先のリポジトリに関するクローンURLを取得する。ローカルで以下のコマンドを実行してErrorが出なければプッシュ完了。
git push <クリップボードにコピーしたURL>
プッシュ結果例
以上でアカウント間のCodeCommitリポジトリ移行は完了です。
ではまた、会いましょう。