사수 전투

개요

보장왕 20년(661년) 8월에 당은 총력을 다해 고구려 공격에 나섰다. 당군은 대략 17만의 대군을 6개의 부대로 편성하였다. 예전 수의 침공, 그리고 당 태종의 1차 침공 때와 확연한 차이는 주력 침공군은 해상으로 바다를 건너 고구려에 상륙하였다는 점이다. 과거에는 고구려 침공 시, 수양제, 당태종은 수군을 통한 공격도 있었지만 엄연히 주력은 육상을 통한 요하를 건너 요동으로 진공하던 방식이었다. 하지만 이번 당나라의 2차침공은 총 6개의 부대 중 2개의 부대인 소사업의 부여도행군과 정명진의 누방도행군은 육군으로 요하를 건너 요동지역으로 침공하였지만 정작 주력이자 대다수라 할 수 있는 4개의 부대, 계필하력의 요동도행군, 소정방의 평양도행군, 임아상의 패강도행군, 방효태의 옥저도행군은 해상을 통해 바다를 건너 고구려의 압록강 하구, 대동강 하구에 상륙하여 고구려 수도 평양을 직접 침공하려 하였다.
당의 이러한 해상을 통한 대단위 침공작전은 파견된 군사와 부대의 규모 또한 지난번 백제 정벌 시 소정방이 이끄는 13만군의 해상을 통한 침공작전의 규모를 훨씬 상회하는 3배가 넘었다. 또한 국토의 면적 및 동원할 수 있는 군사력 또한 고구려는 백제와 규모 자체가 달랐음으로 우선 고구려의 주력군이 방어진을 치고 있는 요동지역의 고구려 대군을 묶어두기 위한 양동작전으로써 과거 수차례 소규모 침공작전을 성공적으로 수행했던 정명진을 파견하여 요동과 북쪽 부여 방면으로도 2갈래로 침공하였다.
그리고 정작 진짜 주력 대다수의 부대는 해상을 통한 침공으로 4개의 부대가 상륙하였고 그 중 고구려와 수차례 실전경험이 있던 계필하력이 이끄는 요동도행군은 압록강하구에, 그리고 전년 백제 침공을 성공적으로 수행했던 소정방이 이끄는 평양도행군과 다른 패강,옥저 도행군을 합쳐서 고구려의 수도 평양성으로 몰려 들었다.
이 정도의 대단위 상륙작전은 규모 면에서도 과거 한국전쟁 때 더글러스 맥아더가 이끌던 미군의 인천상륙작전을 훨씬 상회하며 2차세계대전 때 연합군의 노르망디 상륙작전에 비견될 정도의 대규모 침공작전이었다. (하지만 1차 고구려-당 전쟁 때와는 달리 요동지역 및 그 외 지역의 구체적인 전투 기록및 일지가 남아 있지 않다) 
가을 8월, 마침내 소정방등의 당나라 대군은 패수, 지금의 대동강 하류에 상륙하였고 격렬히 반격하던 고구려 군사를 격파하고 인근 마읍산을 탈취하였으며 마침내 평양성을 포위하였다.
한편 9월, 고구려에서는 대막라지 연개소문이 그의 아들 연남생에게 고구려 정예부대 정병 수 만명을 이끌고 압록강을 수비하게 하고 있었다. 당나라의 모든 부대가 건너오지 못하였다. 하지만 계필하력의 요동도행군이 압록강에 도착하였을 때는 압록강에 얼음이 얼었다. 계필하력은 군사를 이끌고 얼음 위로 강을 건너 북을 두드리고 함성을 지르며 기습 공격해왔고 이에 방심하던 고구려 군사가 패주하였다. 계필하력이 수십 리를 추격하며 고구려 군사 3만명을 죽였다. 남은 군사는 모두 항복하였고, 연남생은 간신히 자기 몸만 피하여 달아났다. 압록강 하류를 방어하던 고구려 정예부대가 섬멸되어 이제 육로로 평야까지 방어선이 뚫리게 된다. 무엇보다 압록강 유역의 당군의 점령으로 고구려는 주력 대다수 군이 있는 압록강 이북 요동 지역 및 국내성과 압록강 이남의 수도 평양이 단절되는 위기를 맞게 된다. 
연개소문은 당에게 지배받은 철륵에게 군사를 일으키라고 제안하고 철륵은 이것을 수락했다 그래서 본국 당나라에서는 철륵의 반란으로 변란이 발생했고 당의 수도 장안이 위급해지는 긴급상황이 발생한다. 이에 철륵 출신의 계필하력과 그의 정예 요동도행군과 소사업이 이끄는 부여도행군은 철륵 전선에 투입을 위해 긴급히 군사를 철수하라는 조서가 있었으므로 계필하력이 이끄는 주력 요동도행군은 다시 바다를 건너 당으로 돌아가야 했다.

사수 전투

한편 바다로 직접 건너온 방효태가 지휘하는 옥저도행군은 중국 영남지역의 수군으로 구성되어 있었으며 상륙하여 패수, 현재 대동강 상류의 사수 부근에 주둔하였다. 임아상의 패강도행군과 소정방의 평양도행군은 평양성을 포위하고 있였다.
661년 12월, 날씨가 몹시 추워서 패수가 얼어 붙었고 당나라 군대가 높은 망루가 있는 수레인 운차와 성문을 깨뜨리는 충팽을 앞세우고 북과 징을 울리며 공격해왔다. 고구려 병사들은 용감하고 씩씩했으므로, 총반격에 나서서 당군을 크게 물리치고 당군의 두 진지를 빼앗았다. 이제 당은 다만 두 진지만이 남아 있었으므로, 다시 추가로 총공격하여 밤에 빼앗을 계획을 세워놓고 있었다. 
661년의 겨울은 빨리 찾아왔고 무척이나 추웠다. 게다가 갑작스러운 철륵의 반란에 따른 당나라 내부 문제가 발생하여 고구려에 출정했던 상당수의 부대가 이미 급히 당나라로 회군하였다. 따라서 해상으로 대거 침입했던 소정방의 평양도행군, 임아상의 패강도행군, 방효태의 옥저도행군 등의 당의 대부대는 이제 완전 고립상태에 빠진다. 허를 찌르는 해상으로의 고구려 내부 깊숙이 침공한 작전은 좋았지만 갑작스럽게 상황이 바뀌자 이젠 오히려 적국 한가운데 깊숙히 고립되어 사지에 빠진 상태가 되었다.
게다가 압록강 하구를 점령했던 계필하력의 요동도행군의 철수로 육로로의 식량보급도 끊겨 버렸다. 당의 군사들은 무릎을 끌어안고 곡소리를 했다고 기록에 나와 있을 정도로 절망적인 상황에 빠진다. 소정방은 함자도총관 유덕민을 긴급히 신라에 보내어 식량 및 군사 원조를 요청한다. 1년 전 660년 백제 침공 때 순식간의 해안의 백제군을 요격하고 백제의 수도 사비성을 함락했던 때와는 상황이 너무나도 달랐다. 고구려의 수도 평양성은 견고했고 때이른 고구려의 겨울은 추위와 고립으로 당의 대군은 전멸 위기에 놓이게 만들었다. 
662년 2월, 드디어 고구려군은 각지의 부대를 모아 각각 고립된 당의 대군에 총공격을 나선다. 특히 방효태가 이끄는 옥저도행군은 따듯한 중국 남부 영남지역의 부대로 고구려의 추위를 견디기 더더욱 어려웠다. 대막리지 연개소문의 지휘하에 고구려의 대군은 당의 임아상의 패강도행군, 방효태의 옥저도행군을 공격하여 완전히 몰살시켰다. 이 전투에서 패강도행군은 완전히 무너졌고 대총관 임아상은 행방불명되었다. 한편 옥저도행군 대총관 방효태는 그의 부장들이 포위망을 뚫고 유백영이나 조계숙의 다른 진영으로 탈출하기를 권하였으나 방효태는 "유백영 등이 어떻게 나를 구원하겠는가? 또 내가 데리고 온 향리 자제 5천여 명이 이제 모두 죽었는데 어찌 나 한 몸만 살아남길 구하겠는가?" 라며 이를 거부했다. 이어서 연개소문이 이끄는 고구려군이 육박하여 공격하니 죽은 자가 수만 명에 달했고 방효태는 몸에 화살이 고슴도치처럼 집중되어 그 아들 13인이나 그가 이끌던 옥저도행군은 사수에서 몰살당하였다.
사수 전투 이후 평양성을 포위하고 있던 소정방의 군대는 김유신이 이끄는 신라군의 군량 지원을 받고 철수하였다.

역사적 기록의 한계

661년부터 662년까지 벌어진 제2차 고구려-당 전쟁은 645년의 1차 고구려-당 전쟁과는 달리 남아 있는 자료가 거의 없다. 한국 사학자들은 1차 고구려-당 전쟁 때에도 요동성 전투 이후 신성 및 건안성의 전투, 주필산 전투 등의 내용 중 많은 부분이 누락되어 있어 당나라 측이 사서에 자신의 전과가 높은 전쟁 위주로 기록하고 그 외에 크게 패전한 기록은 삭제하거나 크게 축소했을 가능성이 높다고 판단하고 있다.
제2차 고구려-당 전쟁은 요동 방면으로 진출한 부여도행군의 행적이 전혀 알 수 없으며 얼마 되지 않는 기록은 압록수 부근에서의 계필하력의 당군에게 연남생의 고구려 군이 패배한 것, 그리고 사수에서 방효태가 아들 13명과 함께 옥저도행군이 전멸했다는 정도만이 중국측 사서와 한국측 삼국사기, 일본의 일본서기에 남아 있을 뿐이다.
따라서 당시 전투를 지휘한 상세 지휘관 또한 알 수 없고 수 년 뒤에 연개소문이 사망한 점으로 비정하여 2차 고구려 당 전쟁 중에 연개소문이 병석에 있었다라는 가정 또한 정확한 근거가 없다.